Czujniki liczb losowych. Rosjanie opracowali „pierwszy na świecie” biologiczny generator liczb losowych. Jak on pracuje? Sprawdzanie występowania ciągów identycznych liczb

Czujniki liczb losowych.  Rosjanie opracowali „pierwszy na świecie” biologiczny generator liczb losowych.  Jak on pracuje?  Sprawdzanie występowania ciągów identycznych liczb
Czujniki liczb losowych. Rosjanie opracowali „pierwszy na świecie” biologiczny generator liczb losowych. Jak on pracuje? Sprawdzanie występowania ciągów identycznych liczb

Lekcja 15. Duszą gry jest szansa

Wiele już nauczyłeś żółwia. Ale ona ma też inne, ukryte możliwości. Czy żółw potrafi sam zrobić coś, co cię zaskoczy?
Okazuje się, że tak! Na liście czujników znajdują się żółwie czujnik losowe liczby :

losowy

Często spotykamy się z liczbami losowymi: rzucając kostką w dziecięcej grze, słuchając kukułki wróżki w lesie czy po prostu „odgadując dowolną liczbę”. Czujnik liczb losowych w LogoWorlds może przyjmować wartość dowolnej dodatniej liczby całkowitej od 0 do wartości granicznej określonej jako parametr.

Sama liczba, określona jako parametr czujnika liczb losowych, nigdy się nie pojawia.

Na przykład losowy czujnik 20 może być dowolną liczbą całkowitą od 0 do 19, łącznie z 19, losowy czujnik 1000 może być dowolną liczbą całkowitą od 0 do 999, łącznie 999.
Być może zastanawiasz się, gdzie jest gra – tylko liczby. Ale nie zapominaj, że w LogoWorlds możesz używać liczb, aby określić kształt żółwia, grubość pisaka, jego rozmiar, kolor i wiele więcej. Najważniejsze jest, aby wybrać odpowiedni limit wartości. Granice zmian podstawowych parametrów żółwia przedstawiono w tabeli.
Generator liczb losowych może zostać użyty na przykład jako parametr dowolnego polecenia do przodu, Prawidłowy i tak dalej.

Zadanie 24. Korzystanie z czujnika liczb losowych
Zorganizuj jedną z sugerowanych poniżej gier, korzystając z czujnika liczb losowych i uruchom żółwia.
Gra 1: Kolorowy ekran
1. Umieść żółwia na środku ekranu.
2. Wprowadź polecenia w Plecaku i ustaw tryb Wiele razy:

new_color losowa 140 farb czekaj 10

Zespół farba wykonuje te same czynności, co narzędzie Wypełnienie w edytorze graficznym.
3. Opowiedz fabułę.
Gra 2: „Wesoły malarz” 1. Zmodyfikuj grę nr 1, rysując linie na ekranie w losowych obszarach o ciągłych granicach:

2. Wypełnij instrukcje zawarte w Plecaku Żółwi, losowymi zwrotami i ruchami:

prawy losowy 360
do przodu losowo 150

Gra 3: „Patchworkowa mata”
Ustaw w plecaku instrukcje poruszania żółwia ( do przodu 60) ze stalówką o grubości 60 obniżoną w losowym kolorze (0-139) pod mały kąt (nowy_kurs 10).
Gra 4: „Polowanie”
Opracuj fabułę, w której czerwony żółw poluje na czarnego. Czarny żółw porusza się po losowej trajektorii, a kierunek ruchu czerwonego żółwia sterowany jest za pomocą suwaka.

Pytania do samokontroli
1. Co to jest generator liczb losowych?
2. Jaki jest parametr czujnika liczb losowych?
3. Co oznacza limit wartości?
4. Czy kiedykolwiek pojawia się liczba podana jako parametr?

Zaproponowano podejście do konstrukcji biologicznego czujnika liczb losowych przeznaczonego do generowania losowych sekwencji na komputerze lub tablecie z szybkością kilkuset bitów na minutę. Podejście to polega na obliczeniu szeregu wielkości związanych z losową reakcją użytkownika na proces pseudolosowy wyświetlany na ekranie komputera. Proces pseudolosowy realizowany jest jako pojawienie się i ruch krzywoliniowy okręgi na ekranie w obrębie danego obszaru.

Wstęp

Znaczenie problemów związanych z generowaniem ciągów losowych (RS) dla zastosowań kryptograficznych wynika z ich wykorzystania w systemach kryptograficznych do generowania informacji kluczowych i pomocniczych. Samo pojęcie losowości ma korzenie filozoficzne, co wskazuje na jego złożoność. W matematyce istnieją różne podejścia do definiowania terminu „losowość”; ich przegląd znajduje się na przykład w naszym artykule „Czy wypadki nie są losowe?” . Informacje o znanych podejściach do definiowania pojęcia „losowości” usystematyzowano w tabeli 1.

Tabela 1. Podejścia do wyznaczania losowości

Nazwa podejścia Autorski Istota podejścia
Częstotliwość von Misesa, Kościół, Kołmogorowa, Loveland We wspólnym przedsięwzięciu należy zachować stabilność częstotliwości występowania elementów. Przykładowo znaki 0 ​​i 1 muszą występować niezależnie i z równym prawdopodobieństwem nie tylko w binarnym SP, ale także w dowolnym jego podciągu, wybranym losowo i niezależnie od początkowych warunków generacji.
Złożony Kołmogorow, Chaitin Żaden opis realizacji wspólnego przedsięwzięcia nie może być znacząco krótszy od samej realizacji. Oznacza to, że wspólne przedsięwzięcie musi mieć złożona struktura, a entropia jego początkowych elementów musi być duża. Sekwencja jest losowa, jeśli jej złożoność algorytmiczna jest bliska długości sekwencji.
Ilościowy Martin-Lof Podział przestrzeni probabilistycznej ciągów na nielosowe i losowe, czyli na sekwencje, które „nie spełniają” i „przechodzą” zestaw specyficznych testów mających na celu identyfikację wzorców.
Kryptograficzne Nowoczesne podejście Sekwencję uważa się za losową, jeśli złożoność obliczeniowa poszukiwania wzorców jest nie mniejsza niż podana wartość.

Badając syntezę biologicznego czujnika liczby losowej (zwanego dalej BioRSN), warto wziąć pod uwagę następujący warunek: sekwencję uważa się za losową, jeśli udowodniona zostanie losowość źródła fizycznego, w szczególności źródła jest lokalnie stacjonarny i tworzy sekwencję o zadanych cechach. Takie podejście do definicji losowości jest istotne przy konstruowaniu BioDSCh, można je warunkowo nazwać „fizycznym”. Spełnienie warunków warunkuje przydatność sekwencji do zastosowania w zastosowaniach kryptograficznych.
Znane są różne metody generowania liczb losowych na komputerze, które polegają na wykorzystaniu znaczących i nieświadomych działań użytkownika jako źródła losowości. Do takich działań zalicza się np. wciskanie klawiszy na klawiaturze, poruszanie lub klikanie myszką itp. Miarą losowości wygenerowanej sekwencji jest entropia. Wada wielu znane metody jest trudność oszacowania wielkości uzyskanej entropii. Podejścia związane z pomiarem charakterystyki nieświadomych ruchów człowieka pozwalają na uzyskanie stosunkowo niewielkiego ułamka losowych bitów w jednostce czasu, co nakłada pewne ograniczenia na wykorzystanie generowanych sekwencji w zastosowaniach kryptograficznych.

Proces pseudolosowy i zadanie użytkownika

Rozważmy generowanie SP przy użyciu znaczących reakcji użytkownika na jakiś raczej złożony proces pseudolosowy. Mianowicie: w losowych momentach mierzone są wartości pewnego zestawu wielkości zmiennych w czasie. Losowe wartości wielkości procesowych są następnie reprezentowane jako losowa sekwencja bitów. Cechy aplikacji kryptograficznej i środowiska operacyjnego określiły szereg wymagań dla BioDSCh:
  1. Wygenerowane ciągi powinny mieć charakterystykę statystyczną zbliżoną do idealnych ciągów losowych, w szczególności polaryzacja (częstotliwość względna „1”) ciągu binarnego powinna być bliska 1/2.
  2. Podczas realizacji procesu przez przeciętnego użytkownika prędkość generowania musi wynosić co najmniej 10 bitów/s.
  3. Czas generowania przez przeciętnego użytkownika 320 bitów (co w algorytmie GOST 28147-89 odpowiada sumie długości klucza (256 bitów) i długości komunikatu synchronizacji (64 bity)) nie powinien przekraczać 30 sekund.
  4. Łatwość obsługi przez użytkownika dzięki programowi BioDSCh.
Opiszmy zasadę konstruowania rozważanej klasy BioDSCh. Nazwijmy obszar roboczy prostokątem znajdującym się w środku osobistego lub komputer typu tablet i zajmuje większość ekranu, aby zapewnić użytkownikowi wygodną analizę wizualną procesu. W centrum miejsce pracy są generowane sekwencyjnie w odstępach czasu ułamka sekundy N okręgów o średnicy d, od których się rozpoczynają ruch prostoliniowy w różnych kierunkach. Kierunek ruchu i-tego okręgu, generowany w momencie i-tego kliknięcia użytkownika (w przypadku tabletu, naciśnięcia palcem), wyznaczany jest przez kierunek „wektora odjazdu okręgu”, niewidoczny dla użytkownika, w tym samym momencie, który obraca się równomiernie z zadaną prędkością wokół środka obszaru roboczego, i=1,…,N.
Okręgi poruszają się jak rzuty piłek na stole bilardowym, gdy się zderzają, odbijają się od siebie i od granic obszaru pracy, często zmieniając kierunek ruchu i symulując ogólnie chaotyczny proces przemieszczania się kręgów po pracy obszarze (ryc. 1).

Rysunek 1. Trajektorie ruchu środków okręgów w obszarze pracy

Zadaniem użytkownika jest wygenerowanie M losowych bitów. Po pojawieniu się ostatniego okręgu w obszarze roboczym użytkownik musi szybko usunąć wszystkie N ruchomych okręgów, klikając w losowej kolejności myszką (w przypadku tabletu palcem) obszar każdego okręgu. Sesja generowania określonej liczby bitów SP kończy się po usunięciu wszystkich okręgów. Jeżeli liczba bitów wygenerowanych w jednej sesji nie jest wystarczająca, wówczas sesja jest powtarzana tyle razy, ile jest to konieczne do wygenerowania M bitów.

Zmierzone wielkości procesowe

Generowanie SP odbywa się poprzez pomiar szeregu cech opisywanego procesu pseudolosowego w losowych momentach wyznaczanych przez reakcję użytkownika. Szybkość generowania bitów jest tym większa, im więcej niezależnych charakterystyk jest mierzonych. Niezależność mierzonych cech oznacza nieprzewidywalność wartości każdej cechy wg znane wartości inne cechy.
Należy pamiętać, że każdy okrąg poruszający się na ekranie jest ponumerowany i podzielony na 2 k równych sektorów niewidocznych dla użytkownika, ponumerowanych od 0 do 2 k -1, gdzie k jest liczbą naturalną i obraca się wokół swojego geometrycznego środka z zadaną prędkością kątową. Użytkownik nie widzi numeracji okręgów i sektorów okręgu.
W momencie wejścia do okręgu (udanego kliknięcia lub naciśnięcia palca) mierzonych jest szereg charakterystyk procesu, tzw. źródła entropii. Niech a oznacza punkt uderzenia i-te koło, i=1,2,... Wówczas do mierzonych wielkości wskazane jest uwzględnienie:
  • Współrzędne X i Y punktu a i ;
  • odległość R od środka okręgu do punktu a i;
  • numer sektora wewnątrz i-tego okręgu zawierającego punkt a i ;
  • numer koła itp.
Zmierzone wartości są konwertowane na reprezentację binarną, której elementy są następnie filtrowane po uwzględnieniu w wynikowej sekwencji bitów.

Wyniki eksperymentalne

W celu określenia parametrów priorytetowej realizacji BioDSCh przeprowadzono około 10 4 sesji przez różnych wykonawców. Przeprowadzone doświadczenia umożliwiły wyznaczenie obszarów odpowiednie wartości dla parametrów modelu BioDSCh: wymiary obszaru roboczego, liczba i średnica okręgów, prędkość ruchu okręgów, prędkość obrotowa „wektora odejścia okręgów”, liczba sektorów, w które koła są podzielone, prędkość kątowa obrotu kół itp.
Analizując wyniki operacji BioDSCh przyjęto następujące założenia:
  • rejestrowane zdarzenia są niezależne w czasie, co oznacza, że ​​reakcja użytkownika na proces obserwowany na ekranie jest trudna do odtworzenia za pomocą wysoka celność zarówno innemu użytkownikowi, jak i samemu użytkownikowi;
  • źródła entropii są niezależne, to znaczy nie można przewidzieć wartości jakiejkolwiek cechy na podstawie znanych wartości innych cech;
  • jakość sekwencji wyjściowej należy oceniać, biorąc pod uwagę znane podejścia do wyznaczania losowości (tabela 1), a także podejście „fizyczne”.
Ocena przedziałów ufności dla wartości obliczonych wielkości procesowych odpowiada poziomowi istotności 0,05. W celu rozpoznania równomierności rozkładu znaków otrzymanej próbki (po redukcji do postaci binarnej) zastosowano test chi-kwadrat zgodności z rozkładem równomiernym.
Zgodnie z długością generowanych ciągów binarnych ustalono dopuszczalne ograniczenie ich polaryzacji p: |p-1/2|?b, gdzie b?10 -2.
Liczbę bitów uzyskanych z wartości mierzonych wielkości procesowych (źródeł entropii) wyznaczono empirycznie na podstawie analizy entropii informacyjnej wartości rozpatrywanych charakterystyk. Ustalono empirycznie, że „usunięcie” dowolnego koła pozwala uzyskać około 30 bitów losowej sekwencji. Zatem przy zastosowanych parametrach układu BioDSCh wystarczą 1-2 sesje działania BioDSCh do wygenerowania klucza i wektora inicjalizacyjnego algorytmu GOST 28147-89.
Kierunki doskonalenia charakterystyk generatorów biologicznych należy wiązać zarówno z optymalizacją parametrów tego układu, jak i z badaniem innych układów BioDSCh.

Deterministyczne PRNG

Żaden algorytm deterministyczny nie jest w stanie wygenerować liczb całkowicie losowych, może jedynie przybliżyć niektóre właściwości liczb losowych. Jak powiedział John von Neumann: „ każdy, kto ma słabość do arytmetycznych metod uzyskiwania liczb losowych, jest bez wątpienia grzeszny».

Każdy PRNG z ograniczonymi zasobami prędzej czy później przechodzi cykle – zaczyna powtarzać tę samą sekwencję liczb. Długość cykli PRNG zależy od samego generatora i wynosi średnio około 2n/2, gdzie n jest wielkością stanu wewnętrznego w bitach, chociaż generatory liniowe przystające i LFSR mają maksymalne cykle rzędu 2n. Jeśli PRNG może zbiegać się w zbyt krótkie cykle, PRNG staje się przewidywalny i bezużyteczny.

Większość prostych generatorów arytmetycznych, choć bardzo szybkich, ma wiele poważnych wad:

  • Okres/okresy są zbyt krótkie.
  • Kolejne wartości nie są niezależne.
  • Niektóre bity są „mniej losowe” niż inne.
  • Nierówny rozkład jednowymiarowy.
  • Odwracalność.

W szczególności algorytm komputera mainframe okazał się bardzo słaby, co wzbudziło wątpliwości co do wiarygodności wyników wielu badań wykorzystujących ten algorytm.

PRNG ze źródłem entropii lub RNG

Tak jak istnieje potrzeba generowania łatwo powtarzalnych ciągów liczb losowych, istnieje również potrzeba generowania liczb całkowicie nieprzewidywalnych lub po prostu całkowicie losowych. Takie generatory nazywane są generatory liczb losowych(RNG – angielski) generator liczb losowych, RNG). Ponieważ takie generatory są najczęściej używane do generowania unikalnych kluczy symetrycznych i asymetrycznych do szyfrowania, najczęściej buduje się je z kombinacji silnego kryptograficznie PRNG i zewnętrznego źródła entropii (i właśnie ta kombinacja jest obecnie powszechnie rozumiana jako RNG).

Prawie wszyscy główni producenci chipów dostarczają sprzęt RNG różne źródła entropia za pomocą różne metody oczyścić je z nieuniknionej przewidywalności. Jednak na ten moment prędkość, z jaką liczby losowe są zbierane przez wszystkie istniejące mikrochipy (kilka tysięcy bitów na sekundę) nie odpowiada szybkości współczesnych procesorów.

W komputery osobiste autorzy oprogramowania RNG wykorzystują znacznie szybsze źródła entropii, takie jak szum karta dźwiękowa lub licznik cykli procesora. Zanim stało się możliwe odczytywanie wartości liczników zegara, zbieranie entropii było najbardziej wrażliwym punktem RNG. Problem ten nadal nie został w pełni rozwiązany w przypadku wielu urządzeń (np. kart inteligentnych), które w związku z tym pozostają podatne na ataki. Wiele RNG nadal korzysta z tradycyjnych (przestarzałych) metod zbierania entropii, takich jak pomiar reakcji użytkownika (ruchy myszy itp.), jak na przykład lub interakcja między wątkami, jak w Java Secure Random.

Przykłady źródeł RNG i entropii

Kilka przykładów RNG z ich źródłami entropii i generatorami:

Źródło entropii PRNG Zalety Wady
/dev/random w systemie Linux Licznik zegara procesora, jednak zbierany tylko podczas przerwań sprzętowych LFSR, z danymi wyjściowymi zaszyfrowanymi przezBardzo długo się „nagrzewa”, potrafi „zablokować się” na dłuższy czas lub działa jak PRNG ( /dev/urandom)
Krwawnik przez Bruce'a Schneiera Tradycyjne (przestarzałe) metody AES-256 iElastyczna konstrukcja odporna na krypto Długo się „nagrzewa”, bardzo mały stan wewnętrzny, za bardzo zależy od siły kryptograficznej wybranych algorytmów, jest powolny, ma zastosowanie wyłącznie do generowania kluczy
Generator autorstwa Leonida Juryjewa Szum karty dźwiękowej ? Najprawdopodobniej dobre i szybkie źródło entropii Brak niezależnego, znanego kryptosilnego PRNG, dostępnego wyłącznie w systemie Windows
Microsoftu Wbudowany w system Windows, nie zacina się Mały stan wewnętrzny, łatwy do przewidzenia
Komunikacja pomiędzy wątkami W Javie nie ma jeszcze innego wyboru, istnieje duży stan wewnętrzny Kolekcja powolnej entropii
Chaos autorstwa Ruptora Licznik zegara procesora, zbierany w sposób ciągły Hashowanie 4096-bitowego stanu wewnętrznego w oparciu o nieliniowy wariant generatora Marsaglia Dopóki najszybszy ze wszystkich, duży stan wewnętrzny, nie „utknie”
RRAND z Ruptora Licznik zegara procesora Szyfrowanie stanu wewnętrznego szyfrem strumieniowymBardzo szybki, stan wewnętrzny o dowolnym rozmiarze do wyboru, bez „zawieszenia”

PRNG w kryptografii

Rodzajem PRNG są PRBG – generatory bitów pseudolosowych, a także różne szyfry strumieniowe. PRNG, podobnie jak szyfry strumieniowe, składają się ze stanu wewnętrznego (zwykle o rozmiarze od 16 bitów do kilku megabajtów), funkcji inicjującej stan wewnętrzny za pomocą klucza lub nasionko(Język angielski) nasionko), funkcje aktualizacji stanu wewnętrznego i funkcje wyjściowe. PRNG dzielą się na proste arytmetyczne, łamane kryptograficzne i silne kryptograficzne. Ich ogólnym celem jest generowanie ciągów liczb, których nie można odróżnić od losowych metodami obliczeniowymi.

Chociaż wiele silnych PRNG lub szyfrów strumieniowych oferuje znacznie więcej liczb „losowych”, takie generatory są znacznie wolniejsze niż konwencjonalne generatory arytmetyczne i mogą nie nadawać się do jakichkolwiek badań wymagających, aby procesor mógł wykonać bardziej przydatne obliczenia.

Do celów wojskowych i warunki terenowe Używane są tylko tajne synchroniczne silne kryptograficzne szyfry PRNG (szyfry strumieniowe); Przykładami dobrze znanych kryptograficznie silnych PRNG są ISAAC, SEAL, Snow, bardzo powolny algorytm teoretyczny Bluma, Bluma i Shuba, a także liczniki z kryptograficznymi funkcjami skrótu lub silnymi kryptograficznie szyframi blokowymi zamiast funkcji wyjściowej.

Sprzęt PRNG

Oprócz dziedzictwa, dobrze znanych generatorów LFSR, które były szeroko stosowane jako sprzętowe PRNG w XX wieku, niestety niewiele wiadomo o współczesnych sprzętowych PRNG (szyfrach strumieniowych), ponieważ większość z nich została opracowana do celów wojskowych i jest utrzymywana w tajemnicy . Prawie wszystkie istniejące komercyjne PRNG sprzętowe są opatentowane i również utrzymywane w tajemnicy. Sprzętowe PRNG są ograniczone rygorystycznymi wymaganiami dotyczącymi pamięci eksploatacyjnej (najczęściej korzystanie z pamięci jest zabronione), szybkości (1-2 cykle zegara) i obszaru (kilkaset FPGA - lub

Ze względu na brak dobrych sprzętowych PRNG, producenci są zmuszeni używać znacznie wolniejszych, ale dobrze znanych dostępnych pod ręką szyfrów blokowych (Computer Review nr 29 (2003)

  • Jurij Lifshits. Kurs „Współczesne problemy kryptografii” Wykład 9: Generatory pseudolosowe
  • L. Barasz. Algorytm AKS do sprawdzania pierwszości liczb i wyszukiwania stałych generatora liczb pseudolosowych
  • Żelnikow Włodzimierz. Pseudolosowe ciągi liczb // Kryptografia z papirusu do komputera M.: ABF, 1996.
  • random.org (angielski) - serwis internetowy służący do generowania liczb losowych
  • Kryptograficzne liczby losowe
  • Teoria i praktyka generowania liczb losowych
  • Zvi Guttermana, Benny’ego Pinkasa i Tzachy’ego Reinmana. Analiza generatora liczb losowych w systemie Linux
  • Zestaw testów statystycznych dla generatorów liczb losowych i pseudolosowych do zastosowań kryptograficznych NIST SP 800-22
  • Istnieją trzy zasadniczo różne różne sposoby uzyskiwanie liczb wykorzystywanych jako losowe: fizyczne, tabelaryczne i algorytmiczne.

    Uważa się, że pierwszą próbę stworzenia fizycznego generatora liczb losowych datuje się na rok 3500 p.n.e. i jest powiązany z gra planszowa senet, starożytna egipska rozrywka towarzyska. Według współczesnych rekonstrukcji zasad gry, do określenia liczby punktów zdobytych przez każdego gracza oraz kolejności ruchów w tej grze używano czterech płaskich kijów, których jedna strona była biała, a druga czarna. Patyki rzucano jednocześnie i w zależności od kombinacji kolorów, które wypadły, dodatkowe funkcje gracze. Na początku XX wieku. Sekwencje losowych liczb symulowano ręcznie – poprzez rzucanie monetą lub kostką, układanie grać w karty, ruletka, usuwanie kul z urny itp. Nowoczesne czujniki fizyczne (sprzętowe) to specjalne urządzenia, które generują liczby losowe w oparciu o transformację szumu losowego, naturalnego lub sztuczne pochodzenie(szum termiczny, efekt śrutu w lampach próżniowych, rozpad radioaktywny itp.). Na przykład samochód ERNIE 4 (elektroniczny przyrząd wskazujący liczbę losową),

    • 1 Czasami, choć rzadko, rozkład określony w tabeli 0 1 ... 8 9 uważa się za standardowy
    • 0,1 0,1 ... 0,1 0,1/, który służy do określania zwycięskich liczb w comiesięcznej brytyjskiej loterii, jako źródło zmienne losowe wykorzystuje szum termiczny tranzystorów. U metoda fizyczna Uzyskanie ciągu liczb losowych ma cechy, które są wadami modelu symulacyjnego. Należą do nich przede wszystkim konieczność zastosowania specjalnych środków zapewniających stabilność źródła sygnału przeliczonego na liczby losowe oraz brak możliwości odtworzenia powstałego ciągu liczb losowych.

    Tabele liczb losowych są usuwane wspomniane niedociągnięcia. Wyjaśnijmy, co oznacza tablica liczb losowych. Załóżmy, że wdrożyliśmy N niezależnych eksperymentów, w wyniku których uzyskali losowe liczby a, a 2, osdg. Zapisanie tych liczb (w kolejności występowania i w formie prostokątnej tabeli) da tak zwaną tablicę liczb losowych. Używa się go w następujący sposób. Podczas obliczeń możemy potrzebować losowej cyfry lub losowej liczby. Jeśli wymagana jest liczba losowa, możemy pobrać dowolną liczbę z tej tabeli. To samo tyczy się przypadku liczby całkowitej losowej – dla każdej cyfry można wybrać dowolną cyfrę. Jeśli potrzebujemy losowej liczby 0 k kolejnych cyfr сс i 2 , ос/ i założymy, że 8 = (Hoco^.-.o^. W tym przypadku w przypadku „idealnej” tablicy cyfr losowych , możemy wybierać z niej cyfry losowo, możliwe w rzędzie, można zastosować dowolny algorytm selekcji niezależny od wartości numerów tabeli, zaczynać od dowolnego miejsca w tabeli, czytać w dowolnym kierunku.

    Pierwsze tablice liczb losowych uzyskano za pomocą ruletek. Tabele takie były kilkakrotnie publikowane w formie książkowej. Jedna z najsłynniejszych tablic, opublikowana w 1927 r., zawierała ponad 40 000 liczb losowych „wziętych losowo ze sprawozdań spisowych”.

    Odniesienie historyczne

    Leonarda Tippetta (Leonard Henry Caleb Tippett, 1902-1985) – statystyk angielski, uczeń K. Pearsona i R. Fishera. W latach 1965-1966 - Prezes Królewskiego Towarzystwa Statystycznego. Z jego nazwiskiem kojarzone są pewne ważne wyniki teorii wartości ekstremalnych, na przykład rozkład Fishera-Tippetta i twierdzenie Fishera-Tippetta-Gnedenko.

    Później zaprojektowano specjalne urządzenia (maszyny), które mechanicznie generowały liczby losowe. Pierwszą taką maszynę wykorzystali w 1939 roku M. J. Kendall i B. Babington-Smith do tworzenia tablic zawierających 100 tysięcy losowych cyfr. W 1955 roku firma Firma RAND opublikował znane tablice zawierające milion losowych cyfr uzyskanych przez inną maszynę tego typu. Praktyczne użycie tablice liczb losowych ograniczają się obecnie z reguły do ​​problemów, w których stosuje się metody doboru losowego

    próbki, na przykład w badaniach socjologicznych lub podczas przeprowadzania statystycznej kontroli akceptacji jakości produktów jednostkowych do różnych celów.

    To jest interesujące

    W Rosji obowiązuje GOST 18321-73 (ST SEV 1934-79), ustalający zasady wyboru jednostek produktów w próbie podczas przeprowadzania statystycznej kontroli jakości akceptacji, statystyczne metody analizy i regulacji procesy technologiczne do wszelkiego rodzaju wyrobów jednostkowych do celów przemysłowych i technicznych oraz dóbr konsumpcyjnych. Stanowi w szczególności, że przy doborze jednostek produktów do próby „stosuje się tablice liczb losowych zgodnie z ST SEV 546-77”.

    aplikuj wielokrotnie; wszystkie liczby są łatwe do odtworzenia; a podaż liczb w takiej sekwencji jest ograniczona. Jednak ciąg liczb pseudolosowych ma oczywistą przewagę nad tabelą: istnieje proste formuły obliczyć liczbę pseudolosową, podczas gdy na uzyskanie każdej liczby potrzeba tylko 3-5 poleceń, a program obliczeniowy zajmuje tylko kilka komórek na dysku.

    Istnieje wiele algorytmów uzyskiwania ciągów liczb pseudolosowych; implementacje takich algorytmów, zwanych czujnikami (generatorami) liczb pseudolosowych, są szczegółowo opisane w literaturze specjalistycznej. Wskażmy kilka najbardziej znanych algorytmów.

    • Tippett L. Losowe liczby próbkowania. Londyn: Cambridge University Press, 1927.
    • Zobacz: Knuth D. E. Sztuka programowania. wydanie 3. M.: Williams, 2000. T. 2. Rozdz. 3.Liczby losowe.

    19.09.2017, wtorek, 13:18 czasu moskiewskiego , Tekst: Waleria Szmyrowa

    Firma Security Code, twórca kompleksu kryptograficznego Continent, otrzymała patent na biologiczny czujnik liczb losowych. Jest to właśnie czujnik biologiczny, gdyż losowość opiera się na reakcji użytkownika na pokazany mu obraz. Firma zapewnia, że ​​takie technologie nie były wcześniej opatentowane na świecie.

    Uzyskanie patentu

    Firma Security Code otrzymała patent na technologię biologicznego czujnika liczb losowych. Według twórców przy tworzeniu technologii zastosowano „nowe podejście do rozwiązania problemu generowania liczb losowych za pomocą komputera i człowieka”. Rozwój ten jest już stosowany w wielu produktach, w tym Continent-AP, Secret Net Studio, Continent TLS i Jinn, a także w bibliotece kryptograficznej SCrypt.

    Jak wyjaśnili CNews przedstawiciele firmy, prace nad czujnikiem trwają już od trzech lat. Składa się z części naukowej, części wdrożeniowej i części eksperymentalnej. Za część naukową firmy odpowiadają trzy osoby; w rozwoju brał udział cały zespół programistów, a badania i eksperymenty przeprowadzał cały, liczący kilkaset osób, zespół.

    Możliwości technologiczne

    Nowy czujnik może generować losowe sekwencje na urządzeniach osobistych – nie ma takiej potrzeby dodatkowe urządzenia lub dodatki sprzętowe. Można go stosować w szyfrowaniu danych oraz w każdym obszarze, w którym potrzebne są losowe sekwencje binarne. Według twórców, za jego pomocą klucze szyfrujące tworzone są znacznie szybciej urządzenia mobilne. Właściwość ta może służyć do szyfrowania danych lub generowania podpisu elektronicznego.

    Jak wyjaśniono Alisa Koreneva, analityk systemu „Security Code”, firmowy czujnik generuje losowe sekwencje na podstawie szybkości i dokładności reakcji dłoni użytkownika na zmiany obrazu na ekranie komputera lub tabletu. Do wprowadzania danych używana jest mysz lub ekran dotykowy. Wygląda to tak: po ekranie chaotycznie poruszają się okręgi, niektóre ich parametry zmieniają się w czasie. W pewnym momencie użytkownik reaguje na zmiany w obrazie. Biorąc pod uwagę specyfikę jego zdolności motorycznych, znajduje to odzwierciedlenie w losowej masie bitów.

    Generuj losowo ciągi liczbowe może opierać się na spontanicznych reakcjach człowieka

    Poza kryptografią czujnik może służyć do generowania liczb losowych gry komputerowe lub wyłonienie zwycięzców konkursu.

    Nowość naukowa

    Jak firma wyjaśniła CNews, wiele znanych metod konstruowania czujników liczb losowych opiera się albo na prawach i zjawiskach fizycznych, albo na algorytmach deterministycznych. Sekwencje można generować za pomocą komputera – w tym przypadku za podstawę losowości przyjmuje się niestabilność niektórych części komputera i niepewność zakłóceń sprzętowych.

    Nowatorstwo technologii Security Code polega na tym, że źródłem losowości jest reakcja człowieka na zmieniający się obraz wyświetlany na wyświetlaczu urządzenia. Dlatego w tytule wynalazku pojawia się słowo „biologiczny”. Firma podaje, że ani ona, ani Rospatent nie znalazły opatentowanych analogów tej technologii w Rosji i na świecie. Jednak ogólnie znane są takie techniki: na przykład sekwencję można wygenerować na podstawie działań użytkownika, takich jak kliknięcia lub ruchy myszą lub naciśnięcia klawiszy na klawiaturze.

    Według Korenevy zespół programistów przeanalizował różne sposoby generowanie losowych sekwencji. Jak się okazało, w wielu przypadkach nie ma rozsądnych szacunków wydajności generacji lub właściwości statystycznych wygenerowanych sekwencji, lub obu. Wynika to z trudności uzasadnienia już wynalezionej technologii. Security Code twierdzi, że jego badania dostarczyły rozsądnych szacunków szybkości wytwarzania, były w stanie uzasadnić dobre cechy probabilistyczne i właściwości statystyczne oraz oszacowały entropię spowodowaną działaniami człowieka.

    Produkty korzystające z technologii

    „Kontynent” to sprzęt pakiet oprogramowania, przeznaczony do szyfrowania danych. Stosowany w rosyjskim sektorze publicznym, na przykład w Ministerstwie Skarbu. Składa się z zapory ogniowej i narzędzi do tworzenia VPN. Został stworzony przez firmę NIP Informzashita, a obecnie jest rozwijany przez Security Code LLC.

    W szczególności serwer dostępowy „Continent” i system kryptograficznej ochrony informacji „Continent-AP” stanowią bezpieczny moduł zdalny dostęp wykorzystujący algorytmy GOST, a „Continent TLS VPN” to system zapewniający bezpieczny zdalny dostęp do aplikacji internetowych, również wykorzystujący algorytmy szyfrowania GOST.

    Secret Net Studio jest kompleksowe rozwiązanie w celu ochrony stacji roboczych i serwerów na poziomie danych, aplikacji, sieci, system operacyjny i urządzeń peryferyjnych, która również opracowuje „Kodeks Bezpieczeństwa”. Jinn-Client przeznaczony jest do kryptograficznej ochrony informacji w celu tworzenia podpisu elektronicznego i zaufanej wizualizacji dokumentów, a Jinn-Server to kompleks programowo-sprzętowy do budowy systemów zarządzania dokumentami elektronicznymi o znaczeniu prawnym.

    Biblioteka kryptograficzna SCrypt, która również wykorzystuje nowy czujnik, został opracowany przez „Kodeks Bezpieczeństwa” w celu wygodniejszego stosowania algorytmów kryptograficznych w różnych produktach. Jest to pojedynczy kod programu, który został sprawdzony pod kątem błędów. Biblioteka obsługuje szyfrowanie kryptograficzne, podpis elektroniczny i algorytmy szyfrowania.

    Do czego służy „Kodeks bezpieczeństwa”?

    "Kod bezpieczeństwa" - Rosyjska firma, która opracowuje oprogramowanie i sprzęt. Powstała w 2008 roku. Zakres produktu: ochrona systemy informacyjne i doprowadzenie ich do porozumienia z międzynarodowymi i standardy przemysłowe, w tym ochronę informacji poufnych, w tym tajemnicy państwowej. „Kod bezpieczeństwa” ma dziewięć licencji Służba federalna ds. Kontroli Technicznej i Eksportu (FSTEC) Rosji, Federalnej Służby Bezpieczeństwa (FSB) Rosji i Ministerstwa Obrony.

    Personel firmy składa się z około 300 specjalistów, produkty sprzedawane są przez 900 autoryzowanych partnerów we wszystkich regionach Rosji i krajach WNP. Baza klientów Security Code obejmuje około 32 tysiące organizacji rządowych i komercyjnych.