RSA-Verfahren: Bestimmung der Faktorisierung von n aus Kenntnis

Werbung
RSA-Verfahren:
Bestimmung der Faktorisierung von n aus
Kenntnis von n, e, d
Ist 2s die größte 2-Potenz, die ed − 1 teilt, k = (ed − 1)/2s , so beruht die
Erfolgswahrscheinlichkeit des in der Vorlesung vorgestellten probabilistischen
Algorithmus zur Faktorisierung von n (= p · q) auf folgendem Satz:
Satz
Die Anzahl der zu n teilerfremden Zahlen a mit 1 ≤ a ≤ n − 1, für die
o((a mod p)k ) 6= o((a mod q)k ) gilt, ist wenigstens (p − 1)(q − 1)/2.
(Die Ordnungen beziehen sich auf die Gruppen Zp ∗ bzw. Zq ∗ .)
Beweis:
Die Gruppen Zp ∗ und Zq ∗ sind zyklisch der Ordnung p − 1 bzw. q − 1. (Die
multiplikativen Gruppen endlicher Körper sind immer zyklisch; einen Beweis findet man z.B. im Buch von Buchmann, Abschnitt 2.20, oder in jedem
Algebra-Lehrbuch.)
Sei v ∈ {1, . . . , p − 1} mit Zp ∗ =< v > und sei w ∈ {1, . . . , q − 1} mit
Zq ∗ =< w >.
Nach dem Chinesischen Restsatz existiert ein h, 1 ≤ h ≤ n = p · q mit
h ≡ v mod p und h ≡ w mod q. Dann ist also o(h mod p) = p − 1 und
o(h mod q) = q − 1.
1. Fall: o((h mod p)k ) > o((h mod q)k )
Da p − 1 ein Teiler von ϕ(n) und ϕ(n) ein Teiler von ed − 1 ist, ist ed − 1 =
s
s
(p−1)r für ein r ∈ N. Es folgt ((h mod p)k )2 = (h mod p)k2 = (h mod p)ed−1
= (h mod p)(p−1)r ≡ 1 mod p. Also ist o((h mod p)k ) = 2i für ein i ≤ s (siehe
Satz über Ordnungen von Elementen endlicher Gruppen, Teil b)). Analog ist
o((h mod q)k ) = 2j mit j < i.
Sei x eine ungerade Zahl in {1, . . . , p − 1} und sei y ∈ {0, . . . , q − 2}. Nach
dem Chinesischen Restsatz gibt es ein a, 1 ≤ a < n = p · q, mit a ≡ hx mod p
und a ≡ hy mod q.
Dann ist o((a mod p)k ) = o((h mod p)xk ), also o((a mod p)k ) = o((h mod p)k )
(siehe Satz über Ordnungen von Elementen, Teil c)).
j
j
j
Andererseits ist ((a mod q)k )2 = (a mod q)k·2 ≡ (h mod q)yk·2 ≡ 1 mod q,
d.h. o((a mod q)k ) ≤ o((h mod q)k ) (siehe Satz über Ordnungen von Elementen, Teil b)). Also ist o((a mod p)k ) > o((a mod q)k ).
Es ist klar, dass für jede der (p − 1)(q − 1)/2 möglichen Wahlen von (x, y)
die zugehörigen Zahlen a < n paarweise verschieden sind. Damit folgt die
Behauptung in diesem Fall.
2. Fall: o((h mod p)k ) < o((h mod q)k )
Analog zum ersten Fall.
3. Fall: o((h mod p)k ) = o((h mod q)k )
Wie zu Beginn des ersten Falles sieht man, dass o((h mod p)k ) =
o((h mod q)k ) = 2i , i ≤ s. Dabei ist i ≥ 1 (siehe Satz über Ordnungen
von Elementen, Teil c)), da k ungerade ist und p − 1 oder q − 1 gerade ist
(in unserem Fall dann sogar beide).
Ist x eine ungerade Zahl in {0, . . . , p − 2} und y eine gerade Zahl in
{0, . . . , q − 2}, so existiert nach dem Chinesischen Restsatz ein a,
1 ≤ a ≤ n = p · q, mit a ≡ hx mod p und a ≡ hy mod q. Wie im ersten
Fall sieht man, dass o((a mod p)k ) = o((h mod p)k ).
i−1
i−1
i−1
Andererseits ist ((a mod q)k )2 ≡ ((h mod q)yk )2 ≡ ((h mod q)k )y·2 ≡
1 mod q, da y gerade und daher 2i ein Teiler von y2i−1 ist.
Also ist o((a mod q)k ) < o((a mod p)k ).
Wählt man x als gerade Zahl in {0, . . . , p − 2} und y als ungerade Zahl in
{0, . . . , q − 2}, so verläuft das Argument analog. Für jede dieser insgesamt
(p − 1)(q − 1)/2 möglichen Wahlen von (x, y) sind die zugehörigen Zahlen
a < n verschieden.
Damit ist der Beweis vollständig.
Herunterladen