Hat jemand Beispiele für den MD5-Algorithmus für einen Mikrocontroller (vorzugsweise einen 8-Bit- Algorithmus )? In unserem Projekt wird ein Gerät der Microchip PIC18-Serie verwendet.
Hat jemand Beispiele für den MD5-Algorithmus für einen Mikrocontroller (vorzugsweise einen 8-Bit- Algorithmus )? In unserem Projekt wird ein Gerät der Microchip PIC18-Serie verwendet.
Antworten:
Hier ist die MD5-Implementierung von EtherNut (AVR-basiert)
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 .
Eine gute Beschreibung und einen Pseudocode für den MD5-Algorithmus finden Sie unter http://en.wikipedia.org/wiki/MD5
Sie können diese Frage auch im Stackoverflow veröffentlichen, da sie eher auf Programmierfragen ausgerichtet ist.
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.