Funktionsweise von mcrypt_generic bei rijndael-256 und cbc

Funktionsweise von mcrypt_generic bei rijndael-256 und cbc

am 20.09.2006 10:06:57 von Sharky

Hallo,

ich versuche ein zur php Rijndael/AES Verschlüsselung kompatibles
Programm in Windows zu schreiben, welches von PHP verschlüsselten Text
wieder entschlüsseln soll.

Zunächst verwende ich keinen Initialisierungsvektor (bzw ein String
aus ascii-null) und verschlüssele einen Text (siehe unten).

Das Ergebnis stimmt aber nicht mit dem Verschlüsselten Text in meinem
Windows Programm überein. Dort wird im ersten Block in den ersten 4
Bytes die Länge des gesamten zu verschlüsselten Texts gespeichert, um
nacher die Füllzeichen im letzten Block wieder richtig entfernen zu
können.
Wie macht dies mcrypt_generic? Mit welchen Zeichen wird der Block
hinten aufgefüllt und wo wird die Nachrichtenlänge gespeichert?

Grüße und Dank,
Jens

$key = 'Key';
$string = 'Plain text';

$td = mcrypt_module_open('rijndael-256', '', 'cbc', '');
$iv_size = mcrypt_enc_get_iv_size($td);
$iv = str_repeat(chr(0), $iv_size);
if (mcrypt_generic_init($td, $key, $iv) != -1) {
$c_t = mcrypt_generic($td, $string);
mcrypt_generic_deinit($td);
mcrypt_module_close($td);
}

Re: Funktionsweise von mcrypt_generic bei rijndael-256 und cbc

am 21.09.2006 09:34:46 von Sharky

Da leider keine Antwort kam möchte ich fragen, ob es einen in PHP
ausprogrammierten AES/Rinndael Algorithmus gibt, der nicht auf mcrypt
zurückgreift?

Herzlichen Dank,
Jens