Cryptography Reference
In-Depth Information
Tab. 2-1: Reste und Restklassen für das Modularpolynom M(x) vom Grad r.
Reste
Restklassen
0
{0,
0+1·M(x),
0+x·M(x),
0+(x+1)·M(x),
…}
1
{1,
1+1·M(x),
1+x·M(x),
1+(x+1)·M(x),
…}
x
{x,
x+1·M(x),
x+x·M(x),
x+(x+1)·M(x),
…}
(x+1)
{(x+1),
(x+1)+1·M(x)
,
(x+1)+x·M(x)
,
(x+1)+
(x+1)·M(x),
…}
(x r-1 +…+x+1)
{(x r-
1 +…+x+1),
(…)+1·M(x),
(…)+x·M(x),
(…)+(x+1)·M(x),
…}
Beispiel für das Rechnen mit Polynom-Restklassen
Das Rechnen mit Restpolynomen als Zahlen soll an einem kleinen Beispiel veranschaulicht
werden. Das Modularpolynom sei M(x)=x 3 +x+1 mit dem Grad r=3. Es sollen zwei Elemente
a(x)=x 2 +x und b(x)=x 2 +1 multipliziert werden. Wie lautet das Ergebnis c(x)=a(x)·b(x)?
c(x)=(x 2 +x)·(x 2 +1)=x 4 +x 3 +x 2 +xx+1 mod(x 3 +x+1)
Die Verwendung der Polynome als „Zahlen“ wird augenscheinlicher, wenn man die Folge der
Polynom-Koeffizienten, beginnend mit der höchsten Potenz, zur Darstellung benutzt. Zur
Unterscheidung von normalen Zahlen wird die Koeffizientendarstellung in geschweifte
Klammern „{}“ geschrieben. Die Operationen mit den Polynomen erscheinen dann als über-
sichtliches Schema:
Tab. 2-2: Schema für Multiplikation und Restbildung der Restpolynome a(x)·b(x)
a(x) = x 2 +x = 1·x 2 +1·x 1 +0·x 0 = {110}
b(x) = x 2 +1 = 1·x 2 +0·x 1 +1·x 0 = {101}
M(x) = x 3 +x+1 = {1011}
1
1
0
·
1
0
1
Multiplikand, Multiplikator
(1·x 2 +1·x 1 +0·x 0 )·1·x 2 , für 1. Stelle des Multiplikators
1
1
0
(1·x 2 +1·x 1 +0·x 0 )·0·x 1 ,
0
0
0
(1·x 2 +1·x 1 +0·x 0 )·1·x 0 , für 3. Stelle des Multiplikators
1
1
0
1
1
1
1
0
Ergebnis der Polynom-Multiplikation
M(x)·x 1 zur Restbildung,
1
0
1
1
stellenweise Addition
M(x)·x 0 zur Restbildung
1
0
1
1
0
1
1
Ergebnis, Restpolynom bezüglich M(x)
x 4 x 3 x 2 x 1 x 0
Wertigkeiten der Stellen
Search WWH ::




Custom Search