MD5-Implementierung für Mikrocontroller


Antworten:


11

Wenn Sie nach einer C-Implementierung suchen, enthält der Microchip TCP / IP-Stack eine Implementierung von MD5 in der Datei Hashes.c.


Genau das brauchte ich.
J. Polfer


4

Ich würde mich an eine bekannte seriöse Implementierung von MD5 halten und mich von Bibliotheken fernhalten, die Sie von Drittanbietern finden. Der ursprüngliche RFC 1321, der MD5 beschrieb, hat eine Beispiel-C-Implementierung.

Erinnerung: Die bekannten Schwachstellen für MD5 sind Kollisionsangriffe und keine Preimage-Angriffe. Daher ist es für einige kryptografische Anwendungen geeignet, für andere jedoch nicht. Wenn Sie den Unterschied nicht kennen, sollten Sie ihn nicht verwenden, aber nicht ganz wegwerfen. Siehe http://www.vpnc.org/hash.html .


1
Für die Kryptographie würde ich mich von MD5 fernhalten ...
Toby Jaffey

1
@Joby: Schätzen Sie den Gedanken, aber MD5 hat Aspekte davon, die für die Kryptographie in Ordnung sind. Man muss nur seine Stärken und Schwächen kennen.
Jason S

+1 für die Verknüpfung mit dem C-Quellcode im ursprünglichen RFC. Obwohl ich wahrscheinlich mit dem Quellcode von Microchip arbeiten würde, werden dieselben Leute, die den Chip hergestellt haben, auf dem dies laufen wird.
Davidcary


3

von der Wikipedia-Seite auf MD5 :

... hat sich gezeigt, dass MD5 als solches nicht kollisionssicher ist. MD5 ist nicht für Anwendungen wie SSL-Zertifikate oder digitale Signaturen geeignet, die auf dieser Eigenschaft beruhen.

und von den SSL-Forschern auf derselben Seite:

Wir hoffen auch, dass die Verwendung von MD5 in anderen Anwendungen ebenfalls überdacht wird.

Ich verstehe, dass Sie das wahrscheinlich nicht hören wollen, aber brauchen Sie wirklich MD5? Es sollte nicht für kryptografische Zwecke verwendet werden, da es zu unsicher ist (und Bootsladungen von Regenbogentabellen verfügbar sind). Wenn Sie nach etwas suchen, um nur Daten zu validieren, schauen Sie sich CRC (Code hier ) an, das rechnerisch billiger ist. Wenn Sie es jedoch für kryptografische Zwecke verwenden, kann ich dann vorschlagen, zu SHA zu wechseln ? Das einzige Problem ist, dass die meisten kryptografisch sicheren Algorithmen auf Mikrocontrollern nicht besonders gut funktionieren. Ich weiß, es scheint, als sei MD5 "gut genug", aber der technische Weg besteht darin, auf Nummer sicher zu gehen.


1
Schließen Sie MD5 nicht vollständig aus: Ihre Aussage "Es sollte nicht für kryptografische Zwecke verwendet werden, da es zu unsicher ist" ist zu übergeneralisiert.
Jason S

1
Verwenden Sie auch nicht die Tatsache, dass ein Hash-Algorithmus Regenbogentabellen hat oder nicht, als Überlegung, ob Sie ihn verwenden möchten oder nicht. Wenn SHA jetzt nicht viele Regenbogentabellen hat, wird es. Fügen Sie einer Nachricht ein geheimes "Salz" hinzu, um dieses Problem zu umgehen.
Jason S
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.