3 Optoelektronický generátor náhodných čísel Fyzikální generátor náhodných čísel může být založen na nejrůznějších fyzikálních procesech Jde přitom o to, aby proces samotný byl náhodný ve smyslu nepředpověditelnosti výsledku jeho individuální realizace a vzájemné nekorelovanosti takovýchto individuálních realizací Tato náhodnost může být praktická, kdy systém je sice po teoretické stránce považován za deterministický, ale je popsán mnoha (často neúplně známými) parametry a obvykle není přesně znám jeho počáteční stav (nebo je technicky obtížné připravit systém opakovaně ve stejném počátečním stavu, příkladem takového generátoru náhodných čísel je třeba ruleta), Na tomto principu fungují generátory založené na sledování šumu (např elektrický šum na Zenerově diodě) fundamentální, kdy náhodnost je zahrnuta přímo ve fyzikální podstatě jevu a jev je jako náhodný popsán i fyzikálními zákony V oblasti kvantové fyziky existuje celá řada jevů, které jsou náhodné ze své samotné podstaty Zákony kvantové mechaniky popisují chování souborů kvantových objektů, nejsou ale, vyjma speciálních případů, schopny předpovědět s určitostí chování individuálního kvantového objektu; předpovídají pouze pravděpodobnosti, s jakými nastane ten či onen konkrétní jev Důvodem přitom není, jak dnes dotvrzuje velké množství experimentálních dat, momentální neznalost jakýchsi skrytých proměnných - jde o skutečně fundamentální vlastnost mikrosvěta, kterou nelze nijak obejít! To poskytuje velmi dobrý prostor pro konstrukci generátoru náhodných čísel splňujícího nejpřísnější kritéria vyžadovaná např kryptologickými aplikacemi Vybereme-li nějaký elementární kvantový proces, který jsme schopni dobře teoreticky analyzovat, tj určit pravděpodobnosti všech jeho možných výsledků, a jsme-li schopni takový proces opakovaně za dobře definovaných podmínek experimentálně realizovat, můžeme jej použít jako základ pro generaci náhodných čísel 31 Zvolený fyzikální proces dělení světla na děliči svazku Jedním z elementárních kvantových procesů je dopad světelného kvanta-fotonu na tzv dělič svazku Jedná se o zařízení, které se v klasické optice používá k rozdělení jednoho svazku světla na dva Může jít např o tzv polopropustné zrcadlo, existuje však i celá řada jiných konkrétních realizací tohoto prvku V našem případě jsme zvolili vláknovou implementaci v podobě vláknového děliče Zajímavé pro nás je, že snižujeme-li intenzitu světla, začne se projevovat jeho kvantový charakter Světelná energie se totiž šíří v malých nedělitelných dávkách-fotonech Dopadne-li jediný foton na dělič svazku, nemůže se rozpůlit; může prostě jen zvolit jednu ze dvou možných cest To kterou se vydá, je náhodný jev v nejryzejším smyslu Popis generátoru Generátor má tři části Optická část Řídící elektronika Napěťový zdroj Rozměry: 33 33 14 cm 3 Vstupní napětí: 230 V AC Přípojka na PC: paralelní port 1
32 Optická část >> >> Obrázek 1: Schéma optické části Celá optická část je složená z vláknových komponent Zdroj: Pigtailovaná (navázaná přímo do vlákna) laserová dioda Optické pulzy jsou zeslabeny pomocí dvou atenuátorů (hrubý, jemný) Pravděpodobnost detekce jednotlivého optického pulzu na každém detektoru je nastavena na 40% 33 Řídící elektronika Obrázek 2: Schéma elektrického zapojení Obrázek 3 odpovídá dvěma cyklům délky 200 ns Detektor zaznamenal foton v prvním cyklu, v druhém ne Do desky ADSP byla tedy odeslána sekvence bitů 10 Časový bod 0: klopné obvody D jsou vynulovány, generuje se laserový pulz Časový bod 3: TTL pulz z detektoru (pokud zaznamenal foton) dorazí k D Časový bod 7: stavy obou detektorů jsou načteny do paměti desky ADSP přes sériové porty 2
Obrázek 3: Časování jednotlivých elektrických signálů 34 Falešné detekční události Detekce fotonů, které nejsou z laserové diody: Jsou potlačeny díky vláknovým komponentám a uzavřením zařízení v boxu Temné pulzy: Jsou způsobené termálními excitacemi nosičů v detektoru Jsou minimalizovány termoelektrickým chlazením lavinové fotodiody na 25 C Mrtvá doba: Po detekci fotonu se spustí lavinový průraz Průrazné napětí je odpojeno z p-n přechodu a lavina se zastaví Během doby, kdy je průrazné napětí odpojeno detektor nemůže detekovat další fotony (nespustí se lavina) After-pulzy: Pokud se některý nosič z laviny zachytí na nějakém centru Může se po opětném připojení průrazného napětí uvolnit a spustit falešnou lavinu Zanedbatelné díky nastavení dlouhé mrtvé doby 150 ns Celkový počet falešných detekcí je 150 za sekundu Poměr falešných pulzů vůči chtěným detekcím fotonů z laserové diody je 1 10 4 Tabulka 1: Detekční pravděpodobnosti optických pulzů diody na oboou detektorech Detektor 0 Detektor 1 po 0 po 1 nepodmíněná po 0 po 1 nepodmíněná hned po startu 4950% 4304% 4650% 4686% 4677% 4682% 15 min temperování 4264% 4181% 4227% 4809% 4805% 4806% Detekční pravděpodobnost detektoru 0 je závislá na výsledku v předešlém cyklu Pokud došlo k detekci, je v dalším cyklu detekční účinnost nižší o 65% Naštěstí se tento jev po ustálení teplotní rovnováhy v generátoru (15-20 minutes) Proto je třeba generátor před započetím generování dobrých náhodných dat temperovat, tj generovaná data se testují a teprve po té, co splňují kritérium na kvalitu, se přejde k záznamu dat 3
35 Provoz generátoru náhodných čísel Generátor se z řídícího PC může přepínat mezi 4 mody Mod 0: stavy klopných obvodů D jsou v každém cyklu zaznamenány a odeslány do PC v bloku (13 kbyte) pro ověření bezchybné funkce Mod 1: Do PC se přenáší pouze součty bitů 1 s v 13 kbytových blocích (pro každý detektor) slouží k nastavení detekční pravděpodobnosti na obou detektorech Mod 2: Do PC se přenáší 8 kbytové bloky hrubých dat Tabulka 2: Generace hrubých dat ze stavu detektorů v jednom cyklu Stavy detektorů D 1 a D 0 00 01 10 11 Vygenerovaný hrubý Bit 0 1 Vyváženost 0 a 1 kolísá v čase (Obr 4) Mod 3: Do PC se posílají 2 kbytové bloky vyvážených dat + k vyvážení se používá nejjednodušší procedura navržená von Neumannem + vyvážení 0 a 1 je vynikající 50:50 (Obr 5) efektivita je pouze 25% Tabulka 3: Generace vyvážených dat z hrubých dat pár Bitů hrubých dat 00 01 10 11 vygenerovaný vyvážený Bit 0 1 Tabulka 4: Časy a rychlost generace v jednotlivých modech Mod záznam zpracování přenos blok čas rychlost # ms ms ms kbyte ms kbyte/s 0 21 1 69 26 70 373 1 21 24 1-45 - 2 25 45 21 8 70 114 3 25 47 5 2 72 28 4
Obrázek 4: Rovnováha 0 s a 1 s v souboru hrubých dat Obrázek 5: Rovnováha 0 s a 1 s v souboru vyvážených dat 5
36 Testy dat Testy náhodných dat ověřují některé statistické vlastnosti dat Výsledné hodnoty se porovnají s teoretickou hodnotou očekávanou pro ideální náhodná data Pokud je výsledek konzistentní s teoretickou předpovědí, pak se říká, že generátor testem prošel Tz tento test nenašel rozdíl mezi skutečně náhodnými daty a testovanými daty Čím více různými testy data projdou, tím je možné datům více věřit 361 Diehard 15 statistických testů navržených G Marsagliem, WWW: http://statfsuedu/ geo/diehardhtml Tabulka 5: Soupis výsledků 15 testů Diehard prošel, neprošel Test # 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 hrubá data vyvážená Vyvážená data generovaná v modu 3 projdou všemy 15 testy 362 Autokorelace mezi bity ve vzdálenosti m Γ(m) = 1 N N x i x i+m i=1 m = 1,, 10, pro N = 2 23 Výsledné Γ leží v intervalu od 049953 do 050009, tj neexistuje žádná korelace mezi sousedními bity vygenerované vyvážené posloupnosti 363 Monte Carlo odhad π Vygenerovali jsme osm souborů vyvážených dat o velikosti 10 MByte, spočítáme π z každého souboru a z nich potom průměr a standardní odchylku: π = (31430 ± 00012) Tento test namapuje 8Bytu na souřadnice bodu ve čtverci Z toho, že výsledek je dobrý lze říci, že vygenerované body jsou v ploše rovnoměrně rozmístěny 37 Závěr Předvedli jsme funkční prototyp generátoru náhodných čísel Je založen na fundamentální náhodnosti dané kvantovou mechanikou Zařízení se skládá z běžně dostupných komponent Lze ho připojit k libovolnému PC s paralelním portem Stabilní generaci garantuje vláknové provedení a umístění v ochranném boxu Vygenerovaná vyvážená data splňují všechna studovaná kritéria náhodnosti Rychlost generace vyvážených dat je 28 kbyte/s 6