Pieniądz jak każdy rozumie to coś bez czego nie da się obecnie funkcjonować. Widzieli już o tym nas dawni przodkowie, wiedzieli też o tym globalni włodarze, jako że kontrola nad pieniądzem to kontrola nad społeczeństwem i światem. Dlatego też pieniądz od dawna grał pierwsze globalne skrzypce, a wojen o pieniądze nie da się raczej zliczyć. Jego ewolucja jest bardzo ciekawa i możemy mieć pewność, że dopóki będzie świat istniał dopóty będzie trwała ewolucja pieniądza. Zainteresowanych historią ewolucji pieniądza odsyłamy do poniższego wpisu, gdzie autorzy zastanawiają się dokąd ta ewolucja zmierza w oparciu o poszlaki i informacje już dostępne.
Obecnie jesteśmy już na etapie cyfrowego pieniądza z-centralizowanego, zarządzanego przez banki komercyjne. Obecny system FIAT zbliża się chyba ku końcowi, jako że banki centralne świata już głośno i wyraźnie zapowiadają wprowadzenie swojego własnego "cyfrowego FIATA". Kiedy to nastąpi? Zapewne na przestrzeni kilku najbliższych lat, gdyż proces projektowania CBDC zbliża się ku końcowi, a właściwie to jesteśmy już na etapie wstępnych testów. Zainteresowanych aktualnym globalnym statusem odsyłamy do Monitora rozwoju CDBC na świecie, a stan na czerwiec 2020 przedstawiony jest poniżej.

Równoległym torem toczy się rozwój technologi krypto-walut, które poza samym płaciłem oferują coraz to więcej możliwości, jak inteligentne kontrakty (Smart Contracts), usługi rozproszonych finansów (Distributed Finance - DiFi), czy też usługi przesyłania danych oraz śledzenia i raportowania towarów online. Jednego możemy być pewni: technologie BlockChain rewolucjonizują świat.
Aby zrozumieć naturę pieniądza cyfrowego, czy tego opartego o kryptografię należy jednak zapoznać się z podstawowymi technologiami za nimi stojącymi, jak również z narzędziami służącymi do ich opisu, jak i użytkowania. Poniższy wpis jest z pierwszym z wielu mający na celu przybliżyć podstawy stojące za cyfrowymi walutami, a pierwsza część poświęcona jest podstawom matematyki, liczb i ich roli w krypto-cyfrowym-byznesie.
KRÓLOWA MATEMATYKA
Historia matematyki jest prawdopodobnie równie stara jak ludzkość. Jest to taka dziedzina wiedzy, która właściwie przenika do wszystkich pozostałych dziedzin. Matematyka nazywana jest już od starożytności Królową Nauk. Dlaczego tak? Matematyka nie bez powodu ma status królowej. Już starożytni Pitagorejczycy, głosili że "Wszystko jest Liczbą”, a Galileusz miał powiedzieć, iż "Wszechświat jest księgą, zapisaną w języku matematyki." Cały świat jaki widzimy to zbiór uporządkowanych reguł i praw, które wzajemnie na siebie wpływają. Bardzo wyrazistym przykładem mogą tutaj być "Ślimaki Fibonacciego" w Naturze.
Jak każde dziecko, tak i matematyka ma swoja matkę. Jest nią filozofia, będąca pierwszą nauką i dlatego też nazywana przez wielu Matką Nauk. Jej początki pojawiły się już w antycznej Grecji, gdzie rozważano naturę przyrody i przyczyny istnienia. To tam zapoczątkowano rozwój logiki, który z czasem pojawił się w podstawowych zdolnościach matematycznych, tym samym dając początek racjonalizmowi i budowaniu wiedzy teoretycznej. Z tych owoców korzystamy po dziś dzień. To im zawdzięczamy podstawowe pojęcia geometryczne, czy też podstawy algebry, gdyż logiczne myślenie (które nie wszystkim przychodzi łatwo) jest podstawą algebry. Wartym zauważenia jest fakt, iż większość podstawowych dyscyplin naukowych (zarówno tych przyrodniczych jak i humanistycznych) opiera się na filarze logiki. Właściwie to nauka ta jest głównym instrumentem wnioskowania używanym zarówno przez matematyków, informatyków, jak i filozofów. Matematyka jest z kolei odpowiedzialna za prawidłowość rozumowania.
Bez matematyki nie potrafilibyśmy liczyć, a tym samym nie zaplanowalibyśmy budżetu (np. domowego), nie możliwe byłoby zmierzenie odległości pomiędzy domem a sklepem, a bez tego nie określilibyśmy czasu potrzebnego do przebycia tej drogi. Nie bylibyśmy też w stanie oszacować ile towarów zmieści się do koszyka, jak również nie bylibyśmy w stanie zapłacić za te zakupy. Zakupionych towarów nie można by włożyć do lodówki, czy też schować ich do szafy, gdyż zwyczajnie nie wiedzielibyśmy, jak cokolwiek skonstruować. Tak naprawdę, to nie bylibyśmy w stanie wyjść z domu, gdyż żadne budynki by nie istniały. Bez matematyki nie byłoby fizyki, chemii, a nawet biologii, astronomii czy geografii, nie wspominając o ekonomi, giełdach czy finansach. Praw matematyki używają całe zastępy matematyków i księgowych, a najbardziej kochają je chyba finansjera i bankierka bo nie ma w końcu dla nich nic bardziej ważnego jak % procent. W skrócie bez matematyki mielibyśmy brak przemysłu, nie było by żadnego handlu, a nawet budowa chatki do zamieszkania byłaby niemożliwa. Tym samym nie było by poznawania świata i udzielenia wszelkich odpowiedzi, w tym filozoficznych, a w zasadzie to epoka kamienia trwałaby cały czas.
Prawdopodobnie nie dałoby się funkcjonować jako istoty inteligentne. Dlatego też rozumienie matematyki jest podstawą całego rozwoju naukowego ludzkości. To dzięki niej nastąpił rozwój ekonomiczny społeczeństw. Umiejętność rozumienia matematyki jest więc podstawą całego rozwoju naukowego ludzkości. Można powiedzieć, że matematyka jest swego rodzaju uniwersalnym językiem. Nie brakuje też naukowców, którzy twierdzą, że wszystko wokół nas jest symulacją matematyczną, w której podstawowym wyznacznikiem jest jedna z nauk matematycznych zwana probabilistyką. Jednak nawet potężny umysł XX wieku, Albert Einstein powątpiewał, że "Bóg gra z nami w kości", ale wiedział za to dobrze, że dzięki matematyce można lepiej zrozumieć świat.
Logika matematyki jest o tyle zadziwiająca, że przez większość historii nikt nie potrafił zrozumieć jej fenomenu. XX wiek i ogromne sukcesy fizyki kwantowej doprowadziły do postawienia w 1960 r. przez Eugena Wignera (laureata fizycznego nobla) pytania:
"Dlaczego matematyka tak doskonale opisuje świat i pozwala na kartce papieru, z równań, macierzy itp. matematycznych tworów – prawdziwie wyliczyć i przewidzieć, co odkryje badacz w laboratorium?"
Pytanie to spędzało sen z powiek wielu naukowców, aż w 2015 roku odpowiedzi podjął się niejaki Max Tegmark, kiedy to przedstawił teorię przemawiającą za hipotezą rzeczywistości, będącej w istocie strukturą matematyczną, a my żyjącymi w jej wnętrzu matematycznymi obiektami.
„Wszystko jest Matematyką, tylko i aż Matematyką. Nasz Wszechświat jest pewną strukturą matematyczną, a my sami obiektami matematycznymi wewnątrz tej struktury”.
Mówiąc krótko, matematyki nie wymyślono, ludzkość ją jedynie odkrywa i zrozumiale opisuje, paradoksalnie jej do tego używając. Już nawet mości Zagłoba miał powiedzieć w "Panu Wołodyjowskim":
"Bo cztery w arytmetyce są działania. Owóż, lubo pan Kmicic fortunę ma zacną, przecie mucha to w porównaniu do waszej książęcej, więc na dzielenie pan Kmicic nie przystanie; mnożeniem sam się zajmuje; odjąć sobie niczego nie pozwoli; mógłby chyba coś dodać, a nie wiem, czyżbyś wasza książęca mość był na to łakomy."
Podsumowując, filozofia uczy formułowania/zadawania trafnych pytań, a matematyka udzielania trafnych odpowiedzi.
MAPA MATEMATYKI
W XXI w matematyka stała się dziedziną bardzo rozległą. Gdyby matematyka była zwykłą nauką w rodzaju astronomii czy mineralogii, można by ją było zdefiniować jej przedmiot. Nie jest to jednak takie proste. Otóż nie istnieje żadna matematyka, istnieją tylko matematyki.
Matematyka to nie tylko nauka o cyfrach, figurach i kątach. Nie są to już tylko liczby i kształty, lecz także przestrzenie, zbiory, funkcje, odwzorowania, diagramy, procesy ... We wszystkich swoich działach matematyka przejawia się jako charakterystyczna metoda podejścia do stawiania i rozwiązywania zagadnień, czyli po prostu pewien określony sposób myślenia. Wraz z przybliżaniem się do niej widać coraz wyraźniej kolejne piętra, czyli takie dziedziny, jak na przykład teoria funkcji, różniczkowanie i całkowanie, rachunek prawdopodobieństwa, teoria gier, algebra, topologia, itd. Liczba różnych działów matematyki wciąż rośnie. Sugerujemy kliknąć w poniższa grafikę aby powiększyć i zobaczyć przykładowy wszechświat matematyki.

Nowoczesna matematyka może być zasadniczo podzielona na matematykę teoretyczną i matematykę stosowaną, które to bardzo się z sobą łączą. Uważa się, iż fundamentem matematyki są teoria zbiorów, logika, oraz opracowana przez polskiego matematyka teoria kategorii. Matematyka teoretyczna zaczęła się liczenia, potem powstały zbiorów i teorie liczbowe, dziedziny zajmujące się liczbami, i nie jest to takie proste jak tylko brzmi. Algebra to nauka o równaniach, wektorach i macierzach. Pure Mathematics to też matematyka dyskretna (będąca bardzo popularną w informatyce) zajmująca się strukturami skończonymi. Z kolei geometria to dziedzina matematyki, która zajmuje się badaniem kształtów i tym jak zachowują się one w przestrzeni. Geometria jest bliska trygonometrii, czyli nauce o bokach i kątach, rozszerzonej o sinusy i kosinusy. Topologia jest nauką badającą właściwości geometryczne obiektów w przestrzeni. Rachunek różniczkowy i całkowy (będący jednym z największych osiągnięć matematyki) to nauka o opisie zmian. Systemy dynamiczne opisują z kolei zamianę stanu materii lub zachowanie elementów w ekosystemach. Teoria chaosu bada szczegółowo początki zachodzących procesów. Analiza numeryczna definiowana jest jako dziedzina rozwiązywania problemów za pomocą maszyn. Teoria gier to dziedzina pomagająca w podejmowaniu najlepszych decyzji, prawdopodobieństwo to badanie przypadkowości zachodzących zjawisk, statystyka jest nauką badającą losowość danych, a optymalizacja to sztuka wybierania najlepszego rozwiązania wśród istniejących wariantów. Teoria kryptografii to w wielkim skrócie nauka o szyfrowaniu, czyli bezpiecznych sposobach przechowywania i przekazywania informacji. Nie są to oczywiście wszystkie dziedziny, a zaledwie bardzo duże przybliżenie. Poniżej ciekawe wideo przedstawiające podział trochę dokładniej.
Powyższe wideo to tylko uproszczona mapa 2D tego czym zajmuje się matematyka. Pełna mapa 3D byłaby zapewne niezwykle skomplikowana, jako że jedną z kwestii jest przenikanie się wykorzystanie technik z jednego obszaru w innych. Dla potrzeb klasyfikacji tej bardzo złożonej dziedziny stworzona została i jest używana Matematyczna Klasyfikacja Przedmiotów Matematycznych (MSC), będąca alfanumerycznym schematem klasyfikacji matematyki.
Jak zapewne zauważyłeś drogi Watsonie matematyka do najłatwiejszych nie należy. Co ciekawe niewiedza czym są matematyka nie przeszkadza człowiekowi sprawnie się nią posługiwać. Podobnie jak z TV, samochodem i tysiącami rzeczy, które nas otaczają. Jednak prawie każdy umie liczyć, bo jak tu żyć Panie Kapitanie bez liczenia? Wszak nawet zegarki mają 24 godziny na dobę, a sama nauka biologia mówi nam, że w budowie ciała mamy "Dwoje oczu, dwoje uszu, dwie dziurki w nosie, dziesięć palcy u rąk i dziesięć u nóg.” Liczbami posługuje się też ulica, bo "Jeden to ty, bo nie ma dwóch takich". Pracują na nich także wszelakiej maści wróżbici i numerolodzy, tropiciele spisków czy też badacze tajemniczej liczny PI.
Liczby mają swoją magię, jak i wagę, gdyż wszystko co nas otacza jest opisywane za pomocą matematyki. Pomimo, iż historia matematyki jest stara jak świat, a jej zakres bardzo obszerny, to jej rozwój można w jakimś stopniu śledzić na przykładzie ewolucji teorii liczb.
KRAINA LICZB
Są one więc nieodłącznym elementem matematyki. To dzięki nim możemy tworzyć działania, rozwiązywać zadania, podstawiać je do wzorów. To właśnie one są trzonem matematyki. To one wraz z symbolami występują we wszelakich równianach opisujących naszą czasoprzestrzeń. Te z kolei mogą być mniej albo bardziej użyteczne, ale są niezbędne do opisu rzeczywistości. Podobnie zresztą jak i liczby.
Zapewne zastanawiałeś się jaka jest najważniejsza liczba? Mówią znawcy że nie ma jednej, ale można się pokusić o tezę, iż są liczby, które są bardziej użyteczne od innych. I tak oto jest zbiór pięciu liczb podstawowych: 0, 1, i, π, e uważanych za bardzo użyteczne. Dlaczego one? Otóż można by argumentować, że większość czego nauczysz się w ramach matematyki, opiera się właśnie na tych pięciu liczbach, które (wszystkie na raz) można znaleźć w niezwykłym równaniu Eulera.
eiπ + 1 = 0
Jest ono równaniem opisującym okrąg jednostkowy, a zarazem wiążącym funkcje trygonometryczne z zespoloną funkcją wykładniczą. Wykorzystuje ono trzy działania arytmetyczne, jak również pokazuje głęboki związek pomiędzy pięcioma fundamentalnymi stałymi matematycznymi:
- Numer 0 to tożsamość dodatek;
- Numer 1 to multyplikacyjna tożsamość;
- Liczba π ( π = 3,141 ...) to stała opisująca stosunek stosunek obwodu koła do jego średnicy;
- Liczba e ( e = 2,718 ...) nazywana liczbą Eulera jest podstawą logarytmu naturalnego;
- Numer i będący jednostką urojoną z liczb zespolonych, spełniającą równanie i 2 = -1.
Znawcy mówią, że równanie Eulera jest nazywane najpiękniejszym wzorem matematyki, gdyż sięga do samej głębi istnienia, a matematyka to tylko narzędzie do jego opisu.
Jak zostało napomniane, na straży matematyki stoją liczby. Są one wielkie i małe, różne są ich rodzaje. Właściwie jest to jedna wielka kraina liczb, mająca w sobie kilka podzbiorów, a my żyjemy w wielkim świecie liczb zespolonych, o czym zaraz się przekonasz.
Liczba to pojęcie abstrakcyjne, jedno z najczęściej używanych w matematyce. Pierwotnie liczby służyły do porównywania wielkości zbiorów przedmiotów, ale z czasem także wielkości ciągłych (miary i wagi), a obecnie w matematyce są rozważane jako twory abstrakcyjne, w oderwaniu od ewentualnych fizycznych zastosowań.
Nauka o liczbach jak wszystko inne ulegała ewolucji. Rozwój ten kształtował się wraz z rozwojem całej cywilizacji i kultury, aż dotarł do czasów dzisiejszych gdzie krainę liczb można przedstawić za pomocą diagramu Venna.

Pierwszy rodzaj jaki poznała ludzkość to był podzbiór Liczb Naturalnych, czyli takie których zaczęto używać do określania ilości rzeczy czy też obiektów, tudzież ustalania kolejności. Albo coś istnieje, albo tego nie ma (czyli jest Zero), dlatego w zbiorze liczb naturalnych nie ma żadnych liczb ujemnych, tylko dodatnie bez zera. Z chwilą gdy zaczęto rozróżnienie między "jeden" i "wiele" pojawiły się dalsze 2,3,4,5...69...666... Z czasem odkryto, iż proces tworzenia coraz to większych liczb naturalnych jest nieskończony, co zostało zawarte już w dziełach Euklidesa i Archimedesa. Odkryto więc nieskończoność ∞ i jej wielką otchłań :)
Czy zero jest liczbą naturalną? To zależy od definicji, ale w systemie anglosaskim istnieje kolejny podzbiór liczb nazywanych Whole Numbers (brak odpowiednika w języku polskim) i zawiera on w sobie liczby naturalne i Zero. Uważa się, że 0 po raz pierwszy użyto w Indiach.
Problemy z odejmowaniem liczb naturalnych (większej od mniejszej) bez żadnych istniejących ograniczeń, spowodowały narodziny Liczb Całkowitych (Integers). Jest to zbiór liczb naturalnych oraz zbiór liczb przeciwnych do nich (Liczb Ujemnych), a także podzbiór złożony ze zbioru jednoelementowego, z liczby Zero. C = { -∞...−11,−5, −2,−1, 0 ,1,2,5, 11...∞}. Liczby ujemne odkryto prawdopodobnie w starożytnych Chinach, ale około VI wieku pojawiły się także w Indiach, i co ciekawe używano ich dla potrzeb rachunkowych, mianowicie długi zapisywano jako wartości ujemne :) Geometryczną interpretację liczb ujemnych jako wektorów na osi liczbowej, skierowanych przeciwnie do kierunku osi podał niejaki Descartes.
Problem podziału całości (dzielenia liczb naturalnych) przyczynił się do odkrycia ułamków zwykłych (fractions). I tak narodziły się Liczby Wymierne. Są to takie liczby, które można przedstawić za pomocą ilorazu liczb całkowitych n i m, czyli ułamka zwykłego n/m, gdzie m ≠ 0 np. 1/2, -1/3, 3/4. Zbiór liczb wymiernych posiada własność tzw. "gęstości", tzn dla dwóch różnych liczb wymiernych a i b, istnieje pomiędzy nim trzecia liczba c (a < c < b). Każda liczba całkowita jest jednocześnie liczbą wymierną, gdyż można ją przedstawić za pomocą ułamka zwykłego (3 = 3/1). W XV wieku opracowany został przez perskiego matematyka Al-Kaszi zapis ułamka dziesiętnego (decimals) np. 0.1, 1.456. Liczby wymierne charakteryzują się tym, iż ich ułamki zwykłe oraz ułamki dziesiętne mają skończone lub nieskończone okresowe (powtarzające się) rozwinięcie dziesiętne. Przykładowe liczby wymierne to np. zbiór W = {−3/1, −1/2, 0, 1 1/2, 3, 4 3/4 }.
Dalszym rozszerzeniem pojęcia liczb było ścisłe opracowanie teorii Liczb Niewymiernych, czyli takich których których nie można zapisać w postaci ułamka zwykłego, czyli w postaci ilorazu dwóch liczb całkowitych. Rozwinięcie dziesiętne takiej liczby jest nieskończone i nieokresowe. Dodatkowo są to liczby niealgebraiczne, czyli takie które nie są pierwiastkami pewnego niezerowego wielomianu o współczynnikach wymiernych. Do liczb niewymiernych zaliczamy również takie liczby jak π, e, oraz nieobliczalne pierwiastki takie jak √2, √5, czy √99. Jako pierwsi natknęli się na nie pitagorejczycy, rozważając długości przekątnych kwadratu, ale nie potrafili ich właściwie opisać :)
Liczby wymierne oraz liczby niewymierne tworzą łącznie zbiór Liczb Rzeczywistych. Są to wszystkie liczby, które da się przedstawić za pomocą osi liczbowej, która jest tak wypełniona, że nie pozostają żadne "dziury". Są to de facto wszystkie liczby jednowymiarowe. Pomiędzy zbiorem liczb rzeczywistych a zbiorem punktów linii prostej istnieje jednoznaczność mówiąca, że każdej liczbie rzeczywistej odpowiada dokładnie jeden punkt prostej i na odwrót. Liczby rzeczywiste oznaczają więc ciągłość. Znak ma za zadanie wskazać kierunek na osi, a wartość określa zaś długość. Opisał je w XI wieku arabski matematyk Omar Chajjam, kiedy to sformułował ogólną teorię liczb.
R = { -∞...-666, −11.999(9), −5 1/2, -√5, -1/2, 0, 1, 6/5, √2, e, π, 69.5 ...∞ }
Jednym z ograniczeń liczb rzeczywistych jest nie możność wyciągania pierwiastków z liczb ujemnych, jako że kwadrat każdej liczby rzeczywistej jest dodatni. Znacznym i dalszym rozszerzeniem pojęcia liczb było wprowadzenie Liczb Zespolonych. Posiadają one część rzeczywistą a, jak również część urojoną b (Liczba Urojona), która to podniesiona do kwadratu daje wartość ujemną.
z = a + i*b, gdzie i = √ -1
Z powyższego wynika, iż szczególnym przypadkiem liczb zespolonych są liczby rzeczywiste, gdzie część urojona równa jest zero. W zbiorze liczb zespolonych można już wyciągać pierwiastki z liczb ujemnych. I tak pierwiastek (parzystego stopnia) z liczby ujemnej jest liczbą urojoną i zapisujemy go za pomocą jednostki urojonej (imaginarius) i = √ -1. Kwadrat czystej liczby urojonej jest ujemny!
Liczba rzeczywista opisuje w istocie odległość opatrzoną kierunkiem wskazanym przez jej znak na osi ukierunkowanej. Oznacza to, iż dla liczb rzeczywistych istnieją tylko dwa kierunki: w lewo lub w prawo wzdłuż ustalonej prostej i punktu startowego. Liczby zespolone dostały koleją oś (prostopadłą), co powoduje że są ona już punktem na płaszczyźnie wraz z wyróżnionym odcinkiem skierowanym o długości jednej jednostki. Liczby zespolone mają więc odległości w dowolnym kierunku, ale już na ustalonej płaszczyźnie. W praktycznym znaczeniu, liczby zespolone to takie liczby które posiadają dwa współrzędne, które można zapisać także za pomocą amplitudy (wielkość) i fazy (stopień obrotu). Oznacza to, że są to już liczby dwuwymiarowe.
Czy są liczby wielowymiarowe? Tak, wprowadzono też kwaterniony i oktawy, jako wielowymiarowe rozszerzenia liczb zespolonych, ale nie będziemy się nimi zajmować.
Są za to dwie bardzo ciekawe kategorie liczb, bez których cyfrowe pieniądze miały by problem z istnieniem. Są to Pierwsze i Losowe. Niewiele ludzi zdaje sobie sprawę że z obydwoma kategoriami mamy do czynienia wszędzie, a szczególnie jeśli dotyczy to ochrony danych, kart bankowych, systemów bezpieczeństwa komputerów czy ochrony prywatności rozmów mailowych czy telefonicznych. Ale po kolei, czym są i dlaczego są tak ważne.
PRIME NUMBERS
Bardzo ciekawą grupą liczb naturalnych są Liczby Pierwsze (Primes). Są to takie liczby naturalne większe od jedynki, które można podzielić bez reszty przez jedynie dwie liczby naturalne: przez jeden oraz przez nią samą. Przykładowo liczby pierwsze mniejsze od 100 to
P = {2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97 }
Liczby pierwsze są jak atomy wśród liczb: można z nich złożyć przez mnożenie każdą inną liczbę naturalną oprócz 1. Jak dowiódł Euklides ich liczba jest nieskończona, a największą w 2018 była ta zarejestrowana pod nazwą M77232917.
Pod koniec XIX wieku wykazano, że prawdopodobieństwo iż liczba n jest liczbą pierwszą jest odwrotnie proporcjonalne do logarytmu z n. Można też na szybko aproksymować ilość liczb pierwszych π (n) w przedziale do n.
π (n) / n ≅ 1 /Ln (n)
Problem liczb pierwszych polega na tym, że ich rozmieszczenie na osi liczbowej jest zupełnie przypadkowe i nie ma żadnej reguły, która pozwalała by wskazać jak daleko oddalone są od siebie kolejne liczby pierwsze.
Istnieją algorytmy wyszukiwania zbiorów liczb pierwszych np. Sito Eratostenesa, ale nikt nie opracował dotąd żadnego wzoru pozwalającego na wyszukiwanie/generowanie kolejnych liczb pierwszych. Znajduje się je po prostu metodą mozolnego sprawdzania, czy liczba się dzieli przez jakąś liczbę mniejszą od niej. Aby sprawdzić czy liczba naturalna n jest liczbą pierwszą, należy dzielić ją kolejno przez wszystkie liczby większe od 1 i mniejsze równe od floor (n/2). Jeżeli choć jedno dzielenie daje resztę równą zero, to sprawdzana liczba naturalna nie należy do klubu Primes.
Mają one swoje unikalne właściwości i dlatego są używane w kryptografii. Iloczyn liczb naturalnych n = p * q jest zawsze liczbą naturalną, większą od czynników p i q. Przykładowo mamy liczbę 143. Po kilku iteracjach obliczeń uda się stwierdzić, że są to liczby pierwsze 11 i 13 są jej iloczynem, ale czy tak samo łatwo pójdzie nam z liczbą 4 056 187? Po wielkich bólach z użyciem kalkulatora obliczymy że jest to iloczyn liczb 2011 i 2017. Są to odpowiednio dopiero 305 i 306 liczby pierwsze, a każda jest tylko czterocyfrowa. A co z liczba 99 890 710 929 007? Powodzenia w szukaniu z kalkulatorem w reku życzy Bmen Team. Czym dalej w las tym ciemniej, a przecież liczb pierwszych mniejszych od 2 milionów jest blisko 150 tysięcy.
Tak więc duże liczby pierwsze to swego rodzaju cegiełki służące do budowania kolejnych (bardzo dużo większych) liczb naturalnych. O ile łatwo jest mnożyć liczby pierwsze to już faktoryzacja (rozkład na czynniki pierwsze) ich iloczynu nie jest taka szybka, gdyż wymaga sprawdzenia olbrzymiej ilości kombinacji iloczynów, a rozłożenie dużej liczby n na czynniki może zabierać dużo czasu, zwykle liczony w latach, w zależności od długości klucza i mocy obliczeniowej. Jak napisaliśmy główny powodem tego jest taki, iż nie można znaleźć wzoru na kolejne liczby pierwsze.
Poniżej ciekawe wideo o liczbach pierwszych, jak również o hipotezie Riemann-a. Hipoteza Riemanna to jeden z siedmiu nierozwiązanych "problemów milenijnych", a rozwiązanie każdego z nich wiąże się z nagrodą miliona dolarów. Według hipotezy dystrybucja liczb pierwszych nie jest przypadkowa, ale zgodna z wzorem opisanym w specjalnej funkcji "funkcji dzeta Riemanna". Tak więc aby potwierdzić hipotezę, trzeba było odnaleźć sposób na przewidzenie występowania każdej liczby pierwszej. Miałoby to bez wątpienia kolosalne konsekwencja dla obecnej kryptografii. Niedawnymi czasy zjawił się śmiałek, który twierdzi że ją udowodnił, ale należy poczekać z oceną aż zostanie to zweryfikowane.
Ponieważ liczby pierwsze są zbyt trudne do znalezienia w krótkim czasie, pozwala na efektywne szyfrowanie. Pomysł ten został zaimplementowany w algorytmie szyfrowania asymetrycznego RSA. Jest on oparty na funkcjach matematycznych o specjalnych własnościach nazwanych funkcjami jednokierunkowymi, połączonych z funkcją algorytmu dyskretnego, charakteryzującego się się trudnością znalezienia tego logarytmu. Działanie algorytmu RSA oparte jest na trudności rozkładu dużych liczb na czynniki pierwsze. W wielkim skrócie algorytm RSA generuje dwa klucze: publiczny i prywatny. Ten pierwszy używany jest dostępny publicznie, ponieważ przedstawia jedynie metodę szyfrowania, ale już nie deszyfracji. Dlatego też nie zagraża on więc bezpieczeństwu danych już zaszyfrowanych. Drugi klucz, służący do deszyfrowania zakodowanych informacji, nie jest udostępniany publicznie. Działanie algorytmu jest oparte na trudności rozkładu dużych liczb na czynniki pierwsze. Jeżeli klucze są wystarczająco długie (w rzeczywistości od 512 do 4096 bitów długości) to szybkie odszyfrowanie danych nie jest możliwe bez klucza prywatnego użytego do zaszyfrowania. Tak więc RSA pozwala dobrze zaszyfrować informację i nie ma praktycznie żadnych szans na złamanie (w krótkim czasie) tego szyfru bez odpowiedniego klucza.
Jak wyjaśniliśmy liczby pierwsze pełnią bardzo ważną rolę we współczesnej kryptografii. Jest jednak druga kategoria liczb bez których liczby pierwsze były by mało przydatne. Grypa ta nazywa się liczby losowe (random number), i bez nich kryptografia raczej by nie istniała.
RANDOM NUMBERS
Wiele rzeczy w przyrodzie jest tak skomplikowanych, że wydają się być przypadkowe. Aby je symulować naukowcy potrzebują w jakiś sposób je modelować, tak aby można było odwzorować te procesy, i przez to tworzyć realistyczne prognozy/modele otaczającego go świata. Jako że modele to liczby, tak więc w tym celu potrzebne są liczby przypadkowe/losowe.
Liczby losowe są też linią życia wielu operacji w informatyce, a także w interesującej nasz kryptografii. Liczby te używane są prawie wszędzie, od generowania kluczy (prywatnych i publicznych), nonces, po systemy szyfrujące, a nawet sposobach w jaki krypto-systemy są atakowane. Właściwie to każdy system kryptograficzny w dużej mierze opiera się na losowości i na dostępie do wysokiej jakości liczb losowych. Jeśli liczby losowe używane w tych systemach kryptograficznych nie są rzeczywiście losowe (lub przynajmniej na tyle losowe, aby wytrzymać kontrolę kryptoanalityczną) to wówczas bezpieczeństwo jakie zapewnia algorytm może zostać całkowicie zagrożone. Dzieje się tak gdyż bez właściwej losowości wszystkie operacje kryptograficzne byłyby przewidywalne, a tym samym niepewne i możliwe do odgadnięcia i zhakowania. Dlatego potrzebujemy wygenerować te liczby w bardzo nieprzewidywalny sposób, aby napastnicy nie mogli ich odgadnąć. I oto cała istota liczb losowych. I dlaczego są takie ważne.
Na tym etapie ważne jest aby zrozumieć czym jest proces losowy. Procesy losowe to takie procesy, których wyniki nie dają się dokładnie przewidzieć, a można jedynie opisać ich rozkład. Liczba losowa to z kolei liczba wygenerowana przez takowy proces, którego wynik jest nieprzewidywalny, przez co nie może być wiarygodnie odtworzony. Prawdziwe liczby losowe pochodzą zazwyczaj z chaotycznych procesów fizycznych, takich jak hałas termiczny lub atmosferyczny, a realnym przykładem procesu losowego jaki może wykonać Kowalski jest rzut monetą, czy też kością w kasynie.
Prawdziwie losowe dane mają mierzalną cechę zwaną entropią. Z fizyki wiemy, iż entropia to pomiar niepewności lub zaburzeń w systemie. Dobra entropia pochodzi z otaczającego środowiska, które jest nieprzewidywalne i chaotyczne. Termin ten został stworzony w 1865 r. do opisania miary zaburzeń systemu termodynamicznego, a potem w 1948 zaadaptowany przez Shannon jako miara nieprzewidywalności danych informacyjnych. O entropii można też myśleć jako o ilości niespodzianek występujących w wyniku procesu losowego: im wyższa entropia tym mniej pewności występuje w wyniku. W kryptografii entropia jest miarą liczby potencjalnych możliwości wyboru, z których nasza tajemnicza wartość wejściowa (np. seed) mogła zostać wylosowana/zaczerpnięta, i jest sposobem na zmierzenie trudności w zgadywaniu, np. siły haseł. Liczba losowa od 1 do 1,000,000 ma nieco mniej niż 20 bitów entropii. Dobre długoterminowe hasło powinno posiadać przynajmniej 128 bitów entropii. Entropia uporządkowanych procesów jest równa zero.
Entropia dość często jest mylona z przypadkowością. Różnica pomiędzy obydwoma terminami dla wielu jest trudna do zrozumienia. Można to łatwo wytłumaczyć jako, że przypadkowość jest jakością/pomiarem niepewności z perspektywy historycznej, a entropia to niepewność wyniku, który nie został jeszcze osiągnięty. Przeszłość vs przyszłość w procesie losowym.
Określenie czy ciąg bitów o nieskończonej długości jest przypadkowy (czy też nie) jest dość proste. Sekwencja ta jest losowa, jeśli ilość informacji w niej zawarta (w rozumieniu teorii informacji Shannona) jest również nieskończona. W przypadku skończonego ciągu liczb formalnie niemożliwe jest sprawdzenie czy jest on przypadkowy, czy też nie. Można jedynie sprawdzić czy ma on pożądane właściwości statystyczne dla losowego ciągu liczb, ale jest to trudne zadanie. Nie jest wiec możliwe, aby program komputerowy, którego długość jest skończona stworzył takową sekwencję, o czym później.
Z punktu widzenia kryptografii losowość jest cechą obiektywną. To co wygląda na losowe dla jednego obserwatora, nie musi być już losowe dla innego. Używane w kryptografii ciągi bitów mogą wydawać się całkowicie losowe dla kogoś kto nie dysponuje kluczem pozwalającym odszyfrować zawartą w nich wiadomość. Stąd wynika trudność w określeniu czy dany proces jest losowy. Obserwator może zawsze podejrzewać, że istnieje jakiś "klucz" pozwalający odszyfrować wiadomość.
W rzeczywistości istnieją dwie kategorie liczb losowych: te "prawdziwe" liczby losowe i liczby pseudolosowe. Różnica ta jest istotna dla bezpieczeństwa systemów szyfrowania i kryptografii. Pseudolosowe liczby są alternatywą dla "prawdziwych", ale są generowane w sposób deterministyczny przez komputery. Nazywane są pseudolosowymi, ponieważ dla kogoś kto nie ma dostępu do wszelkich danych o ich powstaniu są nieprzewidywalne. Są one generowane przez generatory liczb losowych, które dla wielu mają formę "czarnych skrzynek", komputerowych czarnych skrzynek, ważne do dodania.
GENERATORY PRZYPADKU
Prawie wszystko co komputer chce utrzymać w tajemnicy, będzie wymagało w pewnym momencie wygenerowania przez niego tajnej liczby losowej. Komputer jest maszyną deterministyczną, znaczy się taką o przewidywalnym i skończonym kodzie. Gdy algorytmy komputerowe otrzymują to samą daną wejściową, powinny zawsze generować taką samą daną wyjściową. Z tego powodu są one przewidywalne i dlatego też komputery nie mogą generować prawdziwych liczby losowych (true random numbers).
"Any one who considers arithmetical methods of producing random digits is, of course, in a state of sin. For, as has been pointed out several times, there is no such thing as a random number — there are only methods to produce random numbers, and a strict arithmetic procedure of course is not such a method.” - John von Neumann
Komputery nie są więc najlepszym źródłem liczb losowych. Są one jednak używane, więc wszystko co jest robione w procesie generacji, to stworzenie jakiejś funkcji matematycznej, dzięki której dla każdej kolejnej wartości otrzymujemy kolejną, pozornie losową wartość funkcji. Odbywa się do np. poprzez zwiększanie liczników i zastosowanie odpowiednich funkcji haszujących.
Komputerowe generatory liczb losowych są funkcjami deterministycznymi i mogą wypluwać liczby pseudolosowe tylko z taką samą entropią jak ich ziarna/dane wejściowe (seed). Ogólnie rzecz biorąc im więcej entropii wprowadzone jest do generatora, tym pewniejszy jest jego wynik, a jeżeli dane wprowadzane do niego zawierają niewiele (lub nie zawierają żadnej) entropii atakujący mogą mieć możliwość odgadnięcia danych wejściowych, a zatem mogą być w stanie określić dane wyjściowe.
Generator liczb losowych składa się z dwóch części: porządnego źródła entropii i właściwego algorytmu kryptograficznego. Istnieją algorytmy do generowania pseudolosowych wartości z wnętrza idealnego, deterministycznego środowiska obliczeniowego. Nie istnieje jednak żaden algorytm do generowania nieprzewidywalnych liczb losowych bez jakiegoś dodatkowego nie-deterministycznego wkładu.
Używa się do tego generatorów liczb losowych (Pseudo Random Number Generatora - PRNG). Jeśli ktoś znalazł by się w środku dobrej sekwencji PRNG to odgadnięcie kolejnej liczby jest prawie niemożliwe. Jeżeli jednak osobnik ten posiada się lub potrafi odgadnąć ziarno tego procesu, które uruchomiło PRNG, to możliwe jest poznanie wszystkich przeszłych i przyszłych wartości niemal natychmiast, gdyż jest to czysto deterministyczna funkcja matematyczna.
Generatory PRNG są urządzeniami sprzętowymi lub programami komputerowymi, które pobierają nie-deterministyczne dane wejściowe w postaci fizycznych pomiarów temperatury lub szumów fazowych lub sygnałów zegarowych itp. i generują nieprzewidywalne liczby jako swoje wyjście. Sprzętowy RNG może wykorzystywać trudne do przewidzenia wartości, takie jak prędkość wiatru lub ciśnienie atmosferyczne, lub wykorzystywać samoistnie przypadkowe (kwantowe) procesy, takie jak transmisja/odbicie fotonu przez półprzezroczyste lustro. W komputerach możemy wykorzystać dołączony sprzęt do zbierania entropii jak ruch wskaźnika myszy, klawisze wpisywane na klawiaturze oraz dyskowe i/lub sieciowe I/O. Takie systemy są dobrym źródłem entropii, jednakże są one powolne w pozyskiwaniu danych (np. generator jittera procesora). Są one również zależne od zewnętrznych wyzwalaczy w celu wygenerowania liczb losowych i często nie są niezawodne, gdy wymagana jest duża ilość liczb losowych.
Jak widzimy generowanie dużych i przypadkowych liczb pierwszych używanych w kryptografii nie jest takie proste i pewne jak się ludziom wydaje. Można jedynie określić entropię i wynikającej z niej prawdopodobieństwo bycia zhakowanym.
W kolejnej części zajmiemy się systemami zapisu liczb w przyrodzie, jako że jest to zagadnienie bardzo ważne w teorii jak i aplikacji kryptografii.
The END
Bmen
LITERATURA
- https://publicystyczny.pl/nam-matematyka-filozofia/
- https://www.fuw.edu.pl/~kostecki/histmat.pdf
- https://x-engineer.org/undergraduate-engineering/mathematics/arithmetics/types-of-numbers/
- https://www.mathsisfun.com/numbers/index.html
- http://akademiapipol.pl/aktualnosci/2019/06/26/co-siedzi-w-matematyce/
- http://www.math.edu.pl/zbiory-liczbowe
- https://primes.utm.edu/primes/home.php
- https://www.keylength.com/
- https://www.scienceabc.com/innovation/how-are-prime-numbers-used-in-cryptography.html
- https://www.dobreprogramy.pl/Za-kilka-lat-czeka-nas-kryptokalipsa-Matematycy-i-hakerzy-wierza-w-mozliwosc-zlamania-algorytmu-RSA,News,45588.html
- https://www.liczbypierwsze.com/
- http://home.agh.edu.pl/~zobmat/2017/wyr_swierkotmarek/zastosowanie.html
- https://www.youtube.com/watch?v=PQ8AruHaoLo
- https://www.random.org/randomness/