cs.phhsnews.com


cs.phhsnews.com / Jak počítače generují náhodné číslice

Jak počítače generují náhodné číslice


Počítače generují náhodné číslo pro vše od kryptografie až po videohry a hazardní hry. Existují dvě kategorie náhodných čísel - "pravé" náhodné číslice a čísla pseudonáhodných čísel - a rozdíl je důležitý pro zabezpečení šifrovacích systémů.

Počítače mohou vytvářet opravdu náhodné čísla sledováním některých externích dat, jako jsou pohyby myší nebo hluk ventilátorů , což není předvídatelné, a vytváření dat z něj. Toto je známé jako entropie. Jinak vytvářejí čísla "pseudorandom" pomocí algoritmu, takže se výsledky objevují náhodně, ačkoli nejsou.

Toto téma se v poslední době stalo spornější a mnozí lidé se dotazovali, zda Intel integrovaný hardwarový generátor náhodných čísel čip je důvěryhodný. Chcete-li pochopit, proč by to nemuselo být důvěryhodné, musíte pochopit, jak jsou náhodná čísla původně generována a na co se používají.

Jaká jsou náhodná čísla používaná

Byly použity náhodné čísla po mnoho tisíc let. Ať už jde o minci nebo o kolečkách, cílem je nechat konečný výsledek až náhodnou náhodou. Generátory náhodných čísel v počítači jsou podobné - jsou to pokusy o dosažení nepředvídatelného, ​​náhodného výsledku.

SOUVISEJÍCÍ: Co je to šifrování a jak to funguje?

Generátory náhodných čísel jsou užitečné pro mnoho pro různé účely. Vedle zjevných aplikací, jako je generování náhodných čísel pro účely hazardních her nebo vytváření nepředvídatelných výsledků v počítačové hře, je pro kryptografii důležitá náhodnost.

Kryptografie vyžaduje čísla, která útočníci nemohou odhadnout. Nemůžeme jen používat stejná čísla znovu a znovu. Chceme generovat tato čísla velmi nepředvídatelným způsobem, takže útočníci je nemohou odhadnout. Tato náhodná čísla jsou nezbytná pro bezpečné šifrování, ať už šifrujete své vlastní soubory, nebo používáte pouze internetovou stránku HTTPS

Pravá náhodná čísla

Možná se ptáte, jak může počítač skutečně generovat náhodné číslo. Odkud pochází tato "náhodnost". Pokud je to jen kus počítačového kódu, není možné, aby čísla, které počítač generuje, byly předvídatelné?

Obecně seskupujeme náhodná čísla, které počítače vygenerují do dvou typů, v závislosti na tom, jak jsou generovány: True čísel a pseudonáhodných čísel.

Chcete-li vygenerovat "pravé" náhodné číslo, počítač měří nějaký typ fyzického jevu, který se děje mimo počítač. Například počítač mohl měřit radioaktivní rozklad atomu. Podle kvantové teorie neexistuje způsob, jak vědět jistě, kdy nastane radioaktivní rozpad, takže je to v podstatě "čistá náhodnost" z vesmíru. Útočník by nebyl schopen předvídat, kdy nastane radioaktivní rozpad, takže by nevěděli náhodnou hodnotu.

Pro každodenní příklad by se počítač mohl spoléhat na atmosférický šum nebo jednoduše použít přesný můžete stisknout klávesy na klávesnici jako zdroj nepředvídatelných dat nebo entropie. Například váš počítač si může všimnout, že jste stiskli klávesu přesně po 0.23423523 sekundách po 14:00 ... Zachyťte dostatečně specifické časy spojené s těmito tlačítky a budete mít zdroj entropie, který můžete použít k vytvoření "pravdivého" náhodného číslo. Nejste předvídatelný stroj, takže útočník nemůže odhadnout přesný okamžik, kdy stisknete tyto klávesy. / Dev / random zařízení na Linuxu, které generuje náhodné čísla, "blokuje" a nevrací výsledek, dokud nenajde dostatek entropie k návratu skutečně náhodného čísla.

Pseudonáhodná čísla

Pseudonáhodná čísla jsou alternativou k "Pravé" náhodné číslice. Počítač mohl použít hodnotu počátku a algoritmus pro generování čísel, které se zdají být náhodné, ale jsou ve skutečnosti předvídatelné. Počítač neshromažďuje žádná náhodná data z prostředí.

Není to nutně špatná věc v každé situaci. Pokud například hrajete videohru, nezáleží na tom, zda se události, které se vyskytují v této hře, skryjí "pravdivými" náhodnými čísly nebo pseudonáhodnými čísly. Na druhou stranu, pokud používáte šifrování, nechcete používat pseudonáhodná čísla, která by útočník mohl odhadnout.

Například řekněme, že útočník zná algoritmus a hodnotu počátku, který používá generátor pseudonáhodných čísel. A řekněme, že šifrovací algoritmus získá z tohoto algoritmu číslo pseudonáhodného čísla a používá ho k vytvoření šifrovacího klíče bez přidání jakékoliv další náhodnosti. Pokud útočník ví dostatečně, může pracovat zpět a určit číslo pseudonáhodnosti, které šifrovací algoritmus musí v takovém případě zvolit, čímž šifruje šifrování.

NSA a generátor Hardware Random Number Generátoru

společnosti Intel pomáhá vytvářet zabezpečená náhodná čísla, Intel čipy obsahují hardware založený na generátoru náhodných čísel, známý jako RdRand. Tento čip používá zdroj entropie na procesoru a poskytuje náhodná čísla softwaru, když je požaduje software.

Problém je, že generátor náhodných čísel je v podstatě černá skříňka a my nevíme, co se děje uvnitř. Pokud by RdRand obsahoval backdoor NSA, vláda by mohla přerušit šifrovací klíče, které byly generovány pouze s údaji dodanými tímto generátorem náhodných čísel.

To je vážné znepokojení. V prosinci roku 2013 vývojáři FreeBSD odstranili podporu pro použití RdRand přímo jako zdroj náhodnosti, tvrdí, že nemohou důvěřovat. [Zdroj] Výstup zařízení RdRand by byl přiváděn do jiného algoritmu, který přidá další entropii, což by zajistilo, že jakékoli zadní vrátka v generátoru náhodných čísel by nezáleželo. Linux již pracoval tímto způsobem, dále randomizoval náhodná data pocházející z RdRandu, takže by nebylo možné předvídat, i když tam byla backdoor. [Zdroj] V nedávné AMA ("Ask Me Anything") na Redditu nebyl generální ředitel společnosti Intel Brian Krzanich zodpovědný za otázky týkající se těchto obav. [Source]

Samozřejmě, to pravděpodobně není jen problém s čipy Intel. Vývojáři FreeBSDu také volali Via chipsy. Tato kontroverze ukazuje, proč je generování náhodných čísel, které jsou skutečně náhodné a nejsou předvídatelné, tak důležité.


Generování "pravých" náhodných čísel generátory náhodných čísel shromáždí "entropii" nebo zdánlivě náhodná data z fyzického světa kolem sebe. Pro náhodná čísla, která nejsou skutečně musí být náhodná, mohou použít pouze algoritmus a hodnotu počátku

Image Credit: rekre89 na Flickr, Lisa Brewster na Flickr, Ryan Somma na Flickr, huangjiahui na Flickr


Jaké jsou sítě

Jaké jsou sítě "Hotspot 2.0"?

Sítě Hotspot 2.0 jsou nový bezdrátový standard navržený tak, aby usnadnil a bezpečnější připojení k veřejným hotspotům Wi-Fi. Jsou podporovány v nejnovější verzi Windows 10, MacOS 10.9 nebo novější, Android 6.0 nebo novější a iOS 7 nebo novější. Jak Hotspot 2.0 Networks Work Cílem hotspot 2.0 sítí je poskytovat mobilní- styl "roaming" pro sítě Wi-Fi.

(how-top)

Jak opravit chybu

Jak opravit chybu "Vlastní měřítko je nastaveno" Chyba v systému Windows

V dnešní době přichází stále více notebooků s obrazovkami s velmi vysokým rozlišením, což znamená, že systém Windows potřebuje "škálovat" rozhraní aby věci čitelné. Pokud se vám nelíbí výchozí úroveň měřítka, můžete ji změnit sami. Jedná se v podstatě o "zvětšení" ikon a textů pro měřítko třídění, takže displej stále běží při nativním rozlišení, ale veškerý obsah na obrazovce je větší, aniž by došlo ke zkreslení.

(how-top)

Zajímavé Články