Privacy Policy Cookie Policy Terms and Conditions Blum-Blum-Shub-Generator - Wikipedia

Blum-Blum-Shub-Generator

aus Wikipedia, der freien Enzyklopädie

Der Blum-Blum-Shub-Generator (BBS-Generator) (auch "s² mod n"-Generator) ist ein Pseudozufallszahlengenerator entwickelt 1986 von Lenore Blum, Manuel Blum und Michael Shub. Anwendung findet das System u. a. in der Kryptologie im Entwurf komplexitätstheoretisch sicherer Kryptosysteme.

Inhaltsverzeichnis

[Bearbeiten] Prinzip

Der BBS-Generator ist definiert als Folge

s0 = s2 mod n
si+1 = (si)2 mod n

wobei n=pq (n wird auch Blum-Zahl genannt) das Produkt zweier Einschränkungen unterworfener Primzahlen ist.

  • p und q sollten gross, ungleich und etwa gleichdimensioniert sein, d.h. etwa mindestens 100 Dezimalstellen
  • p ≡ q ≡ 3 mod 4
  • (p-1), (p+1), (q-1) und (q+1) sollten mindestens einen grossen Primfaktor haben

Kommt man den Forderungen nicht nach, dann lässt sich n zu leicht in seine Primfaktoren p und q zerlegen, was im Anwendungsfall (z. B. als Kryptosystem) dann einem Brechen entspricht.

Für den Startwert s (englisch: seed) des BBS-Generators gilt: s \in \{a \in N \mid 0<a<n, ggT(a,n)=1\}.

[Bearbeiten] Anwendung

[Bearbeiten] Symmetrisches Kryptosystem

Zunächst wird der BBS-Generator zur Umsetzung eines symmetrischen Kryptosystems verwendet. Als geheimer Schlüssel zwischen Sender und Empfänger dienen n und der Startwert s des Generators.

Z. B. generiert der Sender aus n=7\cdot11=77 und s=64 nach der oben angegebenen Vorschrift die Folge der si. Die zugehörige Pseudozufallszahl bi ergibt sich aus dem letzten Bit (äquivalent zu mod 2) des jeweiligen Wertes von si,d. h. bi=si mod 2. Um den Schlüsseltext zu bestimmen wird der Klartext (im Beispiel: 0011) XOR mit der Pseudozufallszahlenfolge verknüpft.

 generierte Folge         15 71 36 64 ...
 Pseudozufallszahlenfolge  1  1  0  0 ...
 Klartext                  0  0  1  1
 Schlüsseltext             1  1  1  1

Der Empfänger bestimmt seinerseits aus den geheimen Werten n und s die Folgen si und bi. Mihilfe des übersendeten Schlüsseltextes wird wiederum mittels XOR der Klartext berechnet.

 generierte Folge         15 71 36 64 ...
 Pseudozufallszahlenfolge  1  1  0  0 ...
 Schlüsseltext             1  1  1  1
 Klartext                  0  0  1  1

[Bearbeiten] Asymmetrisches Kryptosystem

Zur Umsetzung eines asymmetrischen Kryptosystems eignet sich der BBS-Generator ebenfalls. Dieses Verfahren wurde 1984 von Manuel Blum und Shafi Goldwasser vorgeschlagen und auch als Blum-Goldwasser-Kryptosystem bezeichnet. Der geheime Schlüssel auf Seiten des Empfängers sind die Primfaktoren p und q.

Senderseitig läufen die Berechnungen analog zum obigen symmetrischen Fall ab. Zusätzlich zum Schlüsseltext x_0 \oplus b_0, \ldots, x_i \oplus b_i wird aber noch si+1 gesendet. Da der Empfänger den Startwert nicht kennt, bildet er mithilfe der geheimen Primzahlen p und q die Folge der Pseudozufallszahlen ausgehend vom versendeten si+1 bis zum Startwert s zurück. Für das Beispiel bedeutet das, der Empfänger erhält 1111 sowie s4=15.

si-1 = (up\cdotsi(q+1)/4 mod q + vq\cdotsi(p+1)/4 mod p) mod n

Der Ansatz bedient sich des Chinesischen Restealgorithmus, einem Spezialfall des chinesischen Restsatzes. Die beiden Unbekannten u und v sind von den Primfaktoren p und q abhängig und werden zu Beginn mithilfe des erweiterten Euklidischen Algorithmus bestimmt. Dabei gilt up+vq=1, also 2\cdot11-3\cdot7=1 im Beispiel. Damit ergibt sich die folgende Abarbeitung.

s3 = (22\cdot152 mod 7 - 21\cdot153 mod 11) mod 77
s3 = (22\cdot1 - 21\cdot9) mod 77 = 64
s2 = (22\cdot642 mod 7 - 21\cdot643 mod 11) mod 77
s2 = (22\cdot1 - 21\cdot3) mod 77 = 36
s1 = (22\cdot362 mod 7 - 21\cdot363 mod 11) mod 77
s1 = (22\cdot1 - 21\cdot5) mod 77 = 71
s0 = (22\cdot712 mod 7 - 21\cdot713 mod 11) mod 77
s0 = (22\cdot1 - 21\cdot4) mod 77 = 15
s = (22\cdot152 mod 7 - 21\cdot153 mod 11) mod 77
s = (22\cdot1 - 21\cdot5) mod 77 = 64

Empfängerseitig wird nun analog zum symmetrischen Fall aus der eben rückwärts berechneten BBS-Generatorfolge die Folge der Pseudozufallszahlen bestimmt und letztendlich durch XOR-Verknüpfung mit dem Schlüsseltext der Klartext generiert.

Ein so konstruiertes asymmetrisches Kryptosystem ist jedoch nicht sicher gegen aktive Angreifer, z. B. durch einen gewählter Schlüsseltext-Klartext-Angriff (englisch: chosen-ciphertext attack).

[Bearbeiten] Sicherheit

Zur Zeit kann keine Aussage getroffen werden, wie schwer Faktorisierung ist. Mit anderen Worten, die Frage nach einem Algorithmus, der in annehmbarer Zeit bei Eingabe beliebiger n die Primfaktorzerlegung in p und q durchführt, bleibt unbeantwortet. Somit kann die Problematik lediglich mithilfe einer Annahme abgegrenzt werden.

Faktorisierungsannahme (FA): Die Wahrscheinlichkeit, dass ein schnelles Faktorisierungsverfahren eine ganze Zahl n=pq mit Erfolg faktorisiert, sinkt rapide mit Länge der Faktoren p und q.

Für konkrete praktische Anwendungen fordert man dann, dass bei gegebener Länge der Primfaktoren nur ein bestimmter Teil in einer bestimmten Zeit mit maximal verfügbarer Rechnerkapazität faktorisiert werden kann, also z. B. bei einer Länge von 1024 Bit werden 2-50% aller n in einem Jahr faktorisiert.

Die Sicherheit des BBS-Generators kann über die Faktorisierungsannahme bewiesen werden. Einen anderen auf der Funktionalität beruhenden Nachweis bietet die Quadratische-Reste-Annahme (QRA) (englisch: quadratic residuosity assumption). Diese resultiert aus der (wiederum nicht bewiesenen) Schwere (im Sinne von aufwändig) des Quadrattests in einem Restklassenring. Mit anderen Worten, ist eine Zahl das Quadrat einer anderen bzgl. des gegebenen Restklassenrings. Zwei Punkte erschweren diesen Test. Erstens gibt es in einem Restklassenring mehrere Wurzeln zu einer gegebenen Zahl. So haben z. B. im \mathbb{Z}/4\mathbb{Z} 0 und 2 sowie 1 und 3 die gleichen Quadrate. Zweitens interessiert man sich nur für solche Quadrate, die selbst Quadrate sind. Diesen Umstand kann man sich mithilfe der Definition der BBS-Generatorfolge verdeutlichen.

Zusammenfassend gilt daher: Der Generator ist sicher, weil die Umkehrung des Quadrierens in einem Restklassenring \mathbb{Z}/n\mathbb{Z} mit zusammengesetztem Modul n genauso schwierig ist wie die Faktorisierung von n.

Static Wikipedia 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -