Goldwasser-Micali-Kryptosystem

Aus testwiki
Zur Navigation springen Zur Suche springen

Das Goldwasser-Micali-Kryptosystem wurde 1982 von Shafrira Goldwasser und Silvio Micali vorgestellt. Es handelt sich dabei um ein asymmetrisches Kryptosystem zur Verschlüsselung einzelner Bits. Das Verfahren ist additiv-homomorph, d. h., zwei verschlüsselte Nachrichten können addiert werden, ohne die Nachrichten vorher zu entschlüsseln.

Das Verfahren wurde später von Josh Benaloh zum Benaloh-Kryptosystem erweitert, mit dem auch längere Nachrichten verschlüsselt werden können.

Verfahren

Im Folgenden beschreiben wir die Schlüsselerzeugung, und die Algorithmen zur Ver- und Entschlüsselung von Nachrichten.[1]

Erzeugung des öffentlichen und privaten Schlüssels

Das Schlüsselpaar wird folgendermaßen generiert:

  • Zuerst generiert man zwei zufällige Primzahlen p,q, und definiert n=pq. In der Praxis sollte n zumindest 1024, besser jedoch 1536 oder 2048 Binärstellen haben.
  • Man wählt y zufällig in (/n)*, sodass y ein quadratischer Nichtrest modulo n ist und Jacobi-Symbol (yn)=+1 hat. Ein solches y kann man zum Beispiel effizient finden, indem man es zufällig wählt und prüft, ob das Legendre-Symbol (yp)=(yq)=1 erfüllt, und andernfalls von vorne beginnt. Ist n eine Blum-Zahl, d. h., pq3mod4, so kann man y=n1 wählen.

Der öffentliche Schlüssel besteht aus (n,y), der private Schlüssel aus (p,q).

Verschlüsseln von Nachrichten

Um eine Nachricht m{0,1} zu verschlüsseln, verfährt man wie folgt:

  • Zuerst wählt man ein zufälliges u(/n)*.
  • Die verschlüsselte Nachricht ist dann gegeben durch c=ymu2modn.

Entschlüsseln von Nachrichten (Decodierung)

Zum Entschlüsseln eines Schlüsseltextes c(/n)* prüft man, ob c ein quadratischer Rest oder Nichtrest modulo n ist:

  • Gilt c(p1)/21modp und c(q1)/21modq, so setzt man m=0, andernfalls ist m=1.

Die Korrektheit der Entschlüsselung kann man sehen, indem man beachtet, dass ein Element in (/n)* genau dann ein quadratischer Rest modulo n ist, wenn es ein quadratischer Rest modulo p und modulo q ist. Dies ist wiederum nach dem Eulerschen Kriterium genau dann der Fall, wenn c(p1)/21modp und c(q1)/21modq gilt.

Sicherheit

Unter der Quadratischen-Reste-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 Element in (/n) eine Quadratwurzel modulo n besitzt oder nicht, falls n wie oben beschrieben gewählt wurden.

Homomorphieeigenschaften

Das Goldwasser-Micali-Kryptosystem ist additiv-homomorph. Das bedeutet, dass durch Multiplikation zweier Schlüsseltexte die darin enthaltenen Klartexte modulo 2 addiert werden. Allerdings gibt es keine bekannte Möglichkeit, um durch Operationen auf zwei Schlüsseltexten die enthaltenen Nachrichten miteinander zu multiplizieren.

Einzelnachweise