Ako funguje generovanie náhodných čísel
Ako funguje generovanie náhodných čísel
ahojte ako funguje generovanie náhodného čísla v bezpečnosných serveroch keď matematika nieje náhodná
- ITCrowd
- Tvůrce článků
-
Guru Level 13.5
- Příspěvky: 23605
- Registrován: březen 10
- Pohlaví:
- Stav:
Offline
Re: Ako funguje generovanie náhodných čísel
Zkusili jste to vypnout a zapnout? Problémy řeším pouze v tématech. Do SZ mi proto píšete zbytečně.
Základní diagnostika WiFi Jak na diagnostiku sítě Router jako switch Proč je nesmysl chtít router s velkým dosahem Vybíráme router
Základní diagnostika WiFi Jak na diagnostiku sítě Router jako switch Proč je nesmysl chtít router s velkým dosahem Vybíráme router
Re: Ako funguje generovanie náhodných čísel
To záleží jak vysokou úroveň zabezpečení požaduješ. Například v Linuxu se k tomu používá sbírání entropie, sledováním nepravidelných dějů v počítači. Jeden z nich je pohyb myši uživatelem, který vytváří "šum", a ten se v takovém generátoru akumuluje společně s jinými událostmi. To je poměrně bezpečné a celkem levné.
Vysoce bezpečné je například sledování nějakého štěpného materiálu, třeba uranu, počítačem částic. Ty z něch vylétají v náhodných a zcela nepředvídatelných intervalech, nevýhodou podobných metod je poměrně vysoká finanční náročnost. Ono dát pár milionů dolarů jenom za opravdu perfektní simulaci kostky na "Člověče, nezlob se" asi nemá úplně smysl.
Jednoduchý a nepříliš bezpečný způsob je funkce pro generování pseudonáhodné posloupnosti. Jeho základem je takzvané "semínko" (seed), a s ním se při každém čtení provádí nějaká posloupnost úkonů, obvykle matematických a bitových operací, které změní jeho stav v určitém rozsahu.
Příklad:
Při spuštění programu se seed nastaví na libovolnou hodnotu, například podle systémových hodin. To zaručuje, že při dalším spuštění programu v něm bude vznikat jiná posloupnost čísel. Takže třeba v tuhle chvíli to bude 165241. Pro jednoduchost použijeme šestnáctibitovou celočíselnou proměnnou s rozsahem kladných čísel 0..65535, takže její obsah bude zbytek po dělení 65536, tudíž 165241 modulo 65536 = 34169.
Pokud potřebuješ "vylosovat náhodné číslo", provedeš tenhle výpočet:
A protože se výsledek ořízne na spodních šestnáct bitů, stane se opět tohle:
No a vyjde ti číslo 33398.
Při opakování to bude 18123.
Při dalším 60865.
Pak 34941.
61018.
3215.
Atd.
Pokud to budeš dělat dostatečně dlouho, projdeš všech 65536 možností a posloupnost se bude opakovat. Když použiješ jiné konstanty nebo jiný vzorec, nemusíš ani všechny ty možnosti použít a bude se těch čísel opakovat jenom pár, což je ještě horší.
Vysoce bezpečné je například sledování nějakého štěpného materiálu, třeba uranu, počítačem částic. Ty z něch vylétají v náhodných a zcela nepředvídatelných intervalech, nevýhodou podobných metod je poměrně vysoká finanční náročnost. Ono dát pár milionů dolarů jenom za opravdu perfektní simulaci kostky na "Člověče, nezlob se" asi nemá úplně smysl.
Jednoduchý a nepříliš bezpečný způsob je funkce pro generování pseudonáhodné posloupnosti. Jeho základem je takzvané "semínko" (seed), a s ním se při každém čtení provádí nějaká posloupnost úkonů, obvykle matematických a bitových operací, které změní jeho stav v určitém rozsahu.
Příklad:
Při spuštění programu se seed nastaví na libovolnou hodnotu, například podle systémových hodin. To zaručuje, že při dalším spuštění programu v něm bude vznikat jiná posloupnost čísel. Takže třeba v tuhle chvíli to bude 165241. Pro jednoduchost použijeme šestnáctibitovou celočíselnou proměnnou s rozsahem kladných čísel 0..65535, takže její obsah bude zbytek po dělení 65536, tudíž 165241 modulo 65536 = 34169.
Pokud potřebuješ "vylosovat náhodné číslo", provedeš tenhle výpočet:
Kód: Vybrat vše
seed = seed * 12345 + 6789
A protože se výsledek ořízne na spodních šestnáct bitů, stane se opět tohle:
Kód: Vybrat vše
seed = seed modulo 65536
No a vyjde ti číslo 33398.
Při opakování to bude 18123.
Při dalším 60865.
Pak 34941.
61018.
3215.
Atd.
Pokud to budeš dělat dostatečně dlouho, projdeš všech 65536 možností a posloupnost se bude opakovat. Když použiješ jiné konstanty nebo jiný vzorec, nemusíš ani všechny ty možnosti použít a bude se těch čísel opakovat jenom pár, což je ještě horší.
"Král Lávra má dlouhé oslí uši, král je ušatec!
(pravil K. H. Borovský o cenzuře internetu)
(pravil K. H. Borovský o cenzuře internetu)
- ITCrowd
- Tvůrce článků
-
Guru Level 13.5
- Příspěvky: 23605
- Registrován: březen 10
- Pohlaví:
- Stav:
Offline
Re: Ako funguje generovanie náhodných čísel
Ukazatel myši je dle mého nesmysl a celé to o něm je jen propaganda pro lidi, kteří tomu nerozumí.
Vysvětlení:
Pokud uvažujeme klasickou wokenní obrazovku, pak nejčastěji bude kurzor vpravo nahoře (uzavírání/minimalizace), poté vlevo dole (nabídka start), poté vpravo dole (hodiny a systray) a nejméně vlevo nahoře (leda by tam byla nejčastěji používaná ikona).
Z toho plyne že je zde určitá pravděpodobnost a pokud je pravděpodobnost, pak pohyby myši můžu nahradit gaussovou křivkou. Tedy použiji matematiku místo sledování myši.
Vysvětlení:
Pokud uvažujeme klasickou wokenní obrazovku, pak nejčastěji bude kurzor vpravo nahoře (uzavírání/minimalizace), poté vlevo dole (nabídka start), poté vpravo dole (hodiny a systray) a nejméně vlevo nahoře (leda by tam byla nejčastěji používaná ikona).
Z toho plyne že je zde určitá pravděpodobnost a pokud je pravděpodobnost, pak pohyby myši můžu nahradit gaussovou křivkou. Tedy použiji matematiku místo sledování myši.
Zkusili jste to vypnout a zapnout? Problémy řeším pouze v tématech. Do SZ mi proto píšete zbytečně.
Základní diagnostika WiFi Jak na diagnostiku sítě Router jako switch Proč je nesmysl chtít router s velkým dosahem Vybíráme router
Základní diagnostika WiFi Jak na diagnostiku sítě Router jako switch Proč je nesmysl chtít router s velkým dosahem Vybíráme router
-
- Mohlo by vás zajímat
- Odpovědi
- Zobrazení
- Poslední příspěvek
-
- 4
- 1148
-
od pcmaker
Zobrazit poslední příspěvek
29 říj 2023 12:22
-
- 2
- 1002
-
od Milo
Zobrazit poslední příspěvek
13 led 2024 18:15
Kdo je online
Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 7 hostů