Bloom-Blum-Fur coat algoritmus

Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt közreműködők, és jelentősen eltérhet a 2021. november 4-én felülvizsgált verziótól ; az ellenőrzések 4 szerkesztést igényelnek .

A Blum-Blum-Shub algoritmus ( angol.  Algorithm Blum-Blum-Shub , BBS) egy pszeudo-véletlen számgenerátor , amelyet 1986-ban Lenore Blum , Manuel Blum és Michael Shub javasolt .

A BBS így néz ki:

ahol két nagy prímszám és a szorzata . Az algoritmus minden lépésében a kimenet vagy a paritásbitből vagy egy vagy több legkisebb jelentőségű bitből származik .

A és a két prímnek egybe kell esnie 3 modulo 4 értékkel (ez garantálja, hogy minden másodfokú maradéknak van egy négyzetgyöke , ami egyben másodfokú maradék is ), és a legnagyobb közös osztónak , a gcd - nek kicsinek kell lennie (ez növeli a ciklus hosszát).

Ennek az algoritmusnak egy érdekessége, hogy a megszerzéséhez nem szükséges az összes előző számot kiszámítani, ha a generátor kezdeti állapota és a és számok ismertek . -adik érték "közvetlenül" kiszámítható a következő képlet segítségével:

,

ahol  a Carmichael függvény : ebben az esetben  a számok legkisebb közös többszöröse és .

Megbízhatóság

Ez a generátor alkalmas titkosításra , de nem szimulációra, mert nem elég gyors. Ugyanakkor szokatlanul nagy a tartóssága, amit a generátor minősége biztosít a számtényezős probléma számítási összetettsége alapján . Ha a prímszámokat gondosan választják ki, és mindegyik bitje a kimenet, akkor a határérték gyorsan növekszik, és a kimeneti bitek kiszámítása ugyanolyan nehéz lesz, mint a faktorizálás .

Ha az egész számok faktorizálása olyan nehéz (ahogy annak lennie kell), akkor egy nagy BBS kimenete mentes minden nem véletlenszerű mintától, amely elegendő számítással kimutatható. A faktorizálás gyors algoritmusa azonban lehetséges, ezért a BBS nem garantált megbízhatósága.

Jegyzetek

Irodalom