Bloom-Blum-Päls-algoritm

Den aktuella versionen av sidan har ännu inte granskats av erfarna bidragsgivare och kan skilja sig väsentligt från versionen som granskades den 4 november 2021; kontroller kräver 4 redigeringar .

Algoritm Blum - Blum - Shub ( Eng.  Algorithm Blum - Blum - Shub , BBS) är en pseudo-slumptalsgenerator som föreslagits 1986 av Lenore Blum , Manuel Blum och Michael Shub .

BBS ser ut så här:

där är produkten av två stora primtal och . Vid varje steg av algoritmen erhålls utsignalen från antingen paritetsbiten eller en eller flera minst signifikanta bitar .

De två primtalen, och , måste båda vara kongruenta med 3 modulo 4 (detta garanterar att varje kvadratisk rest har en kvadratrot , som också är en kvadratisk rest ) och den största gemensamma divisorn gcd måste vara liten (detta ökar cykellängden).

En intressant egenskap hos denna algoritm är att för att erhålla det inte är nödvändigt att beräkna alla tidigare siffror om initialtillståndet för generatorn och siffrorna och är kända . -th värde kan beräknas "direkt" med hjälp av formeln:

,

var  är Carmichael-funktionen : i detta fall  den minsta gemensamma multipeln av talen och .

Tillförlitlighet

Denna generator är lämplig för kryptografi , men inte för simulering eftersom den inte är tillräckligt snabb. Den har dock en ovanligt hög hållbarhet, vilket tillhandahålls av kvaliteten på generatorn baserat på beräkningskomplexiteten i nummerfaktoriseringsproblemet . När primtalen väljs noggrant, och bitar av varje är utdata, så växer gränsen som tas så snabbt, och att beräkna utdatabitarna blir lika svårt som faktorisering .

Om faktorisering av heltal är så svårt (som det är tänkt att vara), så kommer en stor BBS att ha en utdata fri från alla icke-slumpmässiga mönster som kan detekteras med tillräcklig beräkning. En snabb algoritm för faktorisering är dock möjlig, och därför är BBS inte garanterat tillförlitlig.

Anteckningar

Litteratur