Algoritmus Bloom-Blum-Fur coat

Aktuální verze stránky ještě nebyla zkontrolována zkušenými přispěvateli a může se výrazně lišit od verze recenzované 4. listopadu 2021; kontroly vyžadují 4 úpravy .

Algorithm Blum - Blum - Shub ( angl.  Algorithm Blum - Blum - Shub , BBS) je generátor pseudonáhodných čísel navržený v roce 1986 Lenorem Blumem , Manuelem Blumem a Michaelem Shubem .

BBS vypadá takto:

kde je součin dvou velkých prvočísel a . V každém kroku algoritmu je výstup získán buď z paritního bitu nebo z jednoho či více bitů s nejnižší hodnotou .

Dvě prvočísla a , musí být obě shodné s 3 modulo 4 (to zaručuje, že každý kvadratický zbytek má jednu druhou odmocninu , což je také kvadratický zbytek ) a největší společný dělitel gcd musí být malý (tím se prodlužuje délka cyklu).

Zajímavou vlastností tohoto algoritmu je, že pro získání není nutné počítat všechna předchozí čísla, pokud jsou známy počáteční stav generátoru a čísla a . -tou hodnotu lze vypočítat "přímo" pomocí vzorce:

,

kde  je Carmichaelova funkce : v tomto případě  nejmenší společný násobek čísel a .

Spolehlivost

Tento generátor je vhodný pro kryptografii , ale ne pro simulaci, protože není dostatečně rychlý. Má však neobvykle vysokou odolnost, kterou zajišťuje kvalita generátoru založená na výpočetní složitosti problému rozkladu čísel . Když jsou prvočísla pečlivě vybírána a bity každého jsou výstupem, pak limit zabraný tak rychle roste a výpočet výstupních bitů bude stejně obtížný jako faktorizace .

Pokud je faktorizace celých čísel tak obtížná (jak se předpokládá), pak velký BBS bude mít výstup bez jakýchkoliv nenáhodných vzorů, které lze detekovat dostatečným výpočtem. Je však možný rychlý algoritmus faktorizace, a proto není zaručena spolehlivost BBS.

Poznámky

Literatura