Deux algorithmes sont présentés sur le Web.Algorithmes de vol de texte chiffré - Lequel est correct?
Dans les deux algorithmes, la première partie est la même ...
1. Pad the last partial plaintext block
with 0.
2. Encrypt the whole padded plaintext
using the standard CBC mode.
3. Swap the last two ciphertext blocks.
4. Truncate the ciphertext to the length of the original plaintext
Cependant pour le décryptage, il y a deux méthodes ... Je ne sais pas vraiment que l'on est correct Celui-ci a été prise de here
1. If the ciphertext length is not a multiple of the block size, say it is n bits short, then pad it with the last n bits of the block cipher decryption of the last full ciphertext block.
2. Swap the last two ciphertext blocks.
3. Decrypt the ciphertext using the Cipher Block Chaining mode.
4. Truncate the plaintext to the length of the original ciphertext.
Est-ce la procédure de décryptage correcte? Est-ce que cela inverse ce qui s'est passé dans la première partie de chiffrement?
Je suis confus que le Wikipedia Article a la même procédure de cryptage, mais le decryption is different
Est-ce qu'un expert cryptographique faire la lumière sur moi? Merci beaucoup d'avance :)
Merci deinst. Mais Wikipedia dit de décrypter en utilisant des zéros comme IV. Mais l'autre article ne semble pas mentionner l'utilisation de 0 comme IV. Est-ce que je manque quelque chose d'important ici? –
Vous remarquerez que le décryptage CBC avec un vecteur initial de 0 est identique au décryptage par chiffrement par bloc. Notez le paragraphe précédent sur wikipedia, en particulier: "Pour le vol de texte CBC, il existe une méthode astucieuse (mais opaque) pour implémenter le processus de vol de texte chiffré décrit en utilisant une interface CBC standard." La section précédente comporte une procédure en 7 étapes, plus en accord avec l'autre description. – deinst