liczby LOSOWE

0

Jesteście obeznani z bibliotekami i funkcjami. Chciałbym zapytać czy do dnia dzisiejszego powstał jakiś algorytm który potrafi losować liczby prawdziwie losowe ? (nie chodzi mi o pseudolosowość w funkcji rand())

4

To co piszesz to oksymoron. Algorytm to powtarzalny zestaw kroków pozwalający uzyskać zawsze taki sam efekt dla takich samych warunków początkowych. Jeśli chcesz nieprzewidywalne liczby losowe to musisz opierać się na generatorach liczb losowych opartych na procesach fizycznych, których nie umiemy odtworzyć.

0

to znaczy, że przy obecnej technice nie jesteśmy w stanie wygenerować prawdziwej losowości ? Więc w takim razie jak napisać kod do generowania kluczy licencyjnych ? Widziałem gotowe rozwiązanie ale niestety nie jestem dobry z kryptografii aby samemu zaimplementować chociażby namiastkę czegoś co nie będzie się powtarzać. No chyba, że ktoś z was podrzuci jakiś wzór matematyczny na te sprawy

0

Mam wrażenie że pytasz o coś innego niż wynika z pytania. Nie da się wygenerować algorytmicznie liczb prawdziwie losowych. Możemy założyć, że możesz dostać je z otoczenia i na ich podstawie wygenerować więcej za pomocą CSPRNG, i zakładam, że to właśnie o CSPRNG pytasz. Czyli algorytmy generowania kryptograficznie bezpiecznych liczb pseudolosowych. Ale początkową "rzeczywistą" losowość musisz skądś wziąć, i jeśli ktoś inny będzie mógł ją odtworzyć to cały algorytm psu na budę.

1

Przy obecnej technice można mieć dobrą pseudolosowość, ale zawsze będzie ona w jakikolwiek sposób przewidywalna. Ale pisząc bez filozofii, losowanie piosenek na liście w Foobarze. Działą to tak, że nie ważne jakiego algorytmu użyjesz, raz odtworzona piosenka nie może się powtórzyć. No i ten warunek czyni algorytm przewidywalnym, więc to nie są liczby losowe. W każdym algorytmie na procesory typu x64 czy ARM masz masę warunków, które ograniczają zakres wylosowanych liczb. Kiedy rzucasz kostką, możesz rzucać w dowolny sposób i nikt tego nie nadzoruje.

0

Zdefiniuj, co rozumiesz przez "prawdziwie losowe".

Obowiązkowy mem :) https://imgur.com/bwFWMqQ

0
  1. Jak się wyrabia(ło) klucz do PGP, się lata(ło) myszką po ekranie przez 30-60sek.

  2. obiło mi się o uszy, że tam gdzie to naprawdę ważne, są hardwarowe karty z analogowym szumem
    Typowy pecet nie ma elementów niedeterministycznych

  3. myślę że powtórzenie odczytów longa z losowego adresu, i to wsadzenie do randoma 2-3 razy da taką niepowtarzalność, ze nikomu nie będzie się opłacało hackować tej licencji

  4. skoro są algorytmy szyfrowania łamalne przez lata CPU, to chyba nie masz problemu?

0

Na Stack Overflow czytałem, że w środowisku produkcyjnym nie zalecają używania rand() tylko random_device co wy na to ?

0

U nas też byś to przeczytał, tylko że nam odpisujesz, że nie interesują cię standardy. Ani rand(), ani random_device nie nadają się do kryptografii.

0
AnyKtokolwiek napisał(a):
  1. Jak się wyrabia(ło) klucz do PGP, się lata(ło) myszką po ekranie przez 30-60sek.

to wiem, chciałem się tego nauczyć robić ale to przewyższa moje kompetencje... więc nie wiem jak to osiągnąć. No chyba, że jest jakaś biblioteka która robi takie coś ?

  1. myślę że powtórzenie odczytów longa z losowego adresu

możesz rozwinąć to jaśniej ? Bo nie rozumiem

1 użytkowników online, w tym zalogowanych: 0, gości: 1