2016-11-11 2 views
0

Dans mon message, j'ai un en-tête contenant un identifiant de message unique et un horodatage (ainsi que d'autres données) et une charge utile. Je signe un message entier en utilisant HMAC avec la première clé et MD5 ou SHA-256 comme algorythme de hachage. Ensuite, j'utilise les 16 premiers octets de signature comme IV pour chiffrer la charge utile avec CBC AES avec la deuxième clé. Je joins la signature au message.Ma méthode de génération de vecteur d'initialisation pour le chaînage de blocs de chiffrement est-elle sécurisée?

Mon IV est-il assez imprévisible? Est-ce que signer une simple charge utile rend ma sécurité vulnérable?

+0

Je vote pour clore cette question hors-sujet car c'est une cryptographie plutôt qu'une question de programmation. –

+0

@JamesKPolk Je suis en désaccord, la question est sur la mise en œuvre, la création de la IV et la signature. – zaph

+0

Envisager d'accepter les réponses qui sont utiles. En acceptant une réponse, vous indiquez aux futurs lecteurs que c'est une réponse correcte. Pour accepter une réponse, cliquez sur la coche en creux à côté de la réponse qui est la meilleure, cela augmentera votre réputation et permettra plus de fonctionnalités, voir [réputation faq] (http://stackoverflow.com/faq#reputation) Voir [ cette page] (http://meta.stackoverflow.com/questions/5234/how-does-accepting-an-answer-work) pour plus de détails. – zaph

Répondre

2

Il suffit de créer l'IV avec une fonction de cryptographie aléatoire (CPRNG), de l'utiliser et de l'attacher aux données cryptées à utiliser pour le déchiffrement. La signature n'est pas claire, le message entier à l'exception de la valeur MAC doit être signé, c'est-à-dire tout préamble, IV, message d'amorçage MAC et message crypté, cryptage IOW puis MAC.