Mit dem Aufkommen der Computertechnologie ist es produktiver geworden, Informationen in Datenbanken anstatt auf Papier zu speichern. Webanwendungen, fĂŒr die eine Benutzerauthentifizierung erforderlich ist, ĂŒberprĂŒfen normalerweise Anmeldekennwörter mit echten Kennwörtern, die normalerweise in privaten Unternehmensdatenbanken gespeichert sind. Wenn Eindringlinge Zugriff auf die oben genannte Datenbank erhalten, gehen personenbezogene Daten der Benutzer verloren. Derzeit verwenden Datenbanken Hash-Algorithmen, um gespeicherte Kennwörter zu schĂŒtzen. Sicherheitsbedenken sind jedoch weiterhin relevant. Jedes Jahr veröffentlichen Hacker eine groĂe Liste gehackter Passwörter aus bekannten sozialen Netzwerken oder Datenspeichern. Diese Angriffe waren aufgrund der Verwendung eines schwachen Hashing-Algorithmus erfolgreich.
Kryptografische Hash-Funktionen, die oft einfach als Hashes bezeichnet werden, sind ein unverzichtbares und allgegenwĂ€rtiges Werkzeug, mit dem eine Vielzahl von Aufgaben ausgefĂŒhrt werden können, darunter Authentifizierung, ĂberprĂŒfung der DatenintegritĂ€t, Dateischutz und sogar Malware-Erkennung. Es ist ein mathematischer Algorithmus, der ein beliebiges Datenarray in eine Zeichenfolge mit fester LĂ€nge aus Buchstaben und Zahlen konvertiert. Vorausgesetzt, dass derselbe Hash-Typ verwendet wird, bleibt diese LĂ€nge unabhĂ€ngig von der Menge der Eingabedaten unverĂ€ndert [2]. Es gibt viele Hashing-Algorithmen, die sich in kryptografischer StĂ€rke, KomplexitĂ€t, Bitbreite und anderen Eigenschaften unterscheiden. Es wird angenommen, dass die Idee des Hashings einem IBM-Mitarbeiter gehört, vor etwa 50 Jahren aufgetaucht ist und sich seitdem nicht grundlegend geĂ€ndert hat.Heutzutage hat Hashing viele neue Eigenschaften erworben und wird in vielen Bereichen der Informationstechnologie eingesetzt.
Der MD5-Nachrichten-Hashing-Algorithmus ist die fĂŒnfte Version des Nachrichten-Hashing-Algorithmus, der 1991 von Ron Rivest entwickelt wurde, um eine 128-Bit-Ausgangsnachricht zu erzeugen. Diese Version [5] wurde im Vergleich zum vorherigen MD4-Algorithmus hinsichtlich der ZuverlĂ€ssigkeit als verbessert vorgestellt.
Das Konvertieren einer Nachricht beliebiger LĂ€nge in einen Hashwert umfasst fĂŒnf Schritte des Algorithmus, von denen jeder seine eigene spezifische Aufgabe hat. Schauen wir uns die Schritte des Algorithmus genauer an:
Schritt 1: Richten Sie den Durchfluss aus
Es ist notwendig, der ursprĂŒnglichen Nachricht zusĂ€tzliche Bits hinzuzufĂŒgen, so dass die LĂ€nge der ursprĂŒnglichen Nachricht mit den zusĂ€tzlichen Bits gleich 448 modulo 512 ist. Die Addition wird durchgefĂŒhrt, selbst wenn die LĂ€nge der ursprĂŒnglichen Nachricht bereits mit 448 vergleichbar ist. In den FĂŒllbits ist nur das erste Bit 1 und der Rest der Bits ist 0.
2.
64- ( ) . , 512 . 512 .
3: MD-
(A, B, C, D) . A, B, C, D 32 - ,
Word A |
01 |
23 |
45 |
67 |
Word B |
89 |
AB |
CD |
EF |
Word C |
FE |
DC |
BA |
98 |
Word D |
76 |
54 |
32 |
10 |
4:
MD5 , 32- 32- [1].
OR, XOR, AND, NOT. ( ) , . , .
5.
A, B, C, D MD5, .
MD5 . - , . MD5 , - .
MD5 , «» MD5:
1)
â - , . , , . , . .
â , , , ( ) [7].
. , , . , , â . ( ), . - .
PasswordsPro, MD5BFCPF, John the Ripper.
2)
- , , , . - , -, [4].
- H n P. - : , h p P, H(p)=h, , . â H(p) p P, , -.
â . â R, P. , R -. - [11]:
1) - ;
2) .
, , .
H R, .
h, ( ), R(âŠR(H(R(h)))âŠ). - - - , . h, .
-. , : H, R1, H, R2, âŠ, H, Rk.
. , k .
-, . â . , 100% . , , , -, .
MD5
- ( ) . -, «» .
MD5 2004 . 2004 MD5- .
[10] , 512- , -. MD5 1 . , ( ):
, , . , MD5 .
,
. , , , .
N L â . H . [9]
, , , . , , 2 , « » . , . , . : , .
ââ
, . , , , , . - , , ( ), [8]. , , , . , 48 . :
1) : , , . .
2) () : , . , . . , , , , .
3) . , , username, . , . , , , ârootâ âadminâ.
, â , . , - : -, , - -, , . , , MD5 . IETF (Internet Engineering Task Force) MD5 , .
MD5 , .
:
1. MD5 // wikipedia.org. ( : 20.11.2020).
2. A.. , .. , .. , .. . . 2- , . -2006.
3. - // wikipedia.org. ( : 5.12.2020).
4. // wikipedia.org ( : 2.12.2020).
5. Rivest, R. (1992, April). The MD5 Message Digest Algorithm. Request for Comments (RFC) 1321. Retrieved from https://www.rfceditor.org/rfc/rfc1321.txt
6. Kioon M. C, Wang Z. S, Shubra D.D Security Analysis of MD5 Algorithm in Password Storage // Scientific.Net. 2013. . 2706-2711.
7. Nechaev V.I. Elemente der Kryptographie (Grundlagen der Informationssicherheitstheorie): Lehrbuch. Ein Handbuch fĂŒr hohe Pelzstiefel und Ped. UniversitĂ€ten. / Ed. V.A. Sadovnichy - M.: Höher. shk., 1999.
8. John Black, Martin Cochran und Trevor Highland Fast Software Encryption. FSE ed. 2006. S. 262-277.
9. Informationsentropie // ru.wikipedia.org/ (Zugriffsdatum: 12.11.2020).
10. Unterbrechen von MD5 und anderen Hash-Funktionen // (Zugriffsdatum: 17.10.2020).
11. Datenstrukturen / Hash-Ketten // medium.com (Zugriffsdatum: 10.12.2020).