Forum: Mikrocontroller und Digitale Elektronik sha-1 speed erhöhen?


von pittbull_nt@yahoo.com (Gast)


Lesenswert?

hi,
ich benutze den sha-1 hash algo, um einen PSK für WLAN (WPA) zu
erzeugen. das ganze läuft auf einem freescale s12x mit 40mhz und
braucht da dummerweise ca. 3 minuten. meine frage: kennt einer von euch
eine speedoptimierte sha-1 implementation für 16bittige big-endian
cpu's?
danke im voraus...

von Christian (Gast)


Lesenswert?

Welche Datenmenge soll denn gehasht werden? Das müssen ja riesige Mengen
sein, wenn es drei Minuten dauert. (Zum Vergleich: Auf einem AVR [8-bit
MCU] mit 1MHz schaffe ich gut 1kiByte/s.)

von pittbull_nt@yahoo.com (Gast)


Lesenswert?

hallo christian.

es ist von dort:
https://svn.binaervarianz.de/kismac/trunk/Sources/Crypto/WPA.m
die funktion 'wpaPasswordHash'. die ruft ca. 16000 mal die sha1
hashroutinen auf...

von Christian (Gast)


Lesenswert?

Du kannst natürlich gerne meine GPL-Implementierung des SHA-1 probieren:
http://www.chzsoft.com.ar/cms/downloads/sha1.zip
Allerdings ist die eher auf Codegröße als auf Geschwindigkeit
optimiert. Es würde mich trotzdem mal interessieren, wie die sich auf
einer 16-bit-CPU schlägt. Du müsstest das "#define SHA_LITTLE_ENDIAN"
rausnehmen und je nach Compiler die uintxx_t-Typen definieren.

von pittbull_nt@yahoo.com (Gast)


Lesenswert?

hallo,

danke für den code. ich hab' ihn noch nicht ausprobiert aber von der
'optik' her sieht's so aus als würde er tatsächlich schneller
arbeiten als diese referenzimplementation.

btw: MeBiByte und KiBiByte hab' ich auch noch nicht gekannt ;)

von Christian (Gast)


Lesenswert?

Kleines Update: Unter http://www.chzsoft.com.ar/cms/downloads/sha1.zip 
gibt es jetzt auch eine für Mikrocontroller optimierte C-Implementierung 
des HMAC-SHA-1 (keyed-hash message authentication code), die auch unter 
der GPL steht.

von Daniel N. (Gast)


Lesenswert?

Hi, in der Codesammlung würde sich das bestimmt auch gut machen ;)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.