Sie sind auf Seite 1von 4

Probabilistische asymmetrische Verschlsselung mittels

Bit-Sequenzen und XOR


Eine kurze Erklrung
Marc Berger 2010
Mat. 10003902
zzador@gmx.de

Begriffs-Erluterung:
(Bit-)Sequenz: Hiermit ist eine Sequenz/Liste von mehreren Bits gemeint.
(Gitter-)Basis: Da dieses Verfahren aus der Idee heraus erwachsen ist, ein Gitter-basiertes System
zu entwerfen, wird hier fr einen festen Katalog von Bit-Sequenzen das Wort
Basis verwendet. Genauer gesagt handelt es sich um Gitter-Basen, deren
Vektoren in diesem speziellen Fall Bit-Sequenzen darstellen.
Untersumme: Wird in diesem Text von Untersummen gesprochen, so handelt es sich um
bestimmte Bits in einer Bit-Sequenz, die, wenn sie miteinander XOR-verknpft
werden, immer 0 ergeben. Kurz gesagt: Eine gerade Paritt.

Das Verfahren:
Erzeugung des privaten und ffentlichen Schlssels:
1. Zunchst whlt Alice ihre ffentlichen Sicherheits-Parameter:
N = Anzahl der Bit-Sequenzen pro Basis
D = Lnge pro Bit-Sequenz in Bits
Sowie ihre privaten Sicherheits-Parameter:
Un = Anzahl der Untersummen pro Bit-Sequenz
Us = Lnge der Untersummen in Bits
2. Nun erzeugt Alice 2 Basen mit N zuflligen Bit-Sequenzen der Lnge D und nennt die
beiden Basen EVEN und ODD. Sie sind stellen den ffentlichen Schlssel dar.
3. Als nchstes whlt Alice ebenfalls per Zufall eine der beiden Basen aus.
4. In dieser Basis versteckt Alice jetzt Un verschiedene Untersummen, wobei sie die Bits der
Untersummen an vllig zuflligen Positionen innerhalb der Basis-Sequenzen anlegt,
allerdings immer so, dass jede Untersumme in jeder Bit-Sequenz an der selben Stelle zu
finden ist. Die Positionen der einzelnen Bits fr jede Untersumme merkt sich Alice. Sie
stellen den privaten Schlssel dar, die beiden Basen (ODD und EVEN)den ffentlichen
Schlssel.

Verschlsselung mit dem ffentlichen Schlssel:


Will Bob einen Session-Key (oder eine Nachricht) verschlsseln, so verschlsselt er Bit fr Bit.
Dabei geht er wie folgt vor:
Will Bob eine 0 verschlsseln, so erzeugt er eine XOR-Verknpfung zufllig ausgewhlter
Bit-Sequenzen der EVEN-Basis.
Will Bob eine 1 verschlsseln, so erzeugt er eine XOR-Verknpfung zufllig ausgewhlter
Bit-Sequenzen der ODD-Basis.

Entschlsseln mit dem privaten Schlssel:


Will Alice Bobs Nachricht wieder entschlsseln, so muss sie heraus bekommen, mit welcher Basis
Bob die jeweiligen Bit-Sequenzen erzeugt hat. Dies kann sie jedoch aufgrund ihrer versteckten
Untersummen sehr einfach bewerkstelligen, indem sie jede Sequenz auf das Vorhandensein aller
Untersummen hin prft (XOR aller Untersummenbits == 0 ?), denn diese werden durch die
XOR-Verknpfungen nicht zerstrt. Sind also alle Untersummen in der Sequenz vorhanden, so hat
Bob die Sequenz eben genau mit der Basis erstellt, in der Alice ihre Untersummen versteckt hat. Es
kann hierbei allerdings zu Fehlern kommen, da die andere Basis ohne Untersummen zu 50%iger
Wahrscheinlichkeit eine Bit-Sequenz erzeugt, in der eine Untersumme erfllt ist. Daher kann durch
das Erkennen einer Untersumme in einer Sequenz von Bob nur zu 50%iger Sicherheit auf die
verwendete Basis geschlossen werden. Erfreulicherweise reduziert sich diese
Fehlerwahrscheinlichkeit exponentiell mit der Anzahl der verwendeten Untersummen.
Fehlerwahrscheinlichkeit pro entschlsseltem Bit:
ep=0.5Un

Eves Problem:
Will Eve Bobs Nachricht ebenfalls entschlsseln, so muss sie genau wie Alice versuchen
herauszufinden, mit welcher Basis Bob die jeweiligen Bit-Sequenzen erzeugt hat.
Mglichkeit 1:
Sie kann versuchen alle mglichen Kombinationen der Basis-Sequenzen von jeder der beiden Basen
mit der von Bob gesendeten Sequenz zu vergleichen.
Laufzeit fr Suche in einer Basis:
O 2 N
Allerdings msste sie diese Suche fr jedes einzelne, von Bob gesendete Bit durchfhren.
Wesentlich vielversprechender gestaltet sich daher die 2te Mglichkeit fr Eve.

Mglichkeit 2:
Sie versucht die Untersummen in einer der beiden Basen zu finden, wobei sie genau wie Alice
mehrere Untersummen bentigt, um die Fehlerwahrscheinlichkeit genug zu minimieren. Eve hat
noch das zustzliche Problem, dass sie sich erst entscheiden muss, auf welche der beiden Basen sie
ihre Such-Algorithmen anwendet. Hat sie sich fr eine Basis entschieden, so kennt sie dennoch
nicht Us (die Gre jeder Untersumme). Aufgrund der Tatsache, dass sie nicht nur eine
Untersumme in einer Sequenz finden muss, sondern die selbe Untersumme in allen Sequenzen der
Basis an der selben Position erfllt sein muss, kann sie hier auch keinen Dynamic-Programming
Ansatz verwenden. Alles was Eve bleibt, ist das Durchprobieren aller mglichen UntersummenLngen und Positionen.
Sollte Eve dennoch die Lnge der Untersummen kennen,
so verhlt sich die Laufzeit fr die Suche nach der Position
einer Untersumme:
O

D!
(mod. Binominialkoeffizient)
UnUs ! DUs!

Entscheidet sich Alice also z.B. fr die Sicherheits-Parameter,


N = 256 Sequenzen pro Basis
D = 1024 Bits pro Sequenz
Un = 30 Untersummen pro Sequenz
Us = 10 Bit pro Untersumme
so wrde Eve zum Durchprobieren aller mglichen Sequenz-Kombinationen einer Basis
2

256

Versuche bentigen (worst case).


Sollte Eve irgendwie herausbekommen haben, welche Untersummenlnge Us Alice gewhlt hat, so
kann sie versuchen, mehrere Untersummen in einer der beiden Basen zu suchen. Sie wrde dazu
pro Untersumme jeweils
1024 !
3010 ! 102410!
2

Versuche bentigen (worst case).

73

Erwhnenswertes:
Whrend der Generierung der Basis-Sequenzen wird jedes Bit mit genau 50%
Wahrscheinlichkeit gesetzt. Lediglich das letzte Bit einer jeden Untersumme wird deterministisch
aufgrund der anderen Bits der Untersumme bestimmt. Da die anderen Bits der Untersumme jedoch
mit 50% Wahrscheinlichkeit zusammen 0 oder 1 ergeben, wird dieses Bit im Endeffekt
ebenfalls mit 50% Wahrscheinlichkeit gesetzt. Das Resultat sind 2 Basen von Bit-Sequenzen, die
keinerlei Struktur aufweisen...also fr Eve vllig zufllig erscheinen.
Des weiteren beluft sich die Wahrscheinlichkeit, dass whrend der Generierung der Basen eine
zufllige Untersumme entsteht, die in allen Sequenzen an der selben Positionen zu finden ist, auf:
up=0.5 N
Sollte die Gre der Untersummen Us kleiner sein als log2(N), so kann ein Sicherheitsrisiko
bestehen, da es weniger mgliche Untersummen-Kombinationen gibt, als Vektoren pro Basis. Daher
tauchen bestimmte Kombination mehr als einmal auf, so dass eine Struktur erkennbar werden
knnte. Daher sollte mindestens gelten:
Uslog2 N
Einfaches Beispiel: