04.02.2013 Aufrufe

Full paper (pdf) - CDC

Full paper (pdf) - CDC

Full paper (pdf) - CDC

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!