Studio Multimedialne ljasinski.pl

  • O mnie
  • Blog
  • Prelekcje
  • Portfolio
  • Kontakt
Jesteś tutaj: Strona główna / Komputery / Problemy z losowaniem

Problemy z losowaniem

2 kwietnia 2010 by lucasyas Zostaw komentarz

W poprzednim wpisie poruszyłem problem kiepskiego algorytmu generowania liczb pseudolosowych w PHP. Jednak to nie koniec problemów z wartościami losowymi. Programiści powinni sobie zdać sprawę z powtarzalności wyników losowania, a więc i tzw. paradoksu urodzinowego.

Zbierzmy w pokoju pewną liczbę osób. Każdą z nich spytajmy o datę urodzin. Ile musi być tych osób w pokoju, by prawdopodobieństwo tego, że 2 osoby obchodzą urodziny w tym samym dniu było większe niż 50%? Zastanów się dobrze. Czas na odpowiedź masz do końca następnego akapitu.

Prawdopodobieństwo nie jest do końca intuicyjne. Szansa, że w rzucie monetą trafimy orła jest równa 50%. Szansa, że w dwóch kolejnych rzutach trafimy dwa orły jest równa 25% – dwa razy mniej. W związku z tym, intuicyjnie, szansa na trafienie pod rząd 10 razy orła powinna być dziesięć razy mniejsza – 5%. Nieprawda. W grę wchodzą bowiem nie zależności liniowe, a wykładnicze. Owe 25% (czyli 0,25) wyliczamy podnosząc 0,5 (szansę na orła w jednym rzucie) do potęgi 2 (ilość rzutów). 0,5^2 = 0,25.  Przy dziesięciu rzutach to prawdopodobieństwo wynosi 0.5^10 = 0,001.

Jak widać powyżej, prawdopodobieństwo ciężko brać intuicyjnie. W pokazanym wyżej pokoju, by spełnić nasz warunek, wystarczą 23 osoby! To zaskakująco mało. Należy o tym pamiętać za każdym razem, gdy liczba pseudolosowa  lub hash służy do zabezpieczeń. Średnia ilość prób potrzebna do złamania metodą brute force w oparciu o prawdopodobieństwo (tzw. atak urodzinowy) to nie dzielenie ilości kombinacji przez 2, a tym bardziej nie wolno zakładać maksymalnej ilości kombinacji (bez dzielenia). Ta ilość prób wg ogólnego wzoru (wyprowadzenie tutaj w załączniku B) to tylko ok. 1,18 * sqrt(N) gdzie N oznacza ilość wszystkich możliwych kombinacji. Pamiętajmy o tym, gdy planujemy zabezpieczenia aplikacji.

Podobne

W kategorii:Komputery Tagi:bezpieczeństwo, generator liczb pseudolosowych

Leave a Reply Cancel reply

WP Core Contributions

  • [47004] Shortcodes: Introduce `apply_shortcodes()` as an alias for ...

View the ticket on Trac.

Mastodon

Tagi

*.tk .htaccess android Apache apple bezpieczeństwo bing blog bumblebee chrome darmowe domeny e-mail facebook firefox ftp generator liczb pseudolosowych git gmail google google analytics Google apps google docs Google drive google logo hasła instagram kernel microsoft mysql PHP plugin prywatność rich snippet seo serp spam twitter ubuntu VMware webmaster windows wordcamp wordpress youtube

Najnowsze komentarze

  • Jacek - Zakładanie darmowej domeny *.tk
  • Arek - Jak dodać swap do ubuntu
  • refy - Zakładanie darmowej domeny *.tk
  • bezrobotny niepełnosprawny magister - Darmowe domeny – one naprawdę istnieją
  • lucasyas - Jak Lenovo sobie leci…

Obserwuj mnie na Twitterze

My Tweets

Copyright © 2023 · ljasinskipl-genesis on Genesis Framework · WordPress · Zaloguj się

Ta strona korzysta z ciasteczek w celach statystycznych oraz dla wyświetlania reklam. Jeżeli nie wyrażasz na to zgody, możesz to zmienić korzystając z ustawień swojej przeglądarki internetowej. Akceptuję
Privacy & Cookies Policy

Privacy Overview

This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary
Always Enabled
Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.
Non-necessary
Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.
SAVE & ACCEPT