Damgård-Jurik-Kryptosystem

Aus testwiki
Zur Navigation springen Zur Suche springen

Das Damgård-Jurik-Kryptosystem ist ein semantisch sicherer, asymmetrischer Verschlüsselungsalgorithmus. Es wurde 2001 an der Konferenz PKC von den beiden Kryptographen Ivan Damgård und Mads Jurik vorgestellt.[1] Das Verfahren ist additiv-homomorph, was bedeutet, dass durch die Multiplikation zweier Schlüsseltexte die Klartexte addiert werden. Es ist also nicht nötig, die Schlüsseltexte zu entschlüsseln, um auf den Klartexten operieren zu können. Das Verfahren ist ein Nachfolger des Paillier-Kryptosystems und enthält dieses als Spezialfall.

Verfahren

Erzeugung des öffentlichen und privaten Schlüssels

Die Erzeugung des öffentlichen und des privaten Schlüssels funktioniert wie folgt.

  • Man wählt zwei große Primzahlen p,q gleicher Bitlänge und definiert n=pq. In der Praxis sollte n zwischen 1536 und 2048 Bits lang sein.
  • Man definiert λ=kgV(p1,q1).
  • Man wählt g(/ns+1)* so, dass g=(1+n)jxmodns+1 für ein bekanntes j relativ prim zu n und xH, wobei H isomorph zu (/n)* ist.
  • Mittels des Chinesischen Restsatzes berechnet man d mit dmodn(/n)* und d=0modλ.

Der öffentliche Schlüssel besteht aus (n,g), der private aus d.

Anmerkung: Um das Paillier-Kryptosystem als Spezialfall zu erhalten, wählt man s=1 und d=λ. Weiter kann man stets g=1+n wählen, ohne die Sicherheit zu beeinträchtigen. Insbesondere muss in diesem Fall s nicht ins Vorhinein fixiert werden, sondern kann ad hoc beim Verschlüsseln einer Nachricht gewählt werden.

Verschlüsseln von Nachrichten

Um eine Nachricht m(/ns) zu verschlüsseln, verfährt man wie folgt:

  • Man wählt r zufällig in (/ns+1)*.
  • Man berechnet den Schlüsseltext als c=gmrnsmodns+1.

Entschlüsseln von Nachrichten (Decodierung)

Um einen Schlüsseltext c zu entschlüsseln, verfährt man folgendermaßen:

  • Man berechnet cdmodns+1. Für gültige Schlüsseltexte c muss gelten:
cd=(gmrns)d=((1+n)jmxmrns)d=(1+n)jmdmodns(xmrns)dmodλ=(1+n)jmdmodnsmodns+1.

Dabei verwendet man einerseits, dass (1+n) in (/ns+1)* die Ordnung ns hat. Andererseits ist anzumerken, dass (/ns+1)*G×H, wobei G Ordnung ns hat, und H Ordnung λ=kgV(p1,q1), da H isomorph zu (/n)* ist, und d=0modλ ist. Weiters sind sowohl x (per definitionem) und rns Elemente von H.

Sicherheit

Unter der Decisional-Composite-Residuosity-Annahme kann gezeigt werden, dass das Verfahren semantisch sicher gegen Gewählte-Klartext-Angriffe ist. Diese Annahme besagt, dass für einen zusammengesetzten Modul n nicht effizient geprüft werden kann, ob ein (/n2) eine n-te Wurzel modulo n2 besitzt oder nicht.

Homomorphieeigenschaften

Das Damgård-Jurik-Kryptosystem ist additiv-homomorph, wodurch durch Operationen auf Schlüsseltexte unbekannte Klartexte addiert werden können:

  • Durch Multiplikation von zwei Schlüsseltexten c1,c2 werden die verschlüsselten Klartexte m1,m2 addiert:
gm1r1nsgm2r2ns=gm1+m2(r1r2)ns=gm1+m2r'nsmodns+1.
Dabei sind manchmal zwei Sonderfälle von besonderem Interesse:
  • Durch Multiplikation eines Schlüsseltextes c mit gΔm kann ein beliebiger Wert Δm zum verschlüsselten Klartext m addiert werden:
gmrnsgΔm=gm+Δmrnsmodns+1.
  • Durch Multiplikation eines Schlüsseltextes c mit Δrns kann eine Verschlüsselung von m erneut randomisiert werden, ohne die Nachricht m zu ändern:
gmrnsΔrns=gm(rΔr)ns=gmr'nsmodns+1.
  • Durch Exponentiation eines Schlüsseltexts c mit einer natürlichen Zahl w kann die verschlüsselte Nachricht m ver-w-facht werden
(gmrns)w=gwm(rw)ns=gwmr'nsmodns+1.

Allerdings gibt es keine bekannte Möglichkeit, um durch Operationen auf zwei Schlüsseltexten die enthaltenen Nachrichten miteinander zu multiplizieren.

Vorteile

Die homomorphen Eigenschaften werden u. a. im Zusammenhang mit den folgenden Anwendungen ausgenützt.

  • E-Voting: Nachdem jeder Wahlberechtigte seine Stimme (im einfachsten Fall eine 1 für ja, eine 0 für nein) verschlüsselt und an die Wahlbehörde übermittelt hat, werden alle Schlüsseltexte multipliziert, und die resultierende Verschlüsselung enthält die Verschlüsselung der Gesamtanzahl an Ja-Stimmen. Durch Entschlüsseln erhält man nun das Wahlergebnis. Wichtig ist, dass die den ersten Schritt ausführende Partei keine Kenntnis des geheimen Schlüssels benötigt, wodurch keine einzelnen Stimmen entschlüsselt werden können.
  • eCash
  • Zero-Knowledge-Beweise im Universal-Composability-Modell

Nachteile

Aufgrund der angeführten Homomorphieeigenschaften ist das Verfahren allerdings nicht IND-CCA-sicher, d. h. nicht sicher unter Gewählter-Schlüsseltext-Angriffen. Jedes Verschlüsselungssystem, das diese Sicherheit besitzt, müsste nämlich auch nicht-verformbar sein, eine Eigenschaft, die zur Homomorphie im Widerspruch steht. In der Literatur findet man auch Transformationen, das Damgård-Jurik-Kryptosystem in eine IND-CCA-sichere Variante zu transformieren.[2][3] Ob diese Transformationen angebracht sind oder nicht, ist von der jeweiligen Anwendung abhängig.

Quellen