Full paper (pdf) - CDC
Full paper (pdf) - CDC
Full paper (pdf) - CDC
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
�<br />
P<br />
s = m si (mod N).<br />
i∈Λ<br />
3.6 Verifizierbares RSA-Key-Sharing<br />
Das in Abschnitt 3.5 vorgestellte Verfahren verfügt über zwei Nachteile, nämlich<br />
den fehlenden Sicherheitsbeweis und die fehlende Möglichkeit, die von den Teilnehmern<br />
abgegebenen Berechnungsergebnisse zu verifizieren. Beide Mängel sind<br />
in einem von Victor Shoup vorgeschlagenen Verfahren nicht anzutreffen (für<br />
den Sicherheitsbeweis verweisen wir auf die Originalarbeit [Sho00]). Es erzeugt<br />
ebenfalls normale RSA-Signaturen und -Entschlüsselungen, ohne Interaktionen<br />
zwischen den Teilnehmern zu benötigen. Allerdings setzt das Verfahren spezielle<br />
RSA-Moduln voraus und die Teilschlüssel und die damit durchzuführenden<br />
Berechnungen lassen sich (im Gegensatz zu unserem Vorschlag aus Abschnitt<br />
3.5.2) nicht in normale RSA-Implementierungen einbetten.<br />
Schlüsselerzeugung Der Geber bestimmt zwei zufällige Primzahlen p und<br />
q, die der zusätzlichen Eigenschaft genügen, daß p = 2p ′ + 1 und q = 2q ′ + 1<br />
für zwei weitere Primzahlen p ′ und q ′ (Man nennt solche Primzahlen p und q<br />
starke Primzahlen). Dadurch ergibt sich der RSA-Modul N = pq. Den öffentlichen<br />
Exponenten e wählt der Geber als beliebige Primzahl e > n. Für den<br />
Sicherheitsbeweis ist es wichtig, daß alle Teilberechnungen nicht über der ganzen<br />
Gruppe (Z/NZ)ausgeführt werden, sondern nur über den Quadraten aus<br />
(Z/NZ) ∗ . Die Quadrate aus (Z/NZ) ∗ bilden eine zyklische Untergruppe QNder<br />
Ordnung p ′ q ′ , so daß die Exponenten für Elemente aus QNmodulo p ′ q ′ gerechnet<br />
werden können. Folglich wird der private Exponent d auch derart bestimmt,<br />
daß de = 1 (mod p ′ q ′ ) gilt (und nicht modulo (p − 1)(q − 1)). Für diesen Exponenten<br />
d wird nun wie beim Shamir-Verfahren ein Polynom<br />
f(x) = d + a1x + . . . + at−1x t−1<br />
(mod p ′ q ′ ) mit ai ∈R {1 . . . p ′ q ′ − 1}<br />
konstruiert. Wir stellen fest, daß hier nicht über einem Primkörper gerechnet<br />
wird, so daß nicht alle Elemente invertierbar sind. Es wird sich aber zeigen, daß<br />
das Verfahren keine Invertierungen benötigt.<br />
Sei nun L(N) die Bitlänge von N und L1 die Bitlänge der Ausgabe einer<br />
kryptographischen Hashfunktion (also beispielsweise 160). Für jeden Teilnehmer<br />
wählt der Geber die Teilschlüssel di zufällig aus der Menge<br />
di ∈R {x : 0 ≤ x < 2 L(n)+L1 , x ≡ f(i) (mod p ′ q ′ )}.<br />
Um die Berechnungen der Teilnehmer später verifizieren zu können, wählt<br />
der Geber weiterhin ein v ∈R QN (also ein invertierbares Quadrat aus (Z/NZ))<br />
und bestimmt für jeden Teilnehmer i dessen Verifikationsschlüssel vi = v di ∈<br />
QN.<br />
Der öffentliche Schlüssel ist (e, N), der geheime Anteil von Teilnehmer i ist<br />
di. Dazu kommen die (öffentlichen) Verifikationsschlüssel v und vi.<br />
27