Ačkoliv to možná na první pohled nevypadá, generování náhodných čísel bylo vždy pro počítače velmi záludné. Jde totiž velmi hrubě proti samotné povaze počítačů, které byly vymyšleny tak, aby byly co nejvíce předpověditelné. Výsledkem těchto protichůdných tlaků obvykle je, že počítač vytváří víceméně pseudonáhodná čísla. A to bývá problém.
Náhodná čísla jsou totiž velmi důležitá pro celou řadu aplikací v mnoha odvětvích. Zcela zásadní jsou v šifrování dat. Většina soudobých postupů při šifrování doslova závisí na neustálém generování náhodných čísel. A protože to nejsou skutečně náhodná čísla, ale pseudonáhodná čísla, tak takové šifrování může relativně snadno prolomit šikovný software, který v pseudonáhodných číslech brzy objeví určité uspořádání a šifru prorazí.
Vědci po celém světě se proto snaží vymýšlet postupy, které by zajistily skutečná náhodná čísla. Tým britské University of Glasgow vyvinul nový, úchvatný a téměř alchymistický postup pro získávání náhodných čísel, který využívá růst krystalů. Zkřížili chemii se softwarem. Jejich výzkum publikoval časopis Matter.
Proč zrovna růst krystalů? Proces krystalizace je náhodný kvůli tomu, že přechod chemických látek z neuspořádaného stavu v roztoku do více uspořádaného krystalu ovlivňuje mnoha rozmanitých faktorů. Důsledkem toho je, že se během krystalizace objevuje celá řada náhodných parametrů, počínaje geometrií rostoucích krystalů, až po načasování jejich vzniku.
Aby Lee Cronin a jeho kolegové mohli vytěžit z krystalizace náhodná čísla, postavili si k tomu důmyslného Krystalizačního robota. Součástí tohoto automatizovaného systému byly krystalizační misky, v nichž krystalizovaly různé roztoky, společně s nezbytnými obslužnými mechanismy, a pak také kamera. Krystalizační robot pořizoval snímky probíhajících krystalizací. Tyto snímky pak systém převáděl na soubory nul a jedniček, podle toho, jak rostly krystaly. Nakonec Krystalizační robot složil nuly a jedničky dohromady a získal náhodné číslo.
Croninův tým svůj krystalizační generátor náhodných čísel vyzkoušel společně s běžnou komerční šifrující aplikací. Oba systémy měly za úkol zašifrovat slovo, kterým bylo příznačné „crystal“. Pak použili běžný systém na prolamování šifer. Ukázalo se, že prolomit šifru Krystalizačního robota bylo pro tento systém těžší, takže tahle zvláštní metoda generování náhodných čísel funguje.
Video: New Materials : Digitizing Chemistry - Lee Cronin, Professor at Glasgow University
Literatura
Phys.org 19. 2. 2020, Matter online 10. 2. 2020.
DARPA financuje vývoj nehacknutelného systému Morpheus
Autor: Stanislav Mihulka (20.12.2017)
Fyzici stopují časové krystaly v běžných krystalech pro děti
Autor: Stanislav Mihulka (05.05.2018)
První praktický kvantový generátor náhodných čísel by měl zastavit kyberútoky
Autor: Stanislav Mihulka (08.07.2018)
Diskuze:
zbytečně složitý
Jiří Petráš,2020-02-24 17:43:25
Já si myslím, že to je zbytečně složitý, že stačí analogový elektronický obvod. Např když teplotním čidlem budu měřit teplotu s přesností na miliontiny stupně. Teplotní čidlo takovou přesnost neumí, umí běžně jen desetiny stupně. Další řády jsou prakticky teplotní šum malého čidla, ten je náhodný. Když od těch desetin několik řádů vynechám a použiju např jen ty miliontiny stupně, k tomu vezmu vzorkování např po nějakých milisekundách nebo delší, tak mám náhodný čísla. Je mě jedno jak se skutečná teplota okolí mění, nebo jestli je stabilní. Technicky jde o analogové teplotní čidlo připojené na AD převodník, ten digitálně měří napětí. Využiju z něj jen ty miliontiny stupně a je to.
Re: zbytečně složitý
Otakar Ištvánfy,2020-02-24 23:57:25
Súhlasím. Asi najlacnejší generátor náhodných čísiel sa dá postaviť so šumovou diódou. Problém vidím skôr v tom, že pri použití pseudonáhodnej sekvencie stačí poslať adresátovi vcelku krátky kľúč a to aj neutajene, zatiaľ čo pri použití náhodnej sekvencie mu musíte poslať celú sekvenciu o dĺžke zrovnateľnej s odosielanou správou a to utajene.
Re: zbytečně složitý
Pavel Pelc,2020-02-26 13:14:03
Teoreticky stačí píchnout tranzistor do paralelního portu a dát mu přesně překlápěcí napětí. V praxi to chce trochu poladit, ale neměl by to být projekt na víc, než jedno odpoledne a pět dolarů.
Re: Re: zbytečně složitý
Martin Grajcar,2020-02-27 05:38:41
> Teoreticky stačí píchnout tranzistor do paralelního portu a dát mu přesně překlápěcí napětí. V praxi to chce trochu poladit, ale neměl by to být projekt na víc, než jedno odpoledne a pět dolarů.
Ono se to komplikuje, kdyz chcete kvalitu. Udelat to tak ze bude stejne jednicek jako nul je trivialni, odstinit 50 a 100 Hz trochu slozitejsi, udelat to tak ze nepujde odhalit vubec zadna pravidelnost je tezke. A zarucit, ze se to nepodela takovym zpusobem ze z toho polezou lehce predpoveditelna data je jeste tezsi.
Tim nechcu rict, ze ten krystalizator cokoliv z toho splnuje.
Mimochodem, procesory umi uz davno https://en.wikipedia.org/wiki/RDRAND inicializovany vlastnim zdrojem entropie (IIRC sumova dioda na cipu).
Pochybnosti
Martin Mareš,2020-02-23 11:25:26
O kvalitě článku (hlavně původního zdroje) mám značné pochybnosti.
Po chemické stránce nemohu nic vytknout, ovšem co se kryptografie týče, autorům chybí naprosté základy. Především porovnávají pří šifrování svůj náhodný generátor s Mersenne Twisterem, což ovšem vůbec není generátor určený pro kryptografické použití a nikdo to o něm netvrdí. Takže je není divu, že je snadné rekonstruovat jeho vnitřní stav a tím pádem šifru prolomit.
Navíc autoři data získaná pozorováním krystalů hešují pomocí SHA-256. To je osvědčená kryptografická hešovací funkce, tudíž její výstup se bude chovat značně náhodně i v případě, kdy ji místo obrázků z kamery nakrmíme posloupností "1, 2, 3, 4, ...". Takže o náhodnosti vstupu z kamery se nedozvíme vůbec nic.
Celkově autoři pouze experimentálně ověřili, že SHA-256 je kryptograficky lepší než Mersenne Twister. To není nic překvapivého a vůbec k tomu nebyl potřeba stroj na výrobu krystalů :)
Mimochodem, použití chaotických fyzikálních procesů pro generování náhodných čísel je už zkoumáno docela dlouho, už v roce 1997 to firma Silicon Graphics úspěšně zkoušela s lávovou lampou, viz https://en.wikipedia.org/wiki/Lavarand.
Diskuze je otevřená pouze 7dní od zvěřejnění příspěvku nebo na povolení redakce