2012-03-30 8 views
1

Nach der Standardanweisung für die Verwendung des AES-Algorithmus konnte ich einige Texte nicht korrekt mit AES in C# verschlüsseln/entschlüsseln. Obwohl ich festgestellt habe, dass ich könnte, wenn ich die Daten namens aesIV mit den verschlüsselten Daten getrennt anhängen. Nach meinem Verständnis ist AESIV bereits in den verschlüsselten Daten eingebettet. Also ich denke, es macht keine Sicherheitsprobleme. Bitte lass mich fragen, ob ich das kann oder nicht.Können Sie aesIV an die Daten anfügen, die durch den AES-Verschlüsselungsalgorithmus verschlüsselt wurden?

Vielen Dank im Voraus.

+0

Sie können sich davon inspirieren lassen: http://stackoverflow.com/questions/9533768/bouncycastle-j2me-rsa-using-custom-keys/9534898#9534898 – rosco

+0

http://crypto.stackexchange.com/questions/ 2173/how-to-calculate-an-iv-wenn-ich-habe-einen-Shared-Private-Key – CodesInChaos

Antwort

3

Die gebräuchlichste Option besteht darin, den Zufalls-IV während der Verschlüsselung dem Chiffretext vorzuziehen. Dann entfernen Sie es aus dem Chiffre-Text setzen Sie die IV während der Entschlüsselung. In der gemeinsamen verwalteten Crypto für C# wird die zufällige Eigenschaft automatisch generiert, so dass Sie es einfach abrufen und voranzustellen können.

Siehe AesManaged und das Beispiel (wo die IV separat übertragen wird, aber ansonsten ist es in Ordnung).

Wenn Sie direkt nach dem Vorbereiten der IV entschlüsseln, erhalten Sie blocksize Bytes Müll. Es ist normalerweise nicht der Weg, um fortzufahren, weil es so einfach ist, die IV im Voraus zu entfernen und zu verwenden, als den Abfall zu entfernen.

Wie Sie annehmen, kann die IV in Plain übertragen werden.