![]() |
AES - wie cipher aus kennwort?
Hallo,
ich bin gerade dabei zu Verstädniszwecken eine eigene kleine AES-Implementierung zu schreiben. Vorerst beschränke ich mich auf 128bit Schlüssellänge. Es funktioniert auch alles schon super, ich weiß jedoch jetzt nicht wirklich, wie ich das Passwort des Anwenders (z.B. Baum (nur ein Beispiel, natürlich ziemlich unsicher)) in den cipher-Block umwandle. Gibt es da irgendeine Art "Vorschrift"? Ich weiß nicht ob die Methode mit Wiederholen des Passwortes bis zu 16 Zeichen bzw. abschneiden des Passwortes nach 16 Zeichen so sinnvoll ist (wie im WWW manchmal vorgeschlagen). Wäre eine 128bit langer Hash des Kennwortes gut? Wie wird das denn in den profesionellen Implementierungen gemacht?. mfg, geofranz |
Re: AES - wie cipher aus kennwort?
Guck dir mal Hagens DEC an. Dort findest du sowohl AES als auch z.b. eine SHA-1 Hash Implementierung.
|
Re: AES - wie cipher aus kennwort?
Ein MD5 Hash über das Passwort wäre nicht schlecht.
Jede winzige Änderung am PW führt zu einem ganz anderen Hashwert. Allerdings ist das noch nicht sicher genug, da es Tools gibt, um von einem MD5 Hash einen passenden Plaintext zu errechnen. Deshalb solltest du das Passwort noch modifizieren:
Delphi-Quellcode:
Wie du das Passwort modifizierst ist egal, es muss nur immer gleich sein.
var
pw, hash_pw: string; begin pw := ....; // Passwort im Klartext hash_pw := '**42**'+pw + '##'; // Passwort modifizieren hash := MD5Calc(hash_pw); Das Modifizierungsverfahren hältst du geheim. Aber selbst wenn es bekannt würde, hätte ein Hacker trotzdem grosse Probleme ein gültiges Password zu ermitteln. Es wäre nur durch brute-force zu knacken. |
Re: AES - wie cipher aus kennwort?
Danke euch beiden!
Wenn ich das richtig sehe, werden an das Passwort (wenn es zu wenig Zeichen hat) einfach Nullen angehängt, oder? Gut, dann mache ich das mit einem Hash, da das Progamm nur zu Demonstrations-/Lehrzwecken dient (mit Sourcecode), muss es nicht durch eine zusätzliche geheime Passwortmodulation erweitert werden. Noch so nebenbei: Ist denn dann jede Implementierung (außer in den Grundfesten) anders, d.h. jedes Programm würde mir für die gleiche Datei andere Ausgaben leifern (bei gleichem Kennwort) oder gibt es einen Standard? |
Re: AES - wie cipher aus kennwort?
Ehm ehm ehm .. nein erstmal MD5 ist nicht zu empfehlen. SHA eignet sich da besser (weniger Kollisionen = sicherer). Es werden keine 0en an ein zu kurzes Kennwort angehangen. Der Hash hat eine konstante länge. Das Problem löst sich damit also von selbst :P
|
Re: AES - wie cipher aus kennwort?
@Zacherl: Mit dem Hash ist das ja klar, aber ich glaube das in der DEC irgendwo gesehen zu haben. Naja egal, egal wahrscheinlich habe ich mich irgendwie vertan.
Danke! mfg, geofranz |
Re: AES - wie cipher aus kennwort?
Zitat:
Völlig falsch ist aber die Aussage Zitat:
Sichere Schlüssel sollten aus Passphrasen und "Salz" berechnet werden (z.B. gemäß Standard PKCS#5) Gruß Gammatester |
Re: AES - wie cipher aus kennwort?
Zitat:
|
Re: AES - wie cipher aus kennwort?
Zitat:
Neugierige Grüsse Thorsten |
Re: AES - wie cipher aus kennwort?
Zitat:
Zitat:
Du hängst an das Passwort hinten noch ein paar zufällige Bits dran, dann jagst du's durch die Hash-Funktion. Dieses sog. Salt speicherst du dann vor dem verschlüsselten Text. So kannst du Angriffe durch eben diese obengenannten Rainbow-Tabellen entgehen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:18 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz