-
Path: news-archive.icm.edu.pl!news.icm.edu.pl!news.onet.pl!.POSTED!not-for-mail
From: Tubylerczyk <t...@d...pl>
Newsgroups: pl.comp.programming
Subject: Re: Pojemnik na liczby losowe
Date: Fri, 24 Jun 2011 18:19:30 +0200
Organization: http://onet.pl
Lines: 22
Message-ID: <iu2de7$cm1$1@news.onet.pl>
References: <ittsd2$hm1$1@news.onet.pl> <itveib$jav$1@news.onet.pl>
<itvki0$an8$1@news.onet.pl>
<2...@x...googlegroups.com>
NNTP-Posting-Host: 194.117.241.254
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-2; format=flowed
Content-Transfer-Encoding: 8bit
X-Trace: news.onet.pl 1308932359 12993 194.117.241.254 (24 Jun 2011 16:19:19 GMT)
X-Complaints-To: n...@o...pl
NNTP-Posting-Date: Fri, 24 Jun 2011 16:19:19 +0000 (UTC)
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.2.18) Gecko/20110616
Thunderbird/3.1.11
In-Reply-To: <2...@x...googlegroups.com>
X-Antivirus: avast! (VPS 110624-0, 2011-06-24), Outbound message
X-Antivirus-Status: Clean
Xref: news-archive.icm.edu.pl pl.comp.programming:191119
[ ukryj nagłówki ]W dniu 2011-06-24 09:09, Mariusz Marszałkowski pisze:
> srand( wszystko_co_ci_przyjdzie_do_glowy );
> time_t s = time(NULL) + 2;
> while( s> time(NULL) )
> rand();
> return rand();
Ja to rozwiązałem w ten sposób:
Podczepić hooka pod zdarzenia przycisku klawiatury. W przypadku
uderzenia klawisza odczytujemy czas - ilość taktów zegara CPU za pomocą
rdtsc. Wyliczamy odstępy między kolejnymi uderzeniami - liczba dodatnia
(aby nie było problemów, program musi działać tylko na jednym rdzeniu
SetProcessAffinityMask(GetCurrentProcess(), 1) bo inaczej raz odczyta z
jednego licznika a raz z drugiego).
Sam odstęp jeszcze nie mówi ile bitów losowych da się z niego uzyskać,
autorepeat klawisza daje niemal identyczne czasy i mało w nim bitów
losowych. Potrzebna jest różnica, o ile zmienił się odstęp - im większa,
tym więcej bitów losowych. Wyliczyć ile bitów - z wartości bezwzględnej
policzyć indeks najstarszego zapalonego bitu + 1.
Bitami losowymi będą najmłodsze bity ostatniego czasu. Nie da się
wykorzystać znaku różnicy odstępów ponieważ ma rozkład nie losowy.
Typowe bębnienie po klawiaturze dawało strumień rzędu 800 bitów/s.
Następne wpisy z tego wątku
- 27.06.11 07:25 Paweł Kierski
- 27.06.11 10:03 Tubylerczyk
- 27.06.11 10:25 Michoo
- 27.06.11 10:33 Michoo
- 27.06.11 19:19 Jędrzej Dudkiewicz
Najnowsze wątki z tej grupy
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
Najnowsze wątki
- 2025-01-19 Test - nie czytać
- 2025-01-19 qqqq
- 2025-01-19 Tauron przysyła aneks
- 2025-01-19 Nowa ładowarka Moya a Twizy -)
- 2025-01-18 Power BANK z ładowaniem przelotowym robi PRZERWY
- 2025-01-18 Pomoc dla Filipa ;)
- 2025-01-18 znowu kradno i sie nie dzielo
- 2025-01-18 Zieloni oszuchiści
- 2025-01-18 Zielonka => Specjalista ds. public relations <=
- 2025-01-18 Warszawa => Frontend Developer (JS, React) <=
- 2025-01-18 Warszawa => Software .Net Developer <=
- 2025-01-18 Warszawa => Developer .NET (mid) <=
- 2025-01-18 Katowice => Administrator IT - Systemy Operacyjne i Wirtualizacja <=
- 2025-01-17 Zniknął list gończy za "Frogiem". Frog się nam odnalazł?
- 2025-01-17 Kto wytłumaczy "głupiemu" prezydentowi Dudzie wielką moc prawną "dekretu premiera" TUSKA? [(C)Korneluk (2025)]