Aller au contenu principal

Annexe A. Valeurs intermédiaires pour le chiffrement

Annexe A. Valeurs intermédiaires pour le chiffrement

Les valeurs intermédiaires calculées pour l'exemple de la section 5 sont indiquées ici. Les espaces dans les valeurs base64url ci-dessous peuvent être supprimés.

Entrées du calcul :

Texte clair (Plaintext) : V2hlbiBJIGdyb3cgdXAsIEkgd2FudCB0byBiZSBhIHdhdGVybWVsb24

Clé publique du serveur d'application (as_public) :

BP4z9KsN6nGRTbVYI_c7VJSPQTBtkgcy27mlmlMoZIIg
Dll6e3vCYLocInmYWAmS6TlzAC8wEqKK6PBru3jl7A8

Clé privée du serveur d'application (as_private) : yfWPiYE-n46HLnH0KqZOF1fJJU3MYrct3AELtAQ-oRw

Clé publique de l'agent utilisateur (ua_public) :

BCVxsr7N_eNgVRqvHtD0zTZsEc6-VV-
JvLexhqUzORcx aOzi6-AYWXvTBHm4bjyPjs7Vd8pZGH6SRpkNtoIAiw4

Clé privée de l'agent utilisateur (ua_private) : q1dXpw3UpT5VOmu_cf_v6ih07Aems3njxI-JWgLcM94

Sel (Salt) : DGv6ra1nlYgDCS1FRnbzlw

Secret d'authentification (auth_secret) : BTBZMqHH6r4Tts7J_aSIgg

Il suffit de connaître l'une des clés privées. Le serveur d'application génère le sel aléatoirement, tandis que le sel est une entrée pour le récepteur.

Valeurs intermédiaires obtenues :

Secret ECDH partagé (ecdh_secret) : kyrL1jIIOHEzg3sM2ZWRHDRB62YACZhhSlknJ672kSs

Clé pseudo-aléatoire (PRK) pour la combinaison des clés (PRK_key) : Snr3JMxaHVDXHWJn5wdC52WjpCtd2EIEGBykDcZW32k

Info pour la combinaison des clés (key_info) :

V2ViUHVzaDogaW5mbwAEJXGyvs3942BVG
q8e0PTNNmwR zr5VX4m8t7GGpTM5FzFo7OLr4BhZe9MEebhuPI-OztV3
ylkYfpJGmQ22ggCLDgT-M_SrDepxkU21WCP3O1SUj0Ew
bZIHMtu5pZpTKGSCIA5Zent7wmC6HCJ5mFgJkuk5cwAv MBKiiujwa7t45ewP

Matériau de clé d'entrée pour la dérivation de la clé de chiffrement de contenu (IKM) : S4lYMb_L0FxCeq0WhDx813KgSYqU26kOyzWUdsXYyrg

PRK pour le chiffrement de contenu (PRK) : 09_eUZGrsvxChDCGRCdkLiDXrReGOEVeSCdCcPBSJSc

Info pour la dérivation de la clé de contenu (cek_info) : Q29udGVudC1FbmNvZGluZzogYWVzMTI4Z2NtAA

Clé de chiffrement de contenu (CEK) : oIhVW04MRdy2XN9CiKLxTg

Info pour la dérivation du nonce (nonce_info) : Q29udGVudC1FbmNvZGluZzogbm9uY2UA

Nonce (NONCE) : 4h_95klXJ5E_qnoN

Le sel, une taille d'enregistrement de 4096 et la clé publique du serveur d'application produisent un en-tête de 86 octets :

DGv6ra1nlYgDCS1FRnbzlwAAEABBBP4z 9KsN6nGRTbVYI_c7VJSPQTBtkgcy27ml
mlMoZIIgDll6e3vCYLocInmYWAmS6Tlz AC8wEqKK6PBru3jl7A8

L'octet délimiteur de remplissage (0x02) est ajouté au texte clair du message push :

V2hlbiBJIGdyb3cgdXAsIEkgd2FudCB0 byBiZSBhIHdhdGVybWVsb24C

Le texte clair est ensuite chiffré avec AES-GCM, ce qui produit le texte chiffré :

8pfeW0KbunFT06SuDKoJH9Ql87S1QUrd irN6GcG7sFz1y1sqLgVi1VhjVkHsUoEs
bI_0LpXMuGvnzQ

La concaténation de l'en-tête et du texte chiffré donne le résultat de la section 5.