Zum Inhalt springen

Paillier-Kryptosystem

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 5. Dezember 2010 um 16:21 Uhr durch RedJohn (Diskussion | Beiträge) (AZ: Die Seite wurde neu angelegt: Das '''Paillier-Kryptosystem''' wurde 1999 von Pascal Paillier an der Eurocrypt vorgestellt<ref>{{cite ne…). Sie kann sich erheblich von der aktuellen Version unterscheiden.
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

Das Paillier-Kryptosystem wurde 1999 von Pascal Paillier an der Eurocrypt vorgestellt[1]. Es handelt sich dabei um ein asymmetrisches Kryptosystem, dessen Sicherheit darauf beruht, dass für einen zusammengesetzten Modul nicht effizient geprüft werden kann, ob ein eine -te Wurzel modulo besitzt oder nicht.

Das Verfahren wird oft als Nachfolger des Okamoto–Uchiyama-Kryptosystems bezeichnet. Desweiteren ist es ein Spezialfall des Damgård-Jurik-Kryptosystems.

Verfahren

Im folgenden beschreiben wir die Schlüsselerzeugung, und die Algorithmen zur Ver- und Entschlüsselung von Nachrichten.

Erzeugung des öffentlichen und privaten Schlüssels

Das Schlüsselpaar wird folgendermaßen generiert:

  • Man generiert zwei zufällige Primzahlen , sodass gilt. In der Praxis sollte n zumindest 1024, besser jedoch 1536 oder 2048 Binärstellen haben. Man setzt dann sowie .
  • Man wählt zufällig in , sodass die Ordnung von teilt, indem man prüft, ob existiert.
Dabei beschreibt die logarithmische Funktion, dh., es ist , wobei die Division nicht modulo , sondern in den ganzen Zahlen durchzuführen ist (bei nicht-ganzzahligen ist abzurunden.

Der öffentliche Schlüssel besteht aus , der private Schlüssel aus </math>(\lambda,\mu)</math>.

Vereinfachung: Die Schlüsselerzeugung kann auch folgendermassen vereinfacht werden:

  • Man wählt einen Sicherheitsparameter , und die beiden Primzahlen zufällig in , also mit gleicher Bitlänge.
  • Man definiert , sowie und .

Verschlüsseln von Nachrichten

Um eine Nachricht zu verschlüsseln, verfährt man wie folgt:

  • Zuerst wählt man ein zufälliges .
  • Die verschlüsselte Nachricht ist dann gegen durch .

Entschlüsseln von Nachrichten (Decodierung)

Zum Entschlüsseln eines Schlüsseltexts verfährt man wie folgt:

  • Man setzt , wobei die logarithmische Funktion von oben ist.

Sicherheit

Unter der Decisional Compisite 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 nicht effizient geprüft werden kann, ob ein eine -te Wurzel modulo besitzt oder nicht.

Aufgrund der nachstehenden Homomorphieeigenschaften ist das Verfahren allerdings nicht sicher unter gewählten Schlüsseltext-Angriffen. Es gibt in der Literatur jedoch mehrere Lösungen für dieses Problem[2][3].

Probleme der Homomorphieeigenschaften

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

  • Durch Multiplikation von zwei Schlüsseltexten werden die verschlüsselten Klartexte addiert:
.
Dabei sind manchmal zwei Sonderfälle von besonderem Interesse:
  • Durch Multiplikation eines Schlüsseltextes mit kann ein beliebiger Wert zum verschlüsselten Klartext addiert werden:
  • Durch Multiplikation eines Schlüsseltextes mit kann ein eine Verschlüsselung von erneut randomisiert werden, ohne die Nachricht zu ändern:
  • Durch Exponentiation eines Schlüsseltexts mit einer natürlichen Zahl kann die verschlüsselte Nachricht ver-w-facht werden
.

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

Referenzen

  1. Pascal Paillier: Public-Key Cryptosystems Based on Composite Degree Residuosity Classes In: Eurocrypt 99, Springer Verlag, 1999, S. 223-238 (englisch). 
  2. Eiichiro Fujisaki und Tatsuako Okamoto: How to Enhance the Security of Public-Key Encryption at Minimum Cost In: PKC 99, Springer Verlag, 1999, S. 53-68 (englisch). 
  3. Pascal Paillier und David Pointcheval: Efficient Public-Key Cryptosystems Provably Secure Against Active Adversaries In: ASIACRYPT 99, Springer Verlag, 1999, S. 53-68 (englisch). 
  • thep implementiert das Paillier-Kryptosystem in Java.

Vorlage:Navigationsleiste Verschlüsselungssysteme