[FRAGE] PHP: größere key-length bei mcrypt

J

j-l-n

Guest
Wenn ich bei der AES-256-Verschlüsselungsmethode ein Passwort verwende, das länger als 24 Zeichen ist, erhalte ich folgende Meldung:
mcrypt_encrypt(): Size of key is too large for this algorithm

Gibt es denn keine Möglichkeit, in PHP mit einem viel längeren Key zu verschlüsseln? 24 Zeichen Maximallänge ist doch wohl ein Witz...
 
Für AES gibt es nur feste Schlüssellängen (http://de.wikipedia.org/wiki/Advanced_Encryption_Standard#Arbeitsweise). Dieser Schlüssel darf aber natürlich nicht nur aus druchbaren Zeichen bestechen, da man sonst die Entropie stark entschränkt.
Ich weiß ja jetzt nicht genau, was du unter "Passwort" verstehst, aber normalerweise verwendet man zwischen Passwort und Verschlüsselungsschlüssel einen Schlüsselableitungsalgorithmus (key derivation algorithm). Damit kann man dann verschiedene Passwortlängen abdecken.
Man sollte bei Rijndael eigentlich auch 256-bit Schlüssel verwenden können...

Auch sind 192-bit Schlüssel nicht wirklich zu kurz (noch nicht: http://en.wikipedia.org/wiki/Key_size).

PS: AES-256 gibt es so eigentlich auch gar nicht, da der Standard eine Blocklänge von 128-bit vorschreibt...
 
Und gibt es einen anderen Algorithmus, bei dem man längere Passwörter als 24 Zeichen lange verwenden kann?
 
RC4 ist leider nur in mcrypt 2.2 vorhanden, nicht mehr in 2.4 oder höher :(

Ach ja, eine Frage noch, die mir gekommen ist: ist es sicherer, wenn ich das eingegebene Passwort zuerst hashe?
 
Zuletzt bearbeitet:
Sicherer wird es dadurch auch nicht. Ein fünf Zeichen Passwort bekommt durch das hashen auch nicht mehr Entropie. Aber das wäre ein Weg, der Keyderivation... aber, wie gesagt, ich bin kein Kryptoexperte - es kann also sein, dass du dadurch ein Hintertürchen aufmachst. Du musst dich da einfach in das Thema einlesen...
 
Werd ich tun, finde ich persönlich auch ziemlich interessant. Danke trotzdem für die Tipps bisher!
 
Zurück
Oben