Forum: FPGA, VHDL & Co. Polynomdivision GF(2^M) mit VHDL


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Lenni (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Moin,

ich versuche eine Polynomdivision für das ECDSA-Verfahren auf einem FPGA 
zu implementieren. Dabei habe ich für erste Tests die Implementierung 
von der folgenden Seite genommen:

http://arithmetic-circuits.org/finite-field/vhdl_codes.htm

Ich erhalte nun die folgenden Werte:
x = 00001101
y = 11001010
z = 10101010 ( x / y mod f with f=100011011 )

x = 00110100
y = 00101010
z = 10010011 ( x / y mod f with f=100011011)

Wenn ich nun die Probe z * y = x mache, so erhalte ich korrekte 
Ergebnisse. Die Werte scheinen also erstmal gültig zu sein. Wenn ich 
allerdings die Polynomdivision per Hand mache, komme ich auf andere 
Ergebnisse:

00001101 / 11001010 = 0 R 1101 mod 100011011 = 0
00110100 / 00101010 = 1 R 11110 mod 100011011 = 1

Zur Sicherheit habe ich noch eine zweite Implementierung über 
Multiplikation mit dem Inversen gemacht. Dabei erhalte ich die gleichen 
Ergebnisse wie bei der ersten Implementierung.

Kann mir jemand sagen, wo mein Denkfehler? Danke!

Grüße
Lenni

von Markus W. (elektrowagi78) Benutzerseite


Bewertung
0 lesenswert
nicht lesenswert
Bin nicht mehr ganz sicher, Studium zu lange her :-)

Du musst im Binären immer noch eine versteckte 1 vorne mitführen, glaube 
Ich.  Die wird nie hingeschrieben, muss aber hilfsweise bemüht werden. 
Sowas Ähnliches hatte ich kürzlich bei einem CRC-Thema: Die 
Polynomdivision im Binären ist irgendwie nicht ganz vergleichbar der im 
integer-Bereich.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.