Damgård-Jurik-Kryptosystem
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
BearbeitenErzeugung des öffentlichen und privaten Schlüssels
BearbeitenDie Erzeugung des öffentlichen und des privaten Schlüssels funktioniert wie folgt.
- Man wählt zwei große Primzahlen gleicher Bitlänge und definiert . In der Praxis sollte zwischen 1536 und 2048 Bits lang sein.
- Man definiert .
- Man wählt so, dass für ein bekanntes relativ prim zu und , wobei isomorph zu ist.
- Mittels des Chinesischen Restsatzes berechnet man mit und .
Der öffentliche Schlüssel besteht aus , der private aus .
Anmerkung: Um das Paillier-Kryptosystem als Spezialfall zu erhalten, wählt man und . Weiter kann man stets wählen, ohne die Sicherheit zu beeinträchtigen. Insbesondere muss in diesem Fall nicht ins Vorhinein fixiert werden, sondern kann ad hoc beim Verschlüsseln einer Nachricht gewählt werden.
Verschlüsseln von Nachrichten
BearbeitenUm eine Nachricht zu verschlüsseln, verfährt man wie folgt:
- Man wählt zufällig in .
- Man berechnet den Schlüsseltext als .
Entschlüsseln von Nachrichten (Decodierung)
BearbeitenUm einen Schlüsseltext zu entschlüsseln, verfährt man folgermaßen:
- Man berechnet . Für gültige Schlüsseltexte muss gelten:
- .
Dabei verwendet man einerseits, dass in die Ordnung hat. Andererseits ist anzumerken, dass , wobei Ordnung hat, und Ordnung , da isomorph zu ist, und ist. Weiters sind sowohl (per definitionem) und Elemente von .
- Nun wendet man rekursiv den Entschlüsselungsmechanismus des Paillier-Kryptosystems an, um zu berechnen. Da bekannt sind, kann man nun berechnen als .
Sicherheit
BearbeitenUnter 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 nicht effizient geprüft werden kann, ob ein eine -te Wurzel modulo besitzt oder nicht.
Homomorphieeigenschaften
BearbeitenDas 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 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 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.
Vorteile
BearbeitenDie 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
BearbeitenAufgrund 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
Bearbeiten- ↑ Ivan Damgård, Mads Jurik: A Generalisation, a Simplification and Some Applications of Paillier’s Probabilistic Public-Key System. In: Kwangjo Kim (Hrsg.): Public Key Cryptography. Band 1992. Springer, Berlin/Heidelberg 2001, ISBN 3-540-41658-7, S. 119–136, doi:10.1007/3-540-44586-2_9.
- ↑ Eiichiro Fujisaki, Tatsuaki Okamoto: How to Enhance the Security of Public-Key Encryption at Minimum Cost. In: Public Key Cryptography. Band 1560. Springer, Berlin/Heidelberg 1999, ISBN 3-540-65644-8, S. 53–68, doi:10.1007/3-540-49162-7_5.
- ↑ Pascal Paillier, David Pointcheval: Efficient Public-Key Cryptosystems Provably Secure Against Active Adversaries. In: Kwok-Yan Lam, Eiji Okamoto, Chaoping Xing (Hrsg.): Advances in Cryptology - ASIACRYPT’99. Band 1716. Springer, Berlin/Heidelberg 1999, ISBN 3-540-66666-4, S. 165–179, doi:10.1007/978-3-540-48000-6_14.