Kezdőoldal » Számítástechnika » Programozás » Van olyan _KIFEJEZETTEN_ 8...

Van olyan _KIFEJEZETTEN_ 8 bites (ál-)véletlenszám-generátor, aminek a periódusa nagyobb, mint 256?

Figyelt kérdés

Azt, hogy kifejezetten 8 bites, úgy értem, hogy nem pl. úgy oldjuk meg a dolgot egyszerűen, hogy veszünk egy 32 bites álvéletlenszám-generátort, és levágjuk a kimenet felső 24 bitjét...

Hanem aminek az implementációja csak 8 bites változókat használ, amit egy 8 bites rendszerre is könnyű implementálni.



2023. szept. 13. 20:40
 1/10 anonim ***** válasza:
0%

Ennyi hülyeség nem is tudom, hogy férhet bele egyetlen kérdésbe?

Periódus,

álvéletlenszám generátor,

levágni a kimenet felső 24 bitjét,

8 bites változók,

8 bites rendszerre implementálni?

2023. szept. 13. 21:32
Hasznos számodra ez a válasz?
 2/10 A kérdező kommentje:

Üdv!


Kissé mintha műveletlennek tetszene lenni... -.- de arcoskodás viszont van.

No, tessék egy kicsit olvasni, mikről is van szó a kérdésben:


álvéletlenszám generátor : [link]

periódus:

[link]

8 bites változók: pl. C-ben egy unsigned char típusú változó (egy normális rendszeren) szerinted micsoda?

8 bites rendszerre implementálni:

[link]

levágni a kimenet felső 24 bitjét:

vegyük példának az alábbi két sornyi C kódot:

int value = 0xDEADBABE;

char out = value & 0xFF;

Na, itten szerinted mi is történik? ... Na akkor...

2023. szept. 13. 21:51
 3/10 anonim ***** válasza:
0%

Öreg, aki itt műveletlen, az te vagy.


Ha csak feleannyit értenél ahhoz, amit itt összehordtál, akkor

1. Nem írtál volna ennyi sok baromságot.

2. Magad képes lennél a saját kérdésed megválaszolására, kivánalmad kielégítésére. Még hozzá, kisujjból.


Úgy gondolom, te itt csak tetszelegni akarsz. Hozzáértőnek látszani.

2023. szept. 13. 21:56
Hasznos számodra ez a válasz?
 4/10 anonim ***** válasza:
94%

Ez a másfél pipás hülye még mindig jár ide? ... Nem tudom értelmes magyar mondatokat hogyan nem tud értelmezni. És nem értem miért hiszi, hogy valakinek tudnia kéne RNG-t írni 8 biten...


Na de a kérdésedre. Van több is, mondhatni elég sok, például itt van ez:

[link]

Elég magas periódossal rendelkezik 8 bithez képest.

A hátránya az összes ilyennek, hogy megbuknak a cybersecurity jellegű teszteken, vagyis nem tudnak eléggé véletlenszerű számokat adni 8 biten, több lehet bennük az ismétlődés.

Ez nem tudom mennyire probléma neked, de ezt nem említetted a kérdésben, így feltételezem hogy együtt tudsz élni ezzel.

Amiből problémád lehet még, hogy a seed-et hogyan válaszd meg. Mivel feltételezem egy alap egyszerű mikrokontrollerről van szó, nem könnyű jól választani. Sokan szoktak időt lekérdezni, és az alapján beállítani, de az ilyen rendszeren nem fog menni, mert csak reset óta eltelt időt tud adni, ami viszont determinisztikus lesz a rendszeren. Ha van rá mód, és szeretnéd hogy ne ugyanaz a számsorrend jönnön ki mindig, esetleg egy külső inputot próbálj rákötni - például egy gomb, és amikor megnyomod, akkor inicializálja újra az indítás óta eltelt ciklusok számával (ami nyilván 0 és 255 között lesz és folyton túlcsordul, de nagyjából egyenletes eloszlású). Feltéve ha van módszered clk counter lekérdezésre/tárolásra.

2023. szept. 13. 22:29
Hasznos számodra ez a válasz?
 5/10 anonim ***** válasza:
91%

Az, hogy két sor, nem olyan sokat nyom a latban, gépi kódra fordítva több utasítás. A lényeg, hogy valami matematikus-féle ember talált egy ilyen mintát, hogy ezekkel a műveletekkel mi érhető el.

A seedre pedig: ha ezt a kódot lefuttatod 45-ször, akkor 45-ször ugyanazt a sorozatot fogja visszaadni.

Hogy ne ez legyen, az x,y,z és a nevű paramétert átállíthatod bármi másra, ennek függvényében fog kiadni sorozatokat. Mivel ez 256^4 variáció, ennyiféle sorozatot (is) tudsz belőle létrehozni.

Ha ezt algoritmikusan változtatni tudod indulásonként, akkor pedig mindig más értékeket fog adni.

Javaslom, először a windows-odon egy egyszerű programmal (lényegében a példakóddal) próbálgasd, ugyanarra és más kezdőértékekre.


A xor műveletek csodája... Mindig lehet vele érdekes matematikai dolgokat összerakni. Ennél csak a modulo operátort szeretem jobban :D

2023. szept. 13. 23:26
Hasznos számodra ez a válasz?
 6/10 anonim ***** válasza:
85%
Sok esetben a seed-nél bukik a mutatvány. Mert ennek a kezdő értéke fogja meghjatározni a működését a dolognak. Ennek valami "véletlen"-nek kell lennie, mert egy adott seed értékre ugyanaz a sorozat fog kelletkezni (itt több paraméter de a lényege ugyanaz). Ha van valami ami tényleg véletlenhez köthető esemény akkor már tudod "inicializálni". És általában ez a nehéz Pl. egy mikrokontrollernél az utasítás ciklús számláló önmagában nem lesz jó, mert mindig ugyannyi utasításnál fogja betölteni. Ezért kell valami "véletlen" külső esemény, pl. egy billentyű megnyomása, megszámolod, hogy a gép bekapcsolása után hanyadik utasítás ciklusnál nyomta meg valaki az első billentyűt és ezzel seed-elsz, ha nincs szükséged már korában véletlen számra. De igazán ezen sok bukik.
2023. szept. 13. 23:46
Hasznos számodra ez a válasz?
 7/10 anonim ***** válasza:
34%

C64 -re fejlesztesz valami titkosító programot?

Szerintem nem éri meg. :D

2023. szept. 14. 01:11
Hasznos számodra ez a válasz?
 8/10 anonim ***** válasza:
89%
10: Nem feltétlenül C64-re, pl. egy 8 bites mikrokontrolleren is lehet szükség véletlen számra, és nem csak titkosításhoz. Sok esetben tud hasznos lenni.
2023. szept. 14. 07:58
Hasznos számodra ez a válasz?
 9/10 A kérdező kommentje:

😠

Miért tűntek el innét egyes válaszok?!

2023. szept. 14. 18:09
 10/10 anonim ***** válasza:
100%
Gondolom megérkezett a moderátor a sok bejelentésre.
2023. szept. 14. 18:14
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!