Gast
#5120038
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