Generator Blum


Generator Blum-Blum-Shub (BBS) nosi nazwę od nazwisk trzech jego wynalazców. Niekiedy bywa on też nazywany generatorem reszt kwadratowych. Podstawą teoretyczną jego działania jest obliczanie reszt kwadratowych modulo n. Generator ten działa w taki sposób, że należy wziąć dwie liczby pierwsze p i q, które są kongruentne względem 3 modulo 4. Iloczyn tych liczb n=p.q jest liczbą całkowitą Bluma. Następnie należy wybrać inną losową liczbę całkowitą x, względnie pierwszą z n, i obliczyć:

x0=x2 mod n


Liczba ta jest wartością początkową dla generatora. Rozpoczyna się proces wytwarzania binarnego ciągu losowego. Elementem o numerze i w ciągu pseudolosowym jest najmniej znaczący bit liczby xi, przy czym

xi=x2i-1 mod n


Jeżeli są znane wartości p i q, to bit i może być obliczony bezpośrednio ze wzoru

xi=x0(2i) mod ((p-1)(q-1)) mod n


Właściwość ta oznacza, że można wykorzystać ten silny kryptograficznie generator pseudolosowego ciągu bitów jako strumieniowy system kryptograficzny dla plików o dostępie bezpośrednim.

Bezpieczeństwo tego algorytmu opiera się na trudności faktoryzacji liczby n. Dla danego ciągu wytworzonego przez BBS kryptoanalitycy nie mogą przewidzieć wartości kolejnego bitu w ciągu lub wartości bitu poprzedniego.

Generator BBS jest względnie powolny i w związku z tym niezbyt użyteczny dla szyfrów strumieniowych, jednak przy zastosowaniach wymagających silnego zabezpieczenia, takich jak wytwarzanie kluczy, jest on najlepszy.

Blum Blum Shub to generator liczb pseudolosowych (PRNG) postaci:

0x01 graphic

gdzie xn to kolejne stany, zaś M to iloczyn dwóch dużych liczb pierwszych dających w dzieleniu przez 4 resztę 3, i mających możliwie mały 0x01 graphic
, a φ jest funkcją Eulera (co zapewnia długi cykl). Wynikiem generatora jest kilka ostatnich bitów xn.

Funkcja φ Eulera (inaczej tocjent) - funkcja matematyczna, która każdej liczbie naturalnej n przypisuje liczbę tych liczb względnie pierwszych z n, które są mniejsze od n. Na przykład, φ(6)=2, bo spośród liczb naturalnych mniejszych od 6 tylko liczby 1 i 5 są względnie pierwsze z 6.

Wzór ogólny

Można udowodnić, że dla każdej liczby naturalnej n prawdziwy jest wzór:

0x01 graphic

gdzie 0x01 graphic
są wszystkimi dzielnikami pierwszymi n.

Wartość dla liczb pierwszych

Jeżeli p jest liczbą pierwszą to każda z liczb 1,2,...p-1 jest względnie pierwsza z p, więc:

0x01 graphic

Wartość dla liczb względnie pierwszych

Jeżeli liczby całkowite m i n są względnie pierwsze, to

0x01 graphic



Wyszukiwarka

Podobne podstrony:
15 Sieć Następnej Generacjiid 16074 ppt
Solid Edge Generator kół zębatych
37 Generatory Energii Płynu ppt
40 0610 013 05 01 7 General arrangement
Eksploatowanie częstościomierzy, generatorów pomiarowych, mostków i mierników RLC
Biomass Fired Superheater for more Efficient Electr Generation From WasteIncinerationPlants025bm 422
Instrukcja generator sinusoidalny
F2A GENERALMATIC
General Electric
generacja rozproszona w nowoczesnej polityce energetycznej
Generatory przebiegow niesinuso Nieznany
Czym się różnią czujniki generacyjne od parametrycznych
Sprawko generatory RC
generatory itesty
Generating CNC Code with Edgeca Nieznany
Eurocode 5 EN 1995 1 1 Design Of Timber Structures Part 1 1 General Rules
generatorbottom

więcej podobnych podstron