Crypto / Big-Integer Ansätze

Gast #3218090
Lesenswert?
• ▲
▼
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 ?
Gast #3218516
Lesenswert?
• ▲
▼
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
Gast #3218993
Lesenswert?
• ▲
▼
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.   :)

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.