Suche schnelle MD4 Implementierung [gelöst]



  • Ich brauche für ein Projekt eine möglichst schnelle MD4 Implementierung.
    Und um das vorwegzunehmen: ja, es muss MD4 sein, da es um Datenstrukturen einer externen Library geht, wo eben MD4 Prüfsummen drinnen sind, die verifiziert werden müssen.

    Zur Verfügung stehen Visual Studio 2012 und das 4.5er Framework.
    Code der PInvoke und/oder unsafe verwendet ist OK.
    Dependency auf Windows DLLs ist OK (d.h.: der Code muss nicht mit Mono laufen).
    Third-Party bzw. eigene C bzw. C++ DLL möchte ich aber nicht einbinden, wenn es sich vermeiden lässt.

    Speziell sollte der Code möglichst schnell dabei sein viele MD4s hintereinander zu berechnen. Wobei die grösse der Daten pro Prüfsumme ist variabel zwischen 0 Byte und 64 kB -- der Durchschnitt wird aber bei ca. 2~3 kB pro Prüfsumme liegen.

    Von der Geschwindigkeit her würde ich mir so >= 100 MB/Sec/Core auf aktueller Hardware wünschen (i5@3.5 GHz). Alles was schneller ist ist nett, aber Luxus. Alles was langsamer ist, schmerzt. 🙂



  • OK, hat sich erübrigt.

    Die Mono-Implementierung ist ausreichend schnell:
    https://github.com/mono/mono/blob/master/mcs/class/Mono.Security/Mono.Security.Cryptography/MD4Managed.cs

    Schafft auf meinem Core2Quad fast 120 MB/Sek. Mit etwas Tuning fast 170. Ist zwar stinkelangsam verglichen mit ner native Implementierung, aber es reicht.

    => done


Log in to reply