Für mich klang die Stelle bei 43:29 so, als wären die Werte für r und c völlig aus der Luft gegriffen. Dabei ist doch c einfach die doppelte Outputlänge (und r dementsprechend 1600 - c). Oder übersehe ich da was?
Danke, Herr Paar, für diese ausgezeichnete Vorlesung. Ich hätte da mal eine praktische Frage. Welche KDF würden Sie nach dem heutigen Stand der Technik empfehlen? PBKDF2? Bcrypt/Scrypt? Argon2? Sonstige? Ich bin gespannt auf Ihre Einschätzung. Vielen Dank
Gute Frage. Bei den von Ihnen genannten Verfahren handelt es sich um Schlüsselableitungsfunktionen von *Passwörtern*. Hierbei ist eine zentrale Anforderung, dass die Funktion (ironischer Weise) langsam ist, damit das Eraten von Passwörtern seitens des Angreifers verlangsamt wird. Oft werden zwischen 1000 - 10.000 Iterationen gefordert, um einen Schlüssel aus einem PW abzuleiten. Eine "Iteration" ist dabei typischer Weise die Berechnung einer Hashfunktion wie SHA-2. By Bcrypt ist die Anzahl dieser Iterationen sogar wählbar AFAIK. Ich meine Scrypt wäre die modernste und stärkste der genannten Verfahren, da es so ausgelegt ist, dass auch Beschleunigungen mit Spezialhardware aufwendigt sind. bg
Danke für die wirklich gut verständlichen Vorlesungen! Eine Stelle ist mir unklar: Bei Minute 31:13 wird die zu verarbeitende Eingangsgröße x mit einem Teil (r) von b XOR verknüpft. Auch später spielt b noch eine große Rolle. Meine Frage: Wie ist b am Anfang belegt? Bei Minute 29:26 wird b "Eingangsblock" genannt, aber die Eingabedaten sind doch x, oder nicht? Über Aufklärung würde ich mich sehr freuen! Vielen herzlichen Dank schon mal!
Zunächst einmal vielen Dank für diese tolle Vorlesung! Eine Anmerkung hätte ich jedoch: Wenn Sie ab 1:10:00 den Schritt "Rho" der F-Funktion erklären, greifen Sie ja auf die "Offsets of Rho"-Tabelle aus dem FIPS.202 des NIST zurück. Diese basiert auf der zuvor in dem Dokument definierten "Labeling Convention for the State Array" (3.1.4). Daher ist zum Beispiel x0y0 nicht der Wert um den die linke untere Lane rotiert wird, sondern der Wert für die Lane in der Mitte des States (also x2y2 bei einem "normalen" Array). Keine Ahnung, warum die Keccak-Entwickler diese Labeling Convention aufgestellt haben, es macht das Ganze in meinen Augen nur unnötig kompliziert.
sehr guter Punkt. Ärgerlicher Weise wurde diese Koordinatenkonvention während des Standardisierungsprozess geändert -- in den ursprünglichen Dokumenten (die für die Vorlesung genutzt wurden) wurde das "natürliche" Koordinatensystem mit "0,0" links unten genutzt, in dem späteren offiziellen Standard wurde es auf das zentrierte Koordinatensystem geändert.
Wunderbare Vorlesung!
Bei dir hätte ich länger studiert 😁
danke!!!!!
wunderbar erklärt... auch für normale leute wie mich :P
grüße
Für mich klang die Stelle bei 43:29 so, als wären die Werte für r und c völlig aus der Luft gegriffen. Dabei ist doch c einfach die doppelte Outputlänge (und r dementsprechend 1600 - c). Oder übersehe ich da was?
Die Längen von r und c der SHA3-Varianten kann man sich gar nicht so schlecht merken. c ist doppelt so lang wie der output und r ist dann 1600-c.
Danke, Herr Paar, für diese ausgezeichnete Vorlesung.
Ich hätte da mal eine praktische Frage.
Welche KDF würden Sie nach dem heutigen Stand der Technik empfehlen?
PBKDF2? Bcrypt/Scrypt? Argon2? Sonstige?
Ich bin gespannt auf Ihre Einschätzung.
Vielen Dank
Gute Frage. Bei den von Ihnen genannten Verfahren handelt es sich um Schlüsselableitungsfunktionen von *Passwörtern*. Hierbei ist eine zentrale Anforderung, dass die Funktion (ironischer Weise) langsam ist, damit das Eraten von Passwörtern seitens des Angreifers verlangsamt wird. Oft werden zwischen 1000 - 10.000 Iterationen gefordert, um einen Schlüssel aus einem PW abzuleiten. Eine "Iteration" ist dabei typischer Weise die Berechnung einer Hashfunktion wie SHA-2. By Bcrypt ist die Anzahl dieser Iterationen sogar wählbar AFAIK.
Ich meine Scrypt wäre die modernste und stärkste der genannten Verfahren, da es so ausgelegt ist, dass auch Beschleunigungen mit Spezialhardware aufwendigt sind.
bg
@@einfuhrungindiekryptograph621 Danke für die Antwort 🙂
Danke für die wirklich gut verständlichen Vorlesungen!
Eine Stelle ist mir unklar: Bei Minute 31:13 wird die zu verarbeitende Eingangsgröße x mit einem Teil (r) von b XOR verknüpft.
Auch später spielt b noch eine große Rolle. Meine Frage: Wie ist b am Anfang belegt? Bei Minute 29:26 wird b "Eingangsblock" genannt, aber die Eingabedaten sind doch x, oder nicht?
Über Aufklärung würde ich mich sehr freuen! Vielen herzlichen Dank schon mal!
Zunächst einmal vielen Dank für diese tolle Vorlesung! Eine Anmerkung hätte ich jedoch: Wenn Sie ab 1:10:00 den Schritt "Rho" der F-Funktion erklären, greifen Sie ja auf die "Offsets of Rho"-Tabelle aus dem FIPS.202 des NIST zurück. Diese basiert auf der zuvor in dem Dokument definierten "Labeling Convention for the State Array" (3.1.4). Daher ist zum Beispiel x0y0 nicht der Wert um den die linke untere Lane rotiert wird, sondern der Wert für die Lane in der Mitte des States (also x2y2 bei einem "normalen" Array). Keine Ahnung, warum die Keccak-Entwickler diese Labeling Convention aufgestellt haben, es macht das Ganze in meinen Augen nur unnötig kompliziert.
sehr guter Punkt. Ärgerlicher Weise wurde diese Koordinatenkonvention während des Standardisierungsprozess geändert -- in den ursprünglichen Dokumenten (die für die Vorlesung genutzt wurden) wurde das "natürliche" Koordinatensystem mit "0,0" links unten genutzt, in dem späteren offiziellen Standard wurde es auf das zentrierte Koordinatensystem geändert.
10:30 "Hausaufgabe: 'Hunger Games' gucken" :-D
Haben sie der lecture in English ?
Yes, SHA-3 / Keccak is explained in my English-language lecture series too: czcams.com/video/JWskjzgiIa4/video.html
Good luck, christof
F-Funktion 46:35