Forum: Object-Pascal / Delphi-Language
Delphi
by gammatester,
18. Jan 2011
Für den Initialsierungsvektor nimmst bei jedem Verschlüsseln ein Zufalls-16-Bytearray, und rufst AES.Init(key128,16,IV,16), danach AES.Encode(plain,ct,sizeof(plain)) auf. Dann schreibst Du den selbstverständlich unverschlüsselten IV und den Ciphertext ct in Deine INI (HEX oder Base64-kodiert, halt wie Du's jetzt auch schon kodierst).
Beim Entschlüsseln liest Du die kodierten IV, CT;...
Forum: Object-Pascal / Delphi-Language
Delphi
by gammatester,
18. Jan 2011
Man kann auch an der verschlüsselten Datei rumspielen.
Warum stört Dich das? Was Du eigentlich willst, ist doch nicht unbedingt Verschlüsselung sondern Authentizität. Die erhältst Du (auf dem Level mit "Passwort in EXE"), indem Du das Passwort z.B. für ein HMAC verwendest. Oder, wenn Du beides haben willst, nimm doch einfach den EAX-Modus.
Forum: Object-Pascal / Delphi-Language
Delphi
by gammatester,
18. Jan 2011
Was spricht denn gegen 128-Bit-AES/CBC, wobei Du für jeden Eintrag, den Du verschlüsselst, einen Zufalls-IV nimmst und diesen mit abspeicherst?
Liest Du die von Die verlinkten Seite eigentlich? Im ersten Absatz steht es dick und fett da.
@himitsu: Das löst doch das Problem hier überhaupt nicht und kann es auch gar nicht: Der Schüsselstrom ist doch immer der gleiche, auch ein "OTP" ist in...
Forum: Object-Pascal / Delphi-Language
Delphi
by gammatester,
17. Jan 2011
Du weißt aber schon, daß Stromchiffren mit konstantem Passwort ohne Initialisierungsvektor brutal unsicher sind? Und Du weißt, daß das DCPCrypt-RC4 buggy ist?
Wenn Du kein Salz oder IV hast, solltest Du auf keinen Fall eine Stromchiffre verwenden oder eine Blockcipher in den Modi CTR, OFB, ECB.