Kryptografiska användning av slumptal: slumpmässighet och oförutsägbarhet

Kryptografiska användning av slumptal: slumpmässighet och oförutsägbarhet

Ett antal nätverk säkerhetsalgoritmer baserade på kryptografi göra använda av slumptal. Men två olika attribut krävs för olika användningsområden: slumpmässighet och oförutsägbarhet. Denna artikel sorterar ut skillnaderna.

Användning av slumptal

Här är några exempel av nätverkssäkerhet algoritmer som gör använda av slumptal.

--Ömsesidig autentisering system som Kerberos. I sådana system används slumptal för handskakning för att förhindra repetitionsattacker.
--Session nyckel generation, oavsett om den görs av en key distributionscenter eller av en av huvudmännen.
--Generering av nycklar för offentlig nyckel krypteringsalgoritmer, RSA.

Dessa program ge upphov till två olika och inte nödvändigtvis kompatibla för en sekvens av slumptal: slumpmässighet och oförutsägbarhet.

Slumpmässighet

Traditionellt, har oro för en sekvens av allegedly slumptal varit att ordna av numrerar vara random i vissa väl definierade statistisk mening. Följande två kriterier används för att validera att en sekvens av nummer är slumpmässigt:

--En enhetlig fördelning: fördelning av nummer i sekvensen bör vara enhetliga. Det är bör frekvensen av händelsen av var och en av siffrorna vara ungefär samma.
--Självständighet: Saknar ett värde i sekvensen kan härledas från de andra.

Även om det finns väldefinierade tester för att fastställa att en sekvens av nummer matchar en särskild distribution, till exempel de jämn fördelning, finns det inget sådant test att "bevisa" självständighet. Snarare kan ett antal tester användas för att påvisa om en sekvens ställer inte ut självständighet. Den allmänna strategin är att tillämpa ett antal sådana tester tills förtroendet att självständighet existerar är tillräckligt stark.
I samband med vår diskussion inträffar användningen av en sekvens av nummer som visas statistiskt slumpmässigt ofta i utformningen av algoritmer besläktade med kryptografi. Ett grundläggande krav i programmet RSA-kryptering med offentlig nyckel är exempelvis förmågan att generera primtal. I allmänhet, är det svårt att avgöra om ett visst stort antal N är prime. En brute force strategi skulle vara att dela upp N av varje udda heltal mindre än kvadratroten av N. Om N är på beställning, säg, 10 ^ 150, en inte ovanlig företeelse i asymmetrisk kryptering, sådan en brute force-metod är utom räckhåll för mänskliga analytiker och datorer. Dock finns ett antal effektiva algoritmer som testar primality av ett tal med en sekvens av slumpmässigt valda heltal som indata till relativt enkla uträkningar. Om sekvensen är tillräckligt lång (men långt, långt mindre än 10 ^ 150), primality av flera kan bestämmas med nära säkerhet. Denna typ av strategi, känd som randomisering, förekommer ofta i utformningen av algoritmer. I grund och botten om ett problem är för svårt eller tidskrävande att lösa exakt, används en enklare, kortare strategi som bygger på randomisering för att ge ett svar någon önskad nivå av förtroende.

Oförutsägbarhet

I program som ömsesidig autentisering och session nyckelgenerering är kravet inte så mycket att ordna av numrerar vara statistiskt slumpmässigt men att successiva sekvensen är oförutsägbara. Med "sann" slumpmässiga sekvenser är varje nummer statistiskt oberoende av andra nummer i sekvensen och därför oförutsägbar. Sanna slumptal används emellertid sällan. I stället en av två metoder tas: (1) sekvenser av nummer som verkar vara slumpmässiga genereras av vissa algoritm. I det här fallet måste vara försiktig att en motståndare inte att kunna förutsäga framtida inslag av sekvensen med hjälp av tidigare. Det finns ett antal effektiva slumpmässiga nummer generation algoritmer för detta ändamål. (2) slumptalsgeneratorer kan baseras på en oförutsägbar naturliga processer, såsom puls detektorer av joniserande strålning händelser, gas ansvarsfrihet rör och läckande kondensatorer. Sådan en slumpgenerator kan producera en utgång som är partisk på något sätt, till exempel att ha mer sådana än nollor eller vice versa. Olika metoder för att ändra en bitström till reducera eller eliminera bias har utvecklats.

Slutsats

Två typer av slumptal hitta programmet i kryptering och säkerhet, de som uppvisar slumpmässighet, och de som uppvisar oförutsägbarhet. Analytikern måste veta skillnaden och använda lämplig för ett visst program
För en lista över alla mina artiklar, gå till williamstallings.com/Articles