25th September 2021

FOLLOW US ON SOCIAL

Generowanie liczb losowych to proces, który tworzy sekwencję liczb lub symboli w sposób losowy, który jest praktycznie niemożliwy do przewidzenia. Wyróżniamy obecnie wiele rodzajów RNG, wśród których ciężko znaleźć ten najlepszy, ze względu na różne zastosowania. Random Number Generator ma wiele zastosowań, z których niektóre są bardziej oczywiste niż inne. Przykładami są próby statystyczne, symulacje komputerowe, a nawet sloty online. Okazuje się jednak, że HRNG (Hardware Random Number Generators) jest lepsze od SRNG (Software Random Numer Generators). Jak i dlaczego? By zgłębić odpowiedź na to pytanie, trzeba najpierw bliżej naświetlić sylwetki obu z nich.

Czym jest HRNG oraz SRNG?

HRNG jest inaczej nazywane „prawdziwym” generatorem liczb losowych. Nie bazuje on bowiem na algorytmie komputerowym, lecz na zdarzeniach fizycznych. Dzięki temu dana cyfra bądź symbol są wręcz niemożliwe do odgadnięcia.

Sama nazwa wskazuje na to, że to rozwiązanie wiąże się z jakimś specyficznym urządzeniem. Generator składa się zazwyczaj z przetwornika, wzmacniacza i innych obwodów elektronicznych. No dobrze, zatem gdzie takie rozwiązania mogą się przydać? Okazuje się, że w naprawdę wielu miejscach. Do głowy od razu wpada kryptografia i jest to słuszna myśl. Generowane losowo liczby są przydatne w celu zwiększenia bezpieczeństwa przesyłania danych, na przykład w internetowych protokołach szyfrowania TLS.

SRNG służy zasadniczo do tych samych celów, lecz różni się od swojego brata omawianego wyżej. Tutaj liczby są generowane na podstawie algorytmu komputerowego, który tworzy jakiś programista lub informatyk. Może on zatem ustalić zakres cyfr bądź symboli, nadać jakieś specjalne zależności i tym podobne. Na ogół takowy algorytm może być dowolnie modyfikowany pod aktualne potrzeby.

Dlaczego HRNG jest lepsze od SRNG?

Tutaj przechodzimy już do meritum. SRNG jest gorsze od HRNG, dlatego że funkcjonuje ono na bazie algorytmu komputerowego. To rozwiązania ma znacznie więcej wad niż zalet, dlatego też na SRNG często się mówi „generator liczb pseudolosowych”. Można stworzyć, chociażby „kontralgorytm”, który na podstawie działania SRNG będzie podawać nam kolejną cyfrę z dużą dozą prawdopodobieństwa. Kolejną wadą jest brak jednorodności rozkładu dla dużych ilości generowanych liczb. Z tymi problemami nie boryka się HRNG, dlatego też jest ono częściej stosowane.

Samo SRNG jest również bardziej podatne na ataki, a ich skutki mogą być druzgocące, gdyż haker zyska pełny dostęp do „losowo” generowanych liczb i będzie on mógł odszyfrować dowolne dane. Jednocześnie podkreślę, że HRNG również jest narażony na ataki, różnica polega na tym, że jest on na nie znacznie bardziej odporny.

Do czego przydaje się losowe generowanie liczb?

RNG jest szeroko spotykane w grach hazardowych, na stronach typu sloty online. Dzięki temu użytkownik może rozkoszować się rozgrywką w różnego rodzaju automaty. Z wad SRNG wyrosło również kilka zalet, a jedną z nich jest możliwość przeprowadzenia symulacji metodą Monte Carlo. Debugowanie jest tam ułatwione ze względu na możliwość przeprowadzenia od początku tej samej sekwencji losowych cyfr.

Wielu z nas pewnie na co dzień korzysta z jakiejś aplikacji muzycznej. Mamy w niej wiele utworów, wykonawców, albumów i playlist. Przycisk „odtwarzaj losowo” również bazuje na generatorze liczb losowych, dokładnie takim samym jak sloty online. Oczywiście jest on przystosowany do potrzeb aplikacji, lecz zasada działania się praktycznie nie zmienia. RNG jest szeroko wykorzystywane wszędzie tam, gdzie potrzebny jest losowy ciąg jakichś symboli, znaków, czy cyfr.

Leave a Reply

Your email address will not be published. Required fields are marked *