eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingPojemnik na liczby losoweRe: Pojemnik na liczby losowe
  • Path: news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!.PO
    STED!not-for-mail
    From: Michoo <m...@v...pl>
    Newsgroups: pl.comp.programming
    Subject: Re: Pojemnik na liczby losowe
    Date: Thu, 23 Jun 2011 12:50:35 +0200
    Organization: http://onet.pl
    Lines: 60
    Message-ID: <itv5qf$pk9$1@news.onet.pl>
    References: <ittsd2$hm1$1@news.onet.pl> <ittut3$pse$1@news.onet.pl>
    <ituhgh$guu$1@news.onet.pl>
    NNTP-Posting-Host: 83.238.197.12
    Mime-Version: 1.0
    Content-Type: text/plain; charset=UTF-8; format=flowed
    Content-Transfer-Encoding: 8bit
    X-Trace: news.onet.pl 1308826255 26249 83.238.197.12 (23 Jun 2011 10:50:55 GMT)
    X-Complaints-To: n...@o...pl
    NNTP-Posting-Date: Thu, 23 Jun 2011 10:50:55 +0000 (UTC)
    User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.15) Gecko/20110402
    Icedove/3.1.9
    In-Reply-To: <ituhgh$guu$1@news.onet.pl>
    Xref: news-archive.icm.edu.pl pl.comp.programming:191103
    [ ukryj nagłówki ]

    W dniu 23.06.2011 07:04, Tubylerczyk pisze:
    > W dniu 2011-06-23 01:46, Michoo pisze:
    >> W dniu 23.06.2011 01:04, Tubylerczyk pisze:
    >>> Jak inicjalizować generator pseudolosowy losową wartością?
    >> Byłoby łatwiej jakbyś określił do czego Ci to potrzebne.
    >
    > (W jakiś sposób guid w systemie liczony jest tak, że mamy 128-bitową
    > wartość losową, nie wiem na ile jest losowy)
    On ma być unikalny a nie losowy. Oidp jakaś implementacja używała
    fragmentu MAC i czasu jako części składowych.

    > Na przykład: generuję losowe hasło dla użytkownika.
    Oidp sam wynik MD5 jest dość dobrym ciągiem losowym.

    Jeżeli dokładny czas jest nieznany "na zewnątrz". (Np użycie licznika
    cykli z performance counters) to dla potrzeb wygenerowania hasła
    wystarczy (każda sekunda to 10^9 możliwości).

    Zapewnia to po pierwsze losowy rozkład wyjścia a po drugie praktyczną
    niemożliwość prognozowania hasła na podstawie nawet wielu znanych. A to
    chyba główne 2 zadania do których losowość jest tu potrzebna.

    >
    >>
    >>> Jedną z
    >>> możliwości jest odczyt zegara, ale tylko najmłodsze bity są losowe (jak
    >>> określić - ile?).
    >> Liczysz md5 z tej wartości i się nie przejmujesz tym ile.
    >
    > Ale losowa pozostaje tylko część tej liczby. Mówiąc obrazowo: mam 128
    > bitową liczbę, ale tylko mały podzbiór jej wartości jest osiągalny.
    > w skrajnym wypadku byłby jeden bit, policzenie md5 dałoby dwie duże
    > liczby z których albo jedna albo druga by występowała.
    Tylko czas ma taką niewiarygodną własność, że jest monotoniczny a nie 2
    wartościowy.

    MD5 (czy SHA - do wyboru) daje wyjście spełniające dość dobrze kryteria
    ciągu losowego.

    W efekcie mamy funkcję przyporządkowującą dla danego T n-bitową wartość
    losową[*]. To, że ciąg z którego bierzemy T nie jest losowy nie ma
    praktycznego znaczenia, bo używana funkcja nie posiada funkcji odwrotnej.

    [*] ściśle mówiąc pseudolosową - przeciwdziedzina funkcji skrótu jest
    zawsze ograniczona, czas również (do słowa 64/128b), ale są to wartości
    dostatecznie duże

    >
    >> Od tego jest generator PSEUDOlosowy - on ma już pamięć i generuje
    >> kolejne wartości w oparciu o poprzednie - seed ustawia się raz.
    >
    > Przydałby się prawdziwie losowy generator wbudowany w procesor oparty o
    > kwanty.
    Są generatory oparte o szumy termiczne. Stosuje się je tam gdzie to jest
    konieczne. W komputerach domowych raczej nie jest. No i łatwiej się
    poprawia ewentualne błędy w programach niż w krzemie.

    --
    Pozdrawiam
    Michoo

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: