Hogyan lehet helyesen létrehozni a pszeudo-véletlen számokat

Bármely, ismétlem, teljesen. A pszeudo-véletlen szám egy sorban lesz. és maga a szekvencia fog kialakulni valamilyen képlet szerint.

Nagyon kétlem, hogy általában mindenki képes lesz abszolút véletlen számot kapni, mert minden esély egy ismeretlen szabályszerűség!

Külön kérdés az, hogy mennyire kiszámítható a sorszám megjelenése a sorozatban. Ezt kell elvégeznie az összes keresést.

Vegye például a rand () függvényt bármely programnyelvből. Ez létrehoz egy pszeudo-véletlen számot az időbélyeg alapján az unixtime-ban. Mennyire kiszámítható? Hmm, nem kevesebb, mint 100%. Nos, kiderül, hogy ha ismeri a rand () függvény hozzávetőleges kezdési idejét, mondjuk 1 perc pontossággal, pontosan ugyanazt a pszeudo-véletlen számot kapjuk meg. Kiváló, azaz. Itt van szükség, és ásni.

Tegyük fel, hogy kivettük a Moszkvából a USRLE cégek listáját, és kivettük ORGN-jüket. Továbbá, a funkció generál unixtime és ebből levonjuk ugyanezen BIN, az utóbbi két tsiftry unixtime és BIN azonosnak kell lennie (például BIN kiválasztási feltétel lehet bármilyen). Mit értünk el? A rand () függvény idõpontjának ismeretében nem tudjuk létrehozni a második pontosan ugyanazt a pszeudo-véletlen számot. Most ellenezhetsz nekem, hogy ugyanazt az OGRN-t vegyük és ismételjük meg az eljárást. Ezen a ponton szeretnék feltenni egy kérdést: és kihez építünk védelmet? A támadó a rendszer létrehozója, és 100% -ot ismersz róla? Szerintem minden védelem ebben az esetben egyszerűen értelmetlen.

Bevezetnie kell a váratlan viselkedést a generációs képletbe, amely eltér a szabványos megvalósításban szereplőktől. Lesz néhány OGRN, a kollégáinak születésnapja, a VC-ben lévő felhasználók azonosítója stb. A támadó külső része nem ismert.

A pszeudo-véletlen számok száma többé-kevésbé véletlenszerű lesz? Hmm. A nagy kérdés. Ezen a ponton ismét emlékszünk, mi a baleset.
Ez növeli-e a rendszer biztonságát? Azt hiszem, a rész azért van, mert a támadó nem ismeri a generációs algoritmust, bár ez bizonyos mértékig rossz.

Lényeg a lényeg, - hogy az számos véletlen számokat több alkalmi, létre kell hoznia azt a képletet, hogy a szám a másik sorban valami pszeudo. Szintén erősen ajánlott, hogy egy véletlen számot, hogy ellenőrizze az egyszerűség, ha fogsz használni, mint egy értéket előállító privát kulcs az RSA vagy GOST

"Nagyon kétlem, hogy bárki valaha képes lesz abszolút véletlen számot kapni, mert minden véletlenség egy felismerhetetlen szabályszerűség!" - a kvantumfolyamatok megegyeznek? EMNIP, volt valami a téma, hogy az esetleges eredmények sorozata elvileg nem tartozhat.

De igen, szüksége van vasra :-)

A megfelelő kérdéshez ismerned kell a válasz felét

Szinte minden pszeudo-véletlenszám generátor szekvenciát generál, ahol a mag ismeretében megismételheti az egész szekvenciát. Valódi véletlen számok létrehozásához hardvereszközöket használjunk vagy entrópiai eseményeket gyűjtsünk (késleltetés a billentyűleütések között, egérmozgások).
A Java által használt kód ugyanabban a cikkben szerepel, mint a kód, amely a következő két eredményt helyreállítja.

Hmm.
Hogy a síléc nem megy, akár én vagyok.
ezt olvassuk:
Ezért, hogyan lehet létrehozni bármilyen pszeudo-véletlen számot egy algoritmussal.
Nos, nézd, véletlenszerű számot kell létrehoznom az algoritmámmal. És ennek a képletnek van egyfajta sorozata, ezért szükségem van egy megoldásra szekvenciák nélkül
Ez két ellentétes fogalom.
Pszeudo-véletlen - engedelmeskedjen a törvénynek (a generációs képletnek).
Véletlenszerűen - ill.
Ezért, ha szükséges, miután az összes, a véletlenszerű és hogy senki kitalálta, majd a dinamikus paramétereket a környezet (a konkrét esetben - a paraméterek az operációs rendszer): hőmérséklet-érzékelők, az összeg a szabad / használt lemezterület, elfoglalt térfogat / rendelkezésre álló memória, szám- és folyamatazonosító stb.

A paraméter kiválasztásának kritériuma gyors és kiszámíthatatlanul változó érték az időben és független a generátor kódban található algoritmusától, amely kívülről nem érhető el.

Heshiruem paramétereket az időbélyeggel bármely algoritmussal, és vegye be a keletkező hash gyorsítótárat.
FONTOS! A hasmenés paraméterei nem lehetnek nyilvánosak: nincs külső kérés a TIN, az OGRN és a GISMETEO segítségével. )

A legegyszerűbb verzió: Vettünk egy képet, és átalakításokat csináltunk vele, majd mentettük egy adatfolyamba, kicsit vagy többet vettünk. A kép külső tényezőkön alapul, és soha nem kerül az algoritmus forráskódjába.

Kapcsolódó cikkek