2010-08-04 5 views
1

J'écris un petit programme pour crypter/décrypter des fichiers en utilisant AES. J'utilise la bibliothèque Cryptopp.Crypter/Déchiffrer avec AES

J'ai besoin d'aide pour comprendre certaines choses.

Lorsque je crypte un fichier, je dois écrire IV au début du fichier pour le déchiffrer plus tard?

Je ne voulais pas vérifier le mot de passe étant donné que le fichier décrypté était correct. Dois-je:

  • mettre une chaîne au début du fichier (ex TRUE) avant de le crypter. Après le décryptage, vérifiez-le.

  • Vérifiez MD5 du fichier avant le cryptage. Mettez-le au début du fichier crypté. Lire MD5 avant le déchiffrement, déchiffrer le fichier, vérifier MD5 du fichier décrypté et les comparer. L'écriture de l'intraveineuse au début du fichier est correcte.

Répondre

1

L'ajout à la fin est une autre option.

Ne mettez pas une chaîne statique dans le texte brut: ENIGMA transcriptions ont été plus facilement cassés pour des raisons très similaires, et le fait zip format des mots de passe force brute very easy pour cette erreur identique.

L'approche de md5 semble tolérable; mais hmac-sha256 fournirait des revendications d'intégrité significativement plus fortes. (Je pense que vous pourriez même réutiliser la clé AES ou l'IV pour hmac-sha256, mais je ne suis pas sûr de sa sécurité.)