Hallo, ich stehe vor der Aufgabe eine Elliptic Curve Digital Signature -Prüfung auf einem 32 Bit Controller zu realisieren (Freescale Coldfire ~m68k). Heap für dynamischen Speicher (malloc) gibt es. Es beschränkt sich auf die Signaturprüfung mit festem öffentlichen Schlüssel und fester Kurven-Domäne. Hash Algorithmus habe ich fertig. Es steht aus: Handling und Operationen mit den Zahlen (32 Byte-Integer). Also Addition, Multiplikation, Modulo, Inverse Zahl, ... Ich habe bereits google befragt was es da so gibt: a) GNU Multip. Precision (GMP) Lib. ==> Ziemlich gut, aber komplex aufgebaut. Weiß nicht wie ich das auf den Controller bekomme(?) Wie ich mir die Lib. erstelle und ob das überhaupt Speichermäßig auf den Controller passt. ==> Gibts hier Erfahrungen in der Verwedung mit einem embedded Crosscompiler??? b) AVR (ARM) Crypto Lib. ( aus das-labor.org ) ==> Nur teilweise fetig umgesetz. Wieso heißt das AVR /ARM? Wo bestehen die Unterschiede? c) Selber machen. ==> Dauert wahrscheinlich einen Monat. Was seht ihr als besten Weg an ? Habt ihr vielleicht noch einen Tip /eine Idee? Wie sind die Erfahrungen allgemein mit großen Zahlen, die den Wertebereich der Standard Typen übersteigen? Kommt man evtl. ohne dynamischen Speicher aus ?
Hi, guck dir mal TinyECC an. Das ist eine Variante für TinyOS ("Betriebssystem" welches im Bereich der Forschung mit drahtlosen Sensornetzwerken eingesetzt wird). Der Footprint der dort verwendeten µCs ist sehr viel kleiner als das was du benutzt, viele der Ansätze dürften aber übertragbar sein. Selber habe ich mir das allerdings noch nicht angesehen, nur vor kurzem in einem Paper gelesen. Einfach mal bei Google danach suchen, vielleicht hilft es dir weiter. Schöne Grüße, Tobi
Ja auf tinyECC wurde ich bereits verwiesen. Hab auch mal reingesehen: Das ist in einer C-Erweiterung "nesC" umgesetzt. Etwas ungewohnt fürs Auge. Werd mich da mal vertiefen.
Ein Blick auf die libtomcrypt (http://libtom.org/) könnte sich lohnen. Da ist auch ECC dabei, und mit anderen Teilen der libtomcrypt habe ich schon gute Erfahrungen gemacht: ließ sich leicht in den eigenen Code übernehmen, ohne einen Rattenschwanz an zusätzlichen Libraries zu brauchen. Und die Lizenz (bei kommerzieller Verwendung) ist auch sehr günstig. :)
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.