DEC benutzt alle drei Schlüssellängen
Abhängig von der Länge des Passwortes benutzt AES Rijndael 128/192 oder 256 Bits. Also im häufigsten Falle, also ohne Passwortpreprozessing, 128 Bit.
Die Sache ist ganz einfach: ein Passwort das nur 64 Bit effektiv lang ist wird mit AES a 256 Bit nicht sicherer. D.h. es macht keinen Sinn bei so einem Key mit mehr als AES 128 Bit zu arbeiten. Wenn das Passwort aber 192 Bit groß ist so sollte man klarerweise mit AES 192 arbeiten. Mit AES 128Bit würde man wertvolle Bits = Sicherheit des Passwortes "wegwerfen", mit AES 256Bit würde man aber kein bischen mehr an Sicherheit erlangen als mit AES 192 Bit. AES 256 wäre nur langsammer ;(
Ergo: DECs AES ermittelt über die Passwortlänge wie er intern arbeitet. Er rundet dabei immer auf, dh. Passwort mit 238 Bits würde AES 256 benutzen.
Beeinflussen kannst du dies indem du mit einer KDF einen Sesionkey mit definierter Länge erzeugst
Delphi-Quellcode:
SessionKey := THash_SHA1.KDFx(Salt, Password, Cipher.Context.KeySize, TFormat_COPY);
Dies würde dann aus dem zu kurzen Password, im Falle von AES, einen Sessionkey mit 256Bits erzeugen. Wenn das Passwort aber nur 32Bits groß ist macht es dies nur marginal sicherer.
Die Frage nach der benutzten Schlüsellänge im AES ist also am Ziel vorbei gestellt und eigentlich wenig sinnvoll. Die Gegenfrage sollte lauten: "Mit welchen Passwortlängen füttern Sie AES denn ?". Denn um AES 128Bit auszulasten müsste man ein Paswort der Länge 128 * 3.6 = 460 Bits / 8 = 58
ASCII Zeichen benutzen. Das benutzt heutzutage kein Mensch. Anders ausgedrückt: Diese Frage wurde gestellt weil sich der Anwender von den unprofessionellen Aussagen = Werbeversprechnungen Anderer in die Irre leiten lassen hat. Man sagt immer "unser AES arbeitet mit 256 Bits", schön, aber dann muß man auch Passwörter mit 115 Zeichen benutzen um die geforderte Sicherheit zu erlangen. Deshalb macht
DEC dies eben abhängig vom Passwort und dann auch noch "overestimated", weil der Faktor 3.6 der Redundanz eines englischen/deutschen Passwortes garnicht berücksichtigt wird. Minimal eben 128 Bit und maximal 256 Bits.
Gruß Hagen