MCRYPT_RIJNDAEL_256
is geen AES-256. Het is het Rijndael-cijfer met een blokgrootte van 256 (vandaar de fout). AES is een subset van het Rijndael-cijfer met een blokgrootte van 128 bits en sleutel groottes van 128, 192 en 256 bits. Dit komt ook tot uiting in de infuusmaat.
Om een AES-256 gecodeerde cijfertekst te maken, kunt u MCRYPT_RIJNDAEL_128
gebruiken met de juiste sleutelgrootte (256 bits is 32 bytes). De _128
postfix geeft de te gebruiken blokgrootte aan; je kunt het nog steeds gebruiken met elke geldige sleutelgrootte van 128, 192 of 256 bit.
Pas op dat mcrypt - vooral de onderliggende C-bibliotheek - niet meer wordt onderhouden. Je kunt beter de openssl of latere cryptobibliotheken gebruiken.
De mcrypt- en OpenSSL-wrappers staan ook graag ongeldige sleutelgroottes toe, maar waarschuwen u alleen - als u geluk heeft. Dat is natuurlijk niet compatibel met ongeveer een goed gedefinieerde AES-bibliotheek.