Kryptografcké hašovací funkce - MAC, MDC kódy často stačí pouze autentzace původu č obsahu zprávy, případně ověření ntegrty ne vždy stačí k zajštění těchto požadavků vlastní šfrovací algortmus Použtí symetrcké systémy - slouží k rozpoznání pravost dešfrované zprávy asymetrcké systémy - rychlejší autentzace: spočítá se hašovací funkce nad danou zprávou a elektroncky se podepíše až výsledný hashkód ochrana hesel a passphrases Závsí-l výpočet hašovací funkce na tajném klíč, označujeme tuto funkc jako MAC (message authentzaton code). Pokud takový klíč použt není, jde o MDC (manpulaton detecton code). Sem-formální defnce MAC je funkce h splňující 1. zatímco argument X může být lbovolné délky, výsledek h(k, X) má pevnou velkost n ( n 32 64) 128.. 2. pro dané h a X je těžké určt h(k, X) s pravděpodobností úspěchu výrazněj převyšující 1/2 n. 3. se znalostí velkého množství zvolených párů {X, h(k, X )} musí být těžké určt K, nebo spočítat h(k, X) pro X X. MDC často dělíme na dvě skupny - OWHF, CRHF Funkc h označíme za OWHF (one-way hash functon) právě když: 1. zatímco argument X může být lbovolné délky, výsledek h(x) má pevnou velkost n ( n 128, dnes spíše 160... 256, 512 a více) 2. pro dané Y a h musí být těžké nalézt X aby Y = h(x) (tzv. premage resstance) 3. pro dané X a h(x) musí být těžké najít X aby h(x) = h(x ) (tzv. second premage resstance) CRHF (collson resstant hash functon) je taková funkce, která splňuje: 1. h je OWHF ( n 128, dnes spíše 160 a více) 2. musí být těžké najít pár X, X, tak, aby h(x ) = h(x ) (tzv. collson resstance) k samostudu problematky. Jeho obsah se nemusí shodovat s rozsahem látky přednášené v konkrétním semestru 1 / 20
není známa žádná dokazatelně bezpečná hašovací funkce, pouze známe funkce ekvvalentní s NP-úplným problémy Návrhy MDC funkcí praktcky všechny známé hašovací funkce pracují nad vstupem pevné délky terované hašovací funkce (terated hash f.) - delší vstup X je zpracováván opakováním výpočtu h H = IV 0 ( ) ( ) H = f X, H = 1, 2,..., t 1 X = H IV - ncalzační hodnota t často délka vstupu není násobkem délky vstupního bloku nutné zarovnání (paddng) zarovnání by mělo být jednoznačné (unambguous) - nesmí dvě různé zprávy doplnt na stejnou, je vhodné, aby na konec zprávy zapsovalo délku Tvrzení Pokud zarovnání obsahuje délku vstupní zprávy a tato je dlouhá alespoň 2 bloky, potom nalezení koldujícího vzoru h př pevném IV vyžaduje 2 n operací právě když nalezení koldujícího vzoru f př lbovolném H -1 vyžaduje 2 n operací. Tvrzení Předpokládejme jednoznačné zarovnání obsahující délku vstupní zprávy. Je-l f odolná vůč kolzím (collson resstant), je h CRHF. Hašovací funkce založené na blokových šfrách výhodné z hledska návrhu a mplementace většna schémat ekvvalentní s jedním z následujících Matyas, Meyer, Oseas ( ) ( ) f E s H, X = 1 délka hashkódu odpovídá délce vstupu, ( ) ( ) ISO/IEC 10118 p. 2 E K, X = E K, X X. k samostudu problematky. Jeho obsah se nemusí shodovat s rozsahem látky přednášené v konkrétním semestru 2 / 20
Preneel, Govaerts, Vandenwalle ( ) ( ) f = E s H, X H 1 1 v obou případech E je lbovolná bloková šfra, s je funkce mapující prostor zašfrovanách bloků do prostoru klíčů. Tyto funkce mohou být CRHF pokud délka bloku je alespoň 128 btů. Bezpečnost úměrná hodnotě mn(k,r). MDC-2 funkce dává hashkód dvojnásobné délky vstupu, vhodná pro mplementac CRHF pomocí DES. Občas pod názvem Meyer-Schllng (, 1 ) ( ) T1 = E H X = LT1 RT1 T2 = E H X = LT2 RT2, 1 H1 = LT1 RT2 H2 = LT2 RT1 H1 0 a H2 0 ncovány hodnotam IV 1 resp. IV 2, výsledek vznkne konkatenací H1 t a H2 t. ještě obrázek: MDC-4 k samostudu problematky. Jeho obsah se nemusí shodovat s rozsahem látky přednášené v konkrétním semestru 3 / 20
jeden krok se skládá ze dvou terací MDC-2, jako vstup druhé terace se použje H2-1 a H1-1. Funkc dnes považujeme za bezpečnou př použtí bezpečného šfrovacího algortmu. Hašovací funkce založené na modulární artmetce nejlepší schémata založena na umocňování na druhou modulo n f ( X H ) = modn X 2 1 použtím většího množství operací lze ještě zvýšt bezpečnost f ( ( ) ) 1 2 2 = H X modn Hašovací funkce založené na problému batohu zatím není jasné, zda problém batohu je těžký pouze v nejhorším případě, nebo zda je těžký v průměrném případě praktcky všechny systémy založené na problému batohu byly prolomeny k samostudu problematky. Jeho obsah se nemusí shodovat s rozsahem látky přednášené v konkrétním semestru 4 / 20
Specální MDC funkce algortmy navrhované od počátku jako výpočet hašovacích funkcí a potažmo MDC obvykle výkonnější MD4, MD5 MD4 navržen Rvestem, produkuje 128 btový výstup, terace ve třech cyklech publkován útok prot prvním dvoum cyklům algortmu autor provedl vylepšení MD5 MD5 pracuje nad vstupním bloky délky 512 btů, 128 btový výstup, pracuje ve čtyřech cyklech algortmus patří do stejné rodny hashovacích funkcí, jako SHA1 a má obdobnou strukturu v současné době publkovány útoky na kompresní funkc MD5, které sce neznamenají aktuální nebezpečí pro všechny mplementace využívající MD5, ncméně svědčí o slabost algortmu dle posledních výsledků lze oba algortmy považovat za prolomené, což platí obecně pro všechny algortmy s délkou dgestu do 160 btů SHA-1 message dgest funkce transformující zprávu lbovolné délky na 160-btový dgest. Pracuje ve třech krocích: o ncalzace zarovnání vstupu, příprava nterních datových struktur k samostudu problematky. Jeho obsah se nemusí shodovat s rozsahem látky přednášené v konkrétním semestru 5 / 20
o terace kompresní funkce teratvní aplkace kompresní funkce na bloky zprávy, akumulace hstore výpočtu o dokončení konstrukce fnálního výsledku z akumulovaných vntřních stavů Incalzace nejprve se doplní zpráva do násobku 512: doplní se 1, potom tolk nul, aby zpráva byla o 64 kratší než nejblžší vyšší násobek 512 a na konec do 64 btů zapsaná původní délka zprávy Incalzace řetězících proměnných: H 1 = 0x67452301 H 2 = 0xefcdab89 H 3 = 0x98bacdf H 4 = 0x10325476 H 5 = 0xc3d2e1f0 Iterace Kompresní funkce užívá následující nterní funkce: f(x, Y, Z) = (X Y) (( X) Z) g(x, Y, Z) = (X Y) (X Z) (Y Z) h(x, Y, Z) = (X Y Z) Zde znamená btové AND, je btové OR a btové XOR. Každý 512-btový blok X zprávy (16 32-btových bloků plantextu) je zpracován následujícím algortmem: X j p j pro j 0,, 15 for j= 16; j 79; j++) X j (X j-3 X j-8 X j-14 X j-16 ) <<< 1; (A, B, C, D, E) (H 1, H 2, H 3, H 4, H 5 ); for ( j= 0; j 19; j++) { t (A <<< 5) + f(b, C, D) + E + X j + y J ); (A, B, C, D, E) (t, A, B <<< 30, C, D); } for ( j=20; j 39; j++) { k samostudu problematky. Jeho obsah se nemusí shodovat s rozsahem látky přednášené v konkrétním semestru 6 / 20
t (A <<< 5) + h(b, C, D) + E + X j + y J ); (A, B, C, D, E) (t, A, B <<< 30, C, D); } for ( j=40; j 59; j++)\{ t (A <<< 5) + g(b, C, D) + E + X j + y J ); (A, B, C, D, E) (t, A, B<<<30, C, D); } for ( j=60; j 79; j++)\{ t (A <<< 5) + f(b, C, D) + E + X j + y J ); (A, B, C, D, E) (t, A, B <<< 30, C, D); } (H 1, H 2, H 3, H 4, H 5 ) (H 1 + A, H 2 + B, H 3 + C, H 4 + D, H 5 +E); Zde x <<< y znamená rotac x o y btů vlevo, y J je konstanta defnovaná pro dané kolo. Dokončení Po zpracování posledního bloku SHA-1 vyprodukuje dgest: dgest = H 1 H 2 H 3 H 4 H 5 Totéž jako obrázek: (zde y J odpovídá K t, tj. elementům konstantního pole 80 položek o délce 32 btů, W t je vstupní blok plantextu) k samostudu problematky. Jeho obsah se nemusí shodovat s rozsahem látky přednášené v konkrétním semestru 7 / 20
Na konc roku 2005 byl oznámen útok spočívající v nalezení kolze se složtostí 2 63 operací (Wang, Yao, Yao) Z praktckého hledska toto neznamená bezprostřední nutnost přestat SHA-1 používat, ale v nových mplementacích by měl být upřednostněn některý z novějších algortmů SHA-2 (SHA-224, SHA-256, SHA-384, SHA-512) prncpálně stejné algortmy, jako SHA-1 jednotlví členové rodny SHA-x se od sebe lší délkou slova (32, nebo 64 btů) a počtem kol 64 u SHA-256, 80 u SHA-512 jde o nově navržené algortmy, které by měly pokrývat dosud známe slabny předchozí generace Příprava konstant h0 := 0x6a09e667 h1 := 0xbb67ae85 h2 := 0x3c6ef372 h3 := 0xa54ff53a h4 := 0x510e527f h5 := 0x9b05688c h6 := 0x1f83d9ab h7 := 0x5be0cd19 k(0..63) 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5, 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174, 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da, 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967, 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13, 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85, 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070, 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3, 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208, 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2 Příprava vstupních dat na konec dat přpojt bt "1" doplnt bty "0" do celkové délky 448-64 (mod 512) doplnt původní délku dat v btech jako 64-bt bg-endan nteger Zpracování zprávy po 512 btových blocích každý blok rozložt do šestnáct 32-btových bg-endan wordů w(), 0 15 k samostudu problematky. Jeho obsah se nemusí shodovat s rozsahem látky přednášené v konkrétním semestru 8 / 20
expandovat šestnáct 32-bt wordů do šedesátčtyř 32-bt wordů: for from 16 to 63 do s0 (w(-15) >>> 7) (w(-15) >>> 18) (w(-15) >> 3) s1 (w(-2) >>> 17) (w(-2) >>> 19) (w(-2) >> 10) w() w(-16) + s 0 + w(-7) + s 1 enddo Incalzace a h 0 ; b h 1 ; c h 2 ; d h 3 ; e h 4 ; f h 5 ; g h 6 ; h h 7 Hlavní smyčka for from 0 to 63 do s 0 (a >>> 2) (a >>> 13) (a >>> 22) maj (a b) (b c) (c a) t 0 s 0 + maj s 1 (e >>> 6) (e >>> 11) (e >>> 25) ch (e f) (( e) g) t 1 h + s 1 + ch + k() + w() enddo h g; g f; f e; e d + t 1 ; d c; c b; b a; a t 0 + t 1 Přdání výsledku bloku do stavu výpočtu h 0 h 0 + a h 1 h 1 + b h 2 h 2 + c h 3 h 3 + d h 4 h 4 + e h 5 h 5 + f h 6 h 6 + g h 7 h 7 + h Konstrukce výsledku: dgest h 0 h 1 h 2 h 3 h 4 h 5 h 6 h 7 k samostudu problematky. Jeho obsah se nemusí shodovat s rozsahem látky přednášené v konkrétním semestru 9 / 20
Keccak (SHA-3) hashovací funkce založená na SPONGE struktuře hlavní funkcí je permutace využívající btové operace XOR, AND, NOT a rotace vítěz SHA-3 výzvy, standardzován 2012 Sponge struktura umožňuje akumulovat vstup a následně na základě stavu generovat výstup stav je btové pole o délce r + c r btrate c - kapacta k samostudu problematky. Jeho obsah se nemusí shodovat s rozsahem látky přednášené v konkrétním semestru 10 / 20
absorbce r-btový vstup je XORován s vntřním stavem, následuje f transformace mačkání ze sturktury je načteno r btů výstupu, následuje f transformace Keccakf stav S defnován jako 5 x 5 x 2 l btů f transformace: //-step dfuze na úrovn btů for {0,..,4}: (1) C[x] = A[x,0] xor A[x,1] xor A[x,2] xor A[x,3] xor A[x,4] for {0,..,4}: (2) D[x] = C[x-1] xor rot(c[x+1], 1) for (,) {{0,..,4}{0,..,4}}: (3) A[x,y] = A[x,y] xor D[x] //-step dfuze mez řezy stavu //-step zrušení x,y zarovnání pomocí přeházení lnek for (,) {{0,..,4}{0,..,4}}: B[y, 2x + 3y] = rot(a[x,y], r[x,y]) (rotace lnky a přesun jnam) zde r[x,y] je konstantní tabulka přesunů //-step nelneární mapování for (,) {{0,..,4}{0,..,4}}: (míchání se sousedy v plane) k samostudu problematky. Jeho obsah se nemusí shodovat s rozsahem látky přednášené v konkrétním semestru 11 / 20
A[x,y] = B[x,y] xor ((not B[x+1,y]) and B[x+2,y]) //-step zrušení symetre A[0,0] = A[0,0] xor RC ještě pár obrázků k samostudu problematky. Jeho obsah se nemusí shodovat s rozsahem látky přednášené v konkrétním semestru 12 / 20
Návrhy MAC funkcí obecná struktura stejná jako MDC, funkce f a případně IV závsí navíc na klíč K exstuje velm malé množství algortmů nejčastěj používanou metodou je počítání AES nebo podobného algortmu v modu CBC, resp CFB, konkrétní schemata se lší volbou případně kombnací zmíněných módů, použtím různých zarovnání Jnou možností je výpočet ( ) f = E K, X H X 1 Stream MAC potřebujeme kryptografcky bezpečný generátor pseudonáhodných sekvencí podle výsledku generátoru je vstupní bt přesunut do prvního nebo druhého posuvného regstru se zpětnou vazbou, výsledek určen konečným obsahem posuvných regstrů HMAC vlastně obecný návod jako zkonstruovat MAC na základě jakékolv hashovací (MDC) funkce: K ( ( m) ) ( m) = h( K opad) h( K pad) HMAC, kde oba bloky paddngu jsou defnovány jako konstanty opad=0x5c5c5c...5c, pad=0x363636...36 Rozbor nabízených a požadovaných vlastností hašovacích funkcí pro různé aplkace: Vlastnost premage 2nd premage odolnost prot kolz MDC+ asym. podps ano ano ano k samostudu problematky. Jeho obsah se nemusí shodovat s rozsahem látky přednášené v konkrétním semestru 13 / 20
MDC+ autentcký kanál ano ano Uložení hesel (MDC) ano MAC (neznámý klíč) ano ano ano Generátory pseudonáhodných sekvencí všechny tyto generátory jsou determnstckým p-tme algortmy, které na vstupu přjmou náhodný řetězec a expandují jej do (obvykle) mnohem delší posloupnost Defnce: Náhodná posloupnost je taková posloupnost, kterou nelze generovat programem kratším, než je ona sama. Defnce: Pseudonáhodnou posloupností budeme rozumět posloupnost délky n, o které žádný determnstcký p-tme algortmus není schopen s pravděpodobností větší než (1/n)+ε rozhodnout, zda se jedná o náhodnou posloupnost, č nkolv. Kongruenční generátor Lneární X = ( ax + b) 1 mod m př vhodné volbě a, b, m (např. m prvočíslo) generuje neopakující se posloupnost délky m - generátor s maxmální délkou 2 kvadratcký = ( 1+ + ) 3 2 kubcký = ( + + + ) X ax bx 1 c mod m X ax 1 bx 1 cx 1 d mod m kongruenční generátory jsou velm rychlé, avšak predkovatelné, byla vypracována analýza Posuvné regstry s lneární zpětnou vazbou (lnear feedback shft regsters) sestávají z posuvného regstru a vypouštěcí sekvence (tap sequence), což je polynom stupně max. délky posuvného regstru k samostudu problematky. Jeho obsah se nemusí shodovat s rozsahem látky přednášené v konkrétním semestru 14 / 20
v každém kroku je obsah regstru posunut o bt doprava, výstupem je nejpravější bt, regstr se zleva doplní o XOR těch btů v regstru, které odpovídají koefcentům vypouštěcího polynomu pro generátor s maxmální délkou nutno polynom volt prmtvní polynom stupně n 2 - reducblní polynom dělící x n 1 + 1, který nedělí x d + 1 pro lb d dělící 2 n - 1 Střídající stop-and-go generátor používá tř posuvné regstry s lneární zpětnou vazbou mpuls hodn jsou v závslost na hodnotě LFSR-1 přveden na LFSR-2 nebo LFSR-3, výstup těchto regstrů je XORován, čímž vznká výsledná hodnota. gnerátor má velm dlouhou perodu Blum-Mcal X X a 1 = mod p a, p prvočísla, bezpečnost plyne z obtížnost výpočtu dskrétního logartmu RSA generátor X = X 1mod n výsledkem nejnžší bt X. Bezpečnost ekvvalentní s bezpečností RSA Blum Blum Shub (BBS) e kde n je Blumovo číslo - součn dvou velkých prvočísel kongruentních s 3 mod 4. X X n 2 Generátor se ncalzuje hodnotou ( ) X je náhodné číslo nesoudělné s n. = 1 2 mod ( ) X = X mod n, kde 0 k samostudu problematky. Jeho obsah se nemusí shodovat s rozsahem látky přednášené v konkrétním semestru 15 / 20
Výsledkem je nejnžší bt X. Bezpečnost vyplývá z obtížnost faktorzace velkých čísel. Generátor je nepredkovatelný vlevo vpravo, ale je možné se znalostí faktorů p, q čísla n spočítat přímo lbv. prvek generované posloupnost! ( 2 ) mod( ( p 1)( q 1) ) X = X 0 mod n Dosud není známa metoda zlomení tohoto generátoru. Nevýhodou značná pomalost. Je možné dávat na výstup log log (n) btů stavu př zachování bezpečnost. Generátor Yarrow uvádím jako příklad komplexní konstrukce náhodného generátoru cílem útočníka je získat vntřní stav generátoru, pokud uspěje, může predkovat výstup generátoru, nebo rekonstruovat dřívější část výstupní posloupnost kvalta generátoru závsí na kvaltě vstupu, častým problémem nesprávný odhad mír entrope zdrojů generátor se skládá ze čtyř hlavních komponent: akumulátor entrope (entropy accumulator) mechansmus změny klíče (reseed mechansm) mechansmus generování (generaton mechansm) řízení změny klíče (reseed control) cílem je kvaltní akumulace entrope ze všech zdrojů, zajštění dostatečně častých (nealgortmckých!) změn klíče a občasná změna klíče, která bude pro útočníka nepřekonatelná v případě, že u některého zdroje došlo k nadhodnocení obsahu entrope Akumulátor entrope používají se dva pooly rychlý a pomalý každý pool je realzován jako kontext hashovací funkce (zde SHA-1), do kterého se přmíchávají vstupy tak jak přcházejí Mechansmus změny klíče na pokyn řízení změny klíče počítá novou hodnotu klíče K změna klíče na základě rychlého poolu využívá stávající klíč hash všech vstupů v rychlém poolu od poslední změny klíče k samostudu problematky. Jeho obsah se nemusí shodovat s rozsahem látky přednášené v konkrétním semestru 16 / 20
změna klíče na základě pomalého poolu využívá stávající klíč hash všech vstupů v rychlém poolu od poslední změny klíče hash všech vstupů v pomalém poolu od poslední změny klíče po změně klíče jsou vynulovány čítače entrope všech dotčených poolů Řízení změny klíče s každým zdrojem entrope je v poolu udržován čítač nashromážděných náhodných btů změna klíče z rychlého poolu se provede pokud aspoň jeden čítač přesáhne práh změna klíče z pomalého poolu se provede pokud aspoň k čítačů přesáhne práh práh pro rychlý pool bývá 100, pro pomalý 160, k se v závslost na prostředí volí 2 3 Mechansmus generování využívá se symetrcká šfra (3DES) běžící v tzv. counter módu vstupem pro šfru je obsah čítače C a klíč K: C (C + 1) mod 2 n výstup E K {C} mechansmus generování nejpozděj po 1 P g 2 n/3 btech nterně vygeneruje K btů a použje je jako nový klíč jde o tzv. generator gate, která zabraňuje útočníkov počítat do mnulost uvedená konstrukce je možná s použtím jných kryptografckých prmtv Generátory náhodných posloupností... produkují skutečně náhodné posloupnost odvozené od sledování nějakého nepredkovatelného rysu skutečného děje nutná průběžná kontrola funkčnost generátoru (tzn. náhodnost výstupu) Generátory založené na specálním hardware odvíjejí svoj čnnost od sledování nějakého fyzkálního jevu, který je ve své podstatě nepredkovatelný, zhusta dost sofstkovaně nevhodným způsobem: měření záření kousku radoaktvního materálu termální šum polovodče k samostudu problematky. Jeho obsah se nemusí shodovat s rozsahem látky přednášené v konkrétním semestru 17 / 20
měření stavu volně běžícího osclátoru vntřní šum zeslovače samovolné vybíjení kondenzátoru... Intel generátor dvojce rezstorů slouží jako zdroj tepelného šumu (měření napětí) výsledný sgnál zesílen a použt pro modulac pomalu běžícího osclátoru výstup pomalého osclátoru použt pro řízení samplování aktuálního stavu volně běžícího rychlého osclátoru následně korekce výstupu na základě dvojc výstupů měření: 01 => 1, 10 => 0, ostatní dvojce se gnorují odhadovaná kvalta výstupu je kolem 0,999 btů entrope na bt výstupu (za korektorem), rozumné počítat 0,5 btu entrope na bt na HW část generátoru zpravdla navazuje SW drver: 512 btů stavu (16 slov) aktualzace: spočítá SHA-1 hash původního stavu (5 slov, poslední slovo jde na výstup) přdá 32 btů vstupu z HW (1 slovo) nakonec přpojí úvodních 10 slov předchozího stavu zlepšuje výsledné kryptografcké vlastnost výstupu Generátory softwarové jsou založeny na pozorování jevů v počítač, které jsou z hledska programu náhodné: doba odezvy dskového systému čas mez stsky kláves užvatelem pohyb myš systémový časovač stav vntřních tabulek OS statstky síťové komunkace... zásadním problémem odhad množství a rozložení entrope v generovaných datech k samostudu problematky. Jeho obsah se nemusí shodovat s rozsahem látky přednášené v konkrétním semestru 18 / 20
Testy náhodných generátorů Monobt test zda počet 1 a 0 je přblžně správný ( n n ) 2 0 1 Χ 1 = n zde n 0 je počet 0, n 1 je počet 1 ve vzorku délky n. Seral test zda počet výskytů 00, 01, 10 a 11 je přblžně stejný, jednotlvé podřetězce se mohou překrývat. 4 2 2 2 2 2 2 2 Χ2 = ( n00+ n01+ n10+ n11) ( n0 + n1 ) + 1 n 1 n zde n xx výskytů řetězce xx ; n 00 +n 01 +n 10 +n 11 = n 1 Poker test zkoumá, zda posloupnost obsahuje zhruba stejný počet všech možných podposloupností délky m n n m buď m tž. 5( 2 ) m a položme k = m vstupní posloupnost rozdělíme na k nepřekrývajících se podposloupností délky m, označíme n počet výskytů -tého typu podposloupnost m m 2 2 2 Χ n 3 = k k = 1 Runs test zda vstupní posloupnost obsahuje správný počet běhů, tj. posloupností samých nul + e = n + 3 2 (díry) a jednček (bloky); očekávaný počet běhů délky je ( ) 2 nechť k je nejvyšší hodnota tž. e 5. k 2 k 2 ( B e) ( G e) Χ4 = + = 1 e = 1 e Zde B je počet bloků, B počet děr délky. Autocorellaton test cílem je srovnání korelace mez vstupní posloupností s a její posunutou verzí k samostudu problematky. Jeho obsah se nemusí shodovat s rozsahem látky přednášené v konkrétním semestru 19 / 20
buď d tž. 1 d n 2 n d označíme ( ) = 1 A d Χ 5 = 2 A n d 2 s = 0 s + d ( d) n d, počet btů, ve kterých se s lší od posunuté verze na základě uvedených krterí je následně možno defnovat sady statstckých testů, např. FIPS140-1 test náhodnost: vstupem testu je výstupní posloupnost generátoru o délce 20 000 btů, která musí splnt všechna čtyř krtera 1. monobt test: s požadavkem 9654 < X 1 < 10346 2. poker test: Χ 3 počítané pro m = 4 musí vyhovovat 1,03 < 4 57, 4 3. runs test: počítají se běhy délky 1 až 6 (všechny delší běhy se počítají jako by měly délku 6), pro všech 12 druhů běhů musí platt délka mn max 1 2267 2733 2 1079 1421 3 502 748 4 223 402 5 90 223 6 90 223 4. long run test: žádný běh delší než 34 tato sada testů musí být aplkována př každém spuštění generátoru k samostudu problematky. Jeho obsah se nemusí shodovat s rozsahem látky přednášené v konkrétním semestru 20 / 20