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í.
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
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 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í.
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 nainstalovat MacOS High Sierra v systému VirtualBox v systému Windows 10
Ať už chcete příležitostně otestovat webové stránky v Safari nebo vyzkoušet trochu softwaru v prostředí Mac, mít přístup k je užitečná nejnovější verze nástroje macOS ve virtuálním stroji. Bohužel, nemusíte opravdu předpokládat to udělat - takže dostat macOS spuštěné v VirtualBox je, nejméně, složité.
Co je přetaktování? Průvodce pro začátečníky k pochopení způsobu, jakým Geeky zrychlují své počítače
Přetaktování je akcí zvyšování hodinových poměrů součástek a běží je při vyšší rychlosti, než byla navržena pro běh. To se obvykle vztahuje na CPU nebo GPU, ale ostatní součásti mohou být také přetaktovány. Zvyšování rychlosti hodin komponentu způsobuje, že provádí více operací za sekundu, ale také produkuje další teplo.