Das Benaloh-Kryptosystem wurde 1994 von Josh Benaloh vorgestellt. Es handelt sich dabei um ein asymmetrisches Kryptosystem. Das Verfahren ist homomorph, d. h., zwei verschlüsselte Nachrichten können addiert werden, ohne die Nachrichten vorher zu entschlüsseln.

Das Verfahren ist eine Erweiterung des Goldwasser-Micali-Kryptosystems: während letzteres lediglich das Verschlüsseln von einzelnen Bits ermöglicht, erlaubt das Benaloh-Kryptosystem das Verschlüsseln von größeren Blocks. Ein kleiner Fehler in der Beschreibung wurde später von Laurent Fousse et al. korrigiert.

Verfahren

Bearbeiten

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

Erzeugung des öffentlichen und privaten Schlüssels

Bearbeiten

Das Schlüsselpaar wird folgendermaßen generiert:

  • Zuerst wählt man eine Blockgröße  .
  • Dann generiert man zwei zufällige Primzahlen  , sodass  ,   sowie   gilt, und definiert  . In der Praxis sollte n zumindest 1024, besser jedoch 1536 oder 2048 Binärstellen haben.
  • Man wählt   zufällig in  , sodass für alle Primteiler   von   gilt:   gilt.

Der öffentliche Schlüssel besteht aus  , der private Schlüssel aus  .

Verschlüsseln von Nachrichten

Bearbeiten

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

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

Entschlüsseln von Nachrichten (Decodierung)

Bearbeiten

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

  • Man setzt   und   und sucht dann ein   sodass   gilt. Ist   klein, so kann dies durch Durchprobieren aller möglichen Werte geschehen; ist   dagegen groß, hat aber nur kleine Primteiler, kann der Index-Calculus-Algorithmus verwendet werden.

Dass die Entschlüsselung tatsächlich wieder die geheime Nachricht liefert, kann etwa folgendermaßen gesehen werden. Es gilt

 

Sicherheit

Bearbeiten

Unter der Higher-Residuosity-Annahme kann gezeigt werden, dass das Verfahren semantisch sicher gegen Angriffe mit ausgewählten Klartexten ist. Diese Annahme besagt, dass für einen zusammengesetzten Modul   nicht effizient geprüft werden kann, ob ein Element in   eine  -te Wurzel modulo   besitzt oder nicht, falls   und   wie oben beschrieben gewählt wurden.

Homomorphieeigenschaften

Bearbeiten

Das Benaloh-Kryptosystem ist additiv-homomorph. Das bedeutet, dass durch Multiplikation zweier Schlüsseltexte die darin enthaltenen Klartexte addiert werden, bzw. durch Exponentiation eines Schlüsseltextes mit   der enthaltene Wert mit   multipliziert wird. Außerdem kann die enthaltene Nachricht durch Multiplikation des Schlüsseltexts mit   um   vergrößert werden. Allerdings gibt es keine bekannte Möglichkeit, um durch Operationen auf zwei Schlüsseltexten die enthaltenen Nachrichten miteinander zu multiplizieren.

Vollständiges Beispiel

Bearbeiten

Die oben angeführten Schritte sollen hier an einem kleinen Beispiel veranschaulicht werden.

Schlüsselerzeugung

Bearbeiten

Zunächst wählen wir die Blöckgröße   und wählen   und  . Damit gilt

 

sowie

 .

Weiters wählen wir  , welches   erfüllt.

Damit erhalten wir:

r = 9
n = p·q = 899777
y = 85147

Der öffentliche Schlüssel ist damit gegeben durch:  

Der geheime Schlüssel lautet  .

Verschlüsselung

Bearbeiten

Angenommen, man möchte die Nachricht   verschlüsseln. Dazu wählen wir ein zufälliges   :

u = 175884

Die Verschlüsselung ergibt sich damit zu:

c = ymur mod n = 851476 1758849 mod 899777 = 541197

Entschlüsselung

Bearbeiten

Zur Entschlüsselung berechnen wir zuerst:

a = c(p-1)(q-1)/r mod n = 541197882·1018/9 mod 899777 = 4077
b = y(p-1)(q-1)/r mod n =  85147882·1018/9 mod 899777 = 887550

Eine systematische Suche liefert uns nun:

y0 mod n = 8875500 mod 899777 = 1 <> 4077
y1 mod n = 887550 <> 4077
y2 mod n = 136547 <> 4077
y3 mod n = 425943 <> 4077
y4 mod n = 803992 <> 4077
y5 mod n = 553318 <> 4077
y6 mod n = 4077

Die verschlüsselte Nachricht lautete daher  .

Einzelnachweise

Bearbeiten
  1. Josh Benaloh: Dense Probabilistic Encryption. (PS) Abgerufen am 13. Juni 2012 (englisch).
  2. Laurent Fousse, Pascal Lafourcade, und Mohamed Alnuaimi: Benaloh’s Dense Probabilistic Encryption Revisited. 18. August 2010, arxiv:1008.2991 (englisch).