Bonjour à tous,
Je suis en train de développer un petit protocol basé sur TCP. Je me posais des questions sur la meilleure façon d'authentifier et de crypter un message. Posons les choses suivantes :
M : Message en claire
C : Message crypté et authentifié
MAC : Authentification avec un HMAC avec SHA-256
ENC : Encryption avec AES-256 (clé partagée)
| : caractère de concaténation
K1 : Clé pour ENC
K2 : Clé pour MAC
Ma question est la suivante : Quelle est la meilleure façon parmis ces méthodes :
C = ENC(M)|MAC(M) ---------------> (appelé MAC-and-Encrypt)
C = ENC(M|MAC(M)) ---------------> (appelé MAC-then-Encrypt)
C = ENC(M)|MAC(ENC(M)) ---------------> (appelé Encrypt-then-MAC)
Merci d'avance :-)
Je suis en train de développer un petit protocol basé sur TCP. Je me posais des questions sur la meilleure façon d'authentifier et de crypter un message. Posons les choses suivantes :
M : Message en claire
C : Message crypté et authentifié
MAC : Authentification avec un HMAC avec SHA-256
ENC : Encryption avec AES-256 (clé partagée)
| : caractère de concaténation
K1 : Clé pour ENC
K2 : Clé pour MAC
Ma question est la suivante : Quelle est la meilleure façon parmis ces méthodes :
C = ENC(M)|MAC(M) ---------------> (appelé MAC-and-Encrypt)
C = ENC(M|MAC(M)) ---------------> (appelé MAC-then-Encrypt)
C = ENC(M)|MAC(ENC(M)) ---------------> (appelé Encrypt-then-MAC)
Merci d'avance :-)
Commentaire