Zur Erzeugung eines gültigen paarweisen Hauptschlüssels für ein WPA2-Netzwerk verwendet ein Router den PBKDF2-HMAC-SHA1-Algorithmus. Ich weiß, dass die sha1-Funktion 4096 Mal ausgeführt wird, um den PMK abzuleiten, aber ich habe zwei Fragen zu diesem Prozess.
Entschuldigen Sie den Pseudo-Code.
1) Wie wird die Eingabe für die erste Instanz der SHA1-Funktion formatiert? SHA1("netzwerk_name "+"netzwerk_name_länge "+"netzwerk_passwort")
Ist es in dieser Reihenfolge formatiert, ist es der Hex-Wert des Netzwerknamens, der Länge und des Passworts oder direkt ASCII?
Soweit ich weiß, wird der erhaltene 160-Bit-Digest dann direkt in eine weitere Hash-Runde ohne zusätzliches Salting eingespeist. Etwa so: SHA1("160-Bit-Digest aus der letzten Hashing-Runde") Aufsteigen und wiederholen.
2) Sobald dies geschieht, werden 4096 mal 256 Bits der Ausgabe als paarweiser Hauptschlüssel verwendet. Was ich nicht verstehe: Wenn SHA1 eine Ausgabe von 160 Bit erzeugt, wie kommt der Algorithmus dann auf die 256 Bits, die für einen Schlüssel erforderlich sind?
Vielen Dank für die Hilfe.