Kryptering 1
Talteoretiska algoritmer
Eratosthenes såll
Nedan ser vi en enkelt implementation av Eratosthenes såll.
De positioner i listan a vars element är lika med True är primtal.
Låt oss kontrollera om alla kvarvarande tal är primtal.
Fermats primtalstest och Carmichaeltal
För vilka låter vi oss luras att är ett primtal? Med andra ord, för vilka är ?
För vilka heltal kommer Fermats primtalstest finna att är sammansatt?
Det minsta Carmichaeltalet är , d.v.s. ett sammansatt tal som Fermats primtalstest inte kan visa är sammansatt.
Miller-Rabins primtalstest
Med funktionen valuation(a, p) kan man bestämma det stösta heltal sådant att .
Fermatfaktorisering
Pollars -metod
Pseudoslumptal
Blum-Blum-Shubs pseudoslumpbitsgenerator
Funktion BlumBlumShub returnerar en bitström om stycken bitar, som generats enligt Blum-Blum-Shubs pseudoslumpbitsgenerator. Argumenten och är slumpfrö respektive modulus. Heltalet ska vara produkten av två primtal och , som båda är kongruenta med~3 modulo~4. Välj t.ex. primtalen och . Båda ger resten vid division med~.
Startvärdet skapar vi genom att välja ett heltal som är relativt prima med , t.ex. .
Sätt .
Vi använder dessa värden för att generera en bitström av femton pseudoslumpbitar.
Linear Feedback Shift Register
LFSR (Linera Feedback Shift Register) är en annan metod att generera en ström av pseudoslumpbitar. Funktionen LFSR returnerar en bitström om bitar enligt rekursionsformeln där och . Om t.ex. där , , och , så är och . Låf . Då är . De tjugo första pseudoslumpbitarna ges av följande.
Lehmers slumptalsgenerator
Välj ett positivt heltal samt tre heltal , och~ i . Den rekursiva formeln genererar en följd av heltal . Då , , och så ges de tjugo första pseudoslumptalen av följande