KryptoLandia – O Matematyce i Liczbach

1 Star2 Stars3 Stars4 Stars5 Stars (18 votes, average: 5.00 out of 5)
Loading...
  •  
  •  
  •  
  •  
  •  
  •  
  •  
OCEŃ & PODAJ DALEJ, niech i inni mają szansę POCZYTAĆ

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.

Ewolucja Pieniądza w Ujęciu Monetarnym

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.

Source: https://gomedici.com/updated-cbdc-visual-tracker-central-bank-digital-currencies-globally

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.

Source: https://www.tygodnikpowszechny.pl/mapa-matematyki-157010

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

e + 1 = 

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 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.

Source: https://triangulations.wordpress.com/2011/07/07/types-of-numbers/

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ą. 

+ 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 (imaginariusi = √ -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


Ps. Jeżeli podobał wam się artykuł, zachęcamy do ocenienia, skomentowania, podzielenia się przemyśleniami i za-linkowania lub podzielenia się via media.


DISCLAIMER / UWAGA! Niniejszy opracowanie (jak każde inne na tym blogu) ma charakter amatorskiej analizy, która ma na celu jedynie ogólnie przybliżenie czytelnikowi omawianego tematu. Analiza ta jest efektem dociekań autora, i jest na tyle szczegółowa/precyzyjna, na ile autor uznał za stosowne. Jest ona tylko prywatną opinią autora, nie stanowi żadnych rekomendacji inwestycyjnych, i nie może służyć jako podstawa decyzji inwestycyjno-biznesowych. W celach głębszego zrozumienia tematu, bądź też zdobycia profesjonalnej informacji, autor zachęca do sięgnięcia po prace specjalistów z danej dziedziny. Sam autor, na własne potrzebny, zebrał podstawowe informacje w tematyce po to, aby móc wyrobić sobie poglądy na interesujące go zagadnienia, a przetrawione wnioski są owocem tej pracy. 

Niniejszym Team Bmen-ów zastrzega, że publikowane informacje i tezy są wolnymi przemyśleniami amatorów, na podstawie których nie mogą być konstruowane żadne roszczenia, przyrzeczenia, obietnice te rzeczowe czy też matrymonialne. W przypadku oblania się gorącą kawą lub zakrztuszenia rogalem podczas czytania tekstu Team nie bierze za to żadnej odpowiedzialności i renty płacić nie będzie!! 


LITERATURA

  1. https://publicystyczny.pl/nam-matematyka-filozofia/
  2. https://www.fuw.edu.pl/~kostecki/histmat.pdf
  3. https://x-engineer.org/undergraduate-engineering/mathematics/arithmetics/types-of-numbers/
  4. https://www.mathsisfun.com/numbers/index.html
  5. http://akademiapipol.pl/aktualnosci/2019/06/26/co-siedzi-w-matematyce/
  6. http://www.math.edu.pl/zbiory-liczbowe
  7. https://primes.utm.edu/primes/home.php
  8. https://www.keylength.com/
  9. https://www.scienceabc.com/innovation/how-are-prime-numbers-used-in-cryptography.html
  10. https://www.dobreprogramy.pl/Za-kilka-lat-czeka-nas-kryptokalipsa-Matematycy-i-hakerzy-wierza-w-mozliwosc-zlamania-algorytmu-RSA,News,45588.html
  11. https://www.liczbypierwsze.com/
  12. http://home.agh.edu.pl/~zobmat/2017/wyr_swierkotmarek/zastosowanie.html
  13. https://www.youtube.com/watch?v=PQ8AruHaoLo
  14. https://www.random.org/randomness/

Komentarze ( 6 )

  • Dzięki za wpis. Dla kogoś nieobeznanego w temacie jak ja wszystko przystępnie wytłumaczone.
  • Napisałem taki wstępniak dla osób nie-technicznych:


    Otóż, spróbujmy sobie odpowiedzieć na zasadnicze pytanie (które osobiście słyszałem już kilkukrotnie):

    Jak to jest że dla mojej transakcji w bitcoinie, którą wykonam i która trafia do blockchaina, to mam pewność, że nikt na świecie nie może jej już podrobić, zmienić, usunąć lub w jakikolwiek inny sposób zmanipulować. Przecież to tylko zapis na jakimś serwerze, a przecież na dysk komputera da się zapisać co się tylko chce. To nie możliwe aby nie dało się tego podrobić, np kwoty czy adresu (numeru konta) na który przelewam tokeny.

    Oczywiście odpowiedź na to pytanie jest trochę bardziej skomplikowana i zawiera w sobie jednocześnie kilka kwestii, jak charakterystykę blockchainu, jego stopień skomplikowania, użytych algorytmów kryptograficznych i zapewne jeszcze wiele, wiele innych kwestii, dotyczących specyficznych rozwiązań każdego z blockchainów. Ale my spróbujemy skupić się na tym najważniejszym, czyli na zwykłym algorytmie podpisu elektronicznego.



    ALGORYTM PODPISU KRYPTOGRAFICZNEGO

    Zapewne drogi czytelniku się teraz oburzysz ‘jak to! przecież ja nie znam matematyki i nie umiem nawet całki z X wyznaczyć, a mam niby zrozumieć podpis elektroniczny!?’. Spokojnie. Nie musisz go rozumieć pod względem matematycznym. Wystarczy, że zrozumiesz jego idee, oraz to że jak Ty coś podpiszesz swoim kluczem (tzw. prywatnym) to nikt nie będzie w stanie zmienić zawartości tej podpisanej wiadomości, a jej odbiorca na podstawie drugiego klucza (tzw. publicznego) ze 100% pewnością zweryfikuje, że to Ty podpisałeś. To wszystko. Idee być może już znasz, gdyż algorytmy podpis są stosowane od dekad. I pomimo, że używasz ich każdego dnia (być może nie zdajesz sobie sprawy) to jest w nich zawarta duża moc (siły kryptograficznej) tego mechanizmu.

    Uprzedzam, że teraz wprowadzę jeszcze jeden trudny termin, ale robię to umyślnie abym nie musiał wprowadzać kolejnych trudnych skrótów i tłumaczyć ich z osobna (jak DSA, RSA, ECDSA, etc). Te wymienione skróty są to różne standardy podpisów elektronicznych ale one wszystkie mają wspólną rzecz, która czyni je doskonałym narzędziem w tej kryptografi. Jest nim tzw. “logarytm dyskretny”. Nie ma znaczenia co to tak w zasadzie jest. Dla Ciebie wystarczy, byś wiedział, że jest to pewna trudność w obliczeniu czegoś. Tak, wiem, że to bardzo mgliste, ale tą trudność obliczeniową chciałbym Ci właśnie zobrazować i pomóc zrozumieć.

    Ok, jesteśmy po najłatwiejszym… Żartuje ;), teraz już naprawdę będzie z górki. Chciałbym abyś też wiedział, że w analogi, którą poniżej przedstawię zawarłem wiele uproszczeń. Nie mają one wielkiego znaczenia (lub jak to mawiają naukowcy “są bez straty dla ogólności rozpatrywanego zagadnienia”, którym jest pokazanie Ci “trudności pewnego ‘problemu'”), a Tobie pozwolą lepiej zrozumieć sens. Nie przejmujmy się matematycznymi terminami…

    Zaczynamy.

    Kiedy ostatnio spacerowałeś po lesie? A zgubiłeś się kiedyś? Jak duży był ten las? Lasek przy jeziorze? Może park? A może ogromny las amazoński? Bo ja chciałbym Ci pokazać las wielkości… naszej galaktyki! Nie chciałbyś się tam zgubić. Ale spokojnie ja mam mape. Pokazać Ci? Niee… nie moge Ci pokazać, bo wtedy to już nie będzie mój las, wtedy sam sobie po nim będziesz spacerował, a ja tak nie chcę. Natomiast każdemu kto mnie poprosi potrafię udowodnić, że to mój las, bo przede wszystkim mam do niego mapę. Nie wierzysz? Wkrótce się przekonasz.

    Zanim to zrobimy, przyjrzyjmy się temu… obiektowi. Ten gigantyczny las ma ścieżki po których się chodzi. Niestety te ścieżki są wyłącznie jednokierunkowe. Jakieś pole nie z tego świata blokuje i nie da się nigdy cofać. Są i skrzyżowania, ale zawsze tylko z 3 ścieżek. Jedną się przychodzi do skrzyżowania, następnie wybiera się jedną z dwóch pozostałych którą chce się iść dalej. Las jest na tyle dziwny, że nie ma w nim żadnych skrótów. Tzn. jeśli się chce przejść z punktu A do punktu B (i nie ważne jak blisko “geograficznie” są te punkty) to zawsze! prowadzi tylko i wyłącznie jedna droga. To bardzo ważne. Wspomianałem, że las nie jest zwyczajny? Bardziej przypomina wielowymiarowy labirynt, aniżeli lasek nad jeziorem. Aby było dziwniej to na tej drodze (o ile jest właściwa) zawsze jest co najwyżej 128 skrzyżowań, które trzeba przejść. Dziwne prawda? Robi się jeszcze dziwniej gdy powiem Ci, że wystarczy, że tylko raz się pomylisz na jednym ze skrzyżowań w czasie drogi i będziesz się błąkał w nieskończoność (nie ma skrótów, ani innej drogi). Jeśli tylko raz zboczymy (pomylimy się na tylko na jednym skrzyżowaniu) to już nigdy nie wrócimy na prawidłową ścieżkę bez względu na to jakie decyzje później podejmiemy. Jedynym wyjście byłoby cofnąć się do miejsca w którym popełniliśmy błąd i wybrać inną drogę. Ale no właśnie, my nigdy nie będziemy wiedzieć (w żadnym miejscu podczas naszego spaceru) czy idziemy prawidłowo czy nie, czy na danym skrzyżowaniu wybraliśmy dobrze czy źle, aż do chwili gdy nie dojedziemy do celu, bo… chyba nie muszę wspominać że las jest bardzo gęsty, więc nigdy nie wiesz gdzie jesteś ani tego czy dobrą drogą idziesz? No chyba, że ktoś da Ci tropy….

    Zanim pogadamy o tropach, chciałbym byś zrozumiał jak duży jest las. Wspominałem, że jest wielkości galaktyki? Myślę, że może być nawet większy, bo wiesz ile ma skrzyżowań? Tysiąc? Miliard? Trylion? Powiem Ci bo obliczyłem, o tyle:
    340282366920938463463374607431768211456 (2^128)
    Trochę dużo. Myślę, że taki las mógłby być, być może nawet wielkości całego widzialnego kosmosu. Skrzyżowań może jest ciut mniej tak naprawdę, ale to i tak nie ma znaczenia. A ja mam całą mapę – i udowodnie Ci to! Niemożliwe? No to potrzymaj mi piwo… Nie! mapy Ci nie pokaże. Ale mam na to sposób. Jak będzie trzeba pokażę Ci tropy.

    Chcesz spróbować? Ok, Ty wybierz punkt docelowy gdzie chcesz dojść (punkt B). A ja wybiorę punkt startowy (punkt A) oraz dam Ci tropy. Wskakuj do lasu, pójdziemy z punktu A do punktu B. Daj mi chwilę… To będzie tak: Na pierwszym skrzyżowaniu pójdziesz w lewo, na drugim w prawo, na trzecim też prawo…. Tu masz całą listę tropów: lewo, prawo, prawo… (lista nie jest długa, maks. 128 razy). Dasz radę. Będe tam na Ciebie czekał (punkt B). Ale uważaj, jak raz pomylisz drogę to się będziesz błąkał bez końca. Udało się! Jako ciekawostkę, powiem Ci, że gdybyś teraz chciał wrócić z powrotem do punktu A z którego zaczynałeś to na nowo trzeba by było wygenerować nową listę tropów. Dlaczego? Bo tę krótą masz nie możesz użyć wspak, gdyż jak wspominałem wcześniej ścieżki są jednokierunkowe.

    Udowodniłem Ci, że znam całą mapę, czyli, że ten las jest mój. A więc możemy zawrzeć transakcję: “Ja właściciel wielkiego lasu przekazuje Ci 100 talarów, które mam w banku.”. Że co? Że jak? Masz rację… przecież w banku nie uwierzą Ci na słowo. Im też, znowu będe musiał udowadniać że nie jestem wielbłądem… tzn. miałem na myśli to, że ten las jest mój bo mam mapę i tak dalej…, a mnie się z każdym nie chce biegać po tym wielkim lesie…

    Trzeba to jakoś rozwiązać, tak by ci goście z banku Ci uwierzyli, tzn. mogli to sami zweryfikować, że ja mam mape tego lasu i że przekazuje Ci pieniądze, a jednocześnie, abym nikomu nie musiał pokazywać mapy…. Niech sobie sami biegają po lesie bez nas.



    FUNKCJE HASZUJĄCE (MIESZAJĄCE) (Skrótowo)

    Ok, obiecałem Ci, że nie pojawi się tu więcej żadnych trudnych terminów… I tak jest, bo temat który teraz chciałbym poruszyć jest w istocie bardzo prosty. Zero matmy, tylko sens. Jedziemy…

    Każdą treść cyfrową da się zakodować w jedną liczbę o określonej wielkości. Czy to tekst czy to obrazek. Nam chodzi o tekst: “Ja właściciel lasu przekazuje….”. Ja chciałbym to zakodować w liczbę (mniej więcej taką dużą liczbę jak np ta wcześniej gdy pisałem o skrzyżowaniach), ale chciałbym aby to spełniało pewne warunki:
    – jak zrobię z tego liczbę, to by się tego nie dało odwrócić (tak na wszelki wypadek), tzn. jak ktoś nie zna tekstu, a zna tylko liczbe, to tekstu nie pozna
    – chciałbym, by bardzo podobny tekst (np. że nie “…100 talarów…”, a “…200 talarów…”) ‘wykodował’ mi zupełnie inną liczbę, nie taką co się różni o 2, czy 5, ale całkowicie inną.
    – chciałbym (najważniejsze) by nikt nie był w stanie wymyśleć innego tekstu (np. że “ja sprzedaje cały las”), który zdekoduje się w tę samą liczbę z mojego tekstu bazowego. Wygenerowana liczba z tekstu ma być możliwie unikalna.

    W skrócie – liczba która mi wyjdzie ma być iście unikalna, a sam algorytm przemiany (sposób w jaki to robie) tekstu w liczbe ma być wszystkim znany, jednakowy i stały, (tak by nikt nie powiedział mi, że coś oszukuje oraz aby każdy mógł sobie to zweryfikować, tzn. mógł sam wykonać taką operację przemiany mojego tekstu w liczbę). Oczywiście, każda treść, różniąca się choćby jednym znakiem musi dawać zupełnie inną liczbe. Ale za każdym razem gdy kodujemy ten sam tekst otrzymamy dokładnie tę samą liczbę. W tym kodowaniu nie ma żadnych sekretów jak z lasem (do którego tylko ja mam mapę). Tutaj wszystko jest jawne i każdy wie jak to działa, ale jest na tyle skomplikowane, że nie da się robić tego w drugą stronę, czyli, że dla zadanej, wymyślonej, ale ustalonej liczby nie da się znaleźć treści (tekstu czy obrazka cyfrowego), który to by się zakodował dokładnie w tę liczbę. Skomplikowane? Może trochę, ale to jest tak naprawę nam bardzo potrzebne. Chodzi o to by to kodowanie działało tylko w jedną stronę, czyli z tekstu w liczbę, ale nie odwrotnie.

    Uznajmy, że mamy taki algorytm, który przemienia tekst zgodnie w/w warunkami. Co nam to w ogóle daje? A no wracamy do naszego lasu…


    Ok, najpierw musimy uporządkować kilka rzeczy. Zacznijmy od tego całego algorytmu przemiany tekstu w liczbę i do czego nam to jest potrzebne. Otóż każdy punkt (skrzyżowanie) w tym lesie ma swój numerek. Kiedyś poświęciłem bardzo dużo czasu i ponumerowałem wszystkie miejsca w lesie. Zrobiłem to według pewnych zasad. Przede wszystkim nie ma dwóch takich samych numerków. Każdy punkt ma swój unikalny numerek. Samo numerowanie jest bardzo losowe. Tzn. że na przykład punkt o numerze 5 jest zupełnie w innej części lasu aniżeli punkt numer 6. To że te dwa numerki są arytmetycznie bardzo blisko siebie nie znaczy, że punkty, które reprezentują są blisko. W istocie mogą być bardzo daleko. Czy wszystkie numerki są na mojej mapie? Owszem, ale powiem Ci coś ciekawego. Jak spojrzysz z góry na las to wszystkie te numerki są widoczne. Popatrz, o widzisz? tam jest numerek 5, a tam bardzo daleko jest skrzyżowanie o numerze 6. Tu niedaleko nas jest punkt z numerem 101955645987194682003975356458743632122. I tak dalej… Przypomnij sobie jak Ci mówiłem ile jest tych skrzyżowań, stąd i tych numerków jest tak dużo a i one same są bardzo dużymi liczbami. Gdy patrzysz z góry na las możesz odnaleźć każdy numerek samodzielnie, ja Ci w tym nie muszę pomagać. Ale las jest bardzo gęsty, z góry nie widać ścieżek, ani ich kierunków. Nie wskakuj do lasu bez mojej pomocy (bez moich tropów) bo na pewno się zgubisz.

    Po co są te numerki. Otóż za pomocą przemiany tekstu w liczbę, a następnie odnalezieniu punktu w moim lesie dokładnie z tym numerkiem otrzymujemy funkcję. Ta funkcja to przypisanie każdej możliwej treści cyfrowej jednego, stałego punktu w moim lesie. Czyli, że jeśli ja wezmę dowolny dokument, dowolny tekst czy obrazek cyfrowy to mogę go przemienić w określoną liczbę, która to będzie oznaczała konkretne wybrane miejsce w moim lesie. Czy możliwe jest aby dwie różne treści miały ten sam numerek (punkt). Tak, ale to bardzo, bardzo mało prawdopodobne, dlatego że tych punktów (i numerków) jest tak dużo. Tak naprawdę jeszcze nikomu się nie udało znaleźć dwóch różnych treści, które by wskazywały na ten sam punkt. Bądź spokojny. Jak wspominałem wszystkie numerki są widoczne z góry, a w mechanizmie przemiany tekstu na liczbę nie ma żadnych sekretów. Dlatego może to zrobić każdy, każdy może przemienić tekst w liczbę, a następnie taki punkt sobie sam odnaleźć w moim lesie, ale tylko tyle, bo nadal nie będziesz umiał chodzić po lesie bez mojej pomocy.

    Udowodnię Ci jak dobrze znam ten las. Pamiętasz jak dałem Ci listę tropów gdy pierwszy raz spacerowałeś po lesie. Zachowaj ją. To są uniwersalne tropy. Ba! Możesz je wszystkim pokazać. To mój klucz publiczny. Ta lista jest na stałe, i jest niezmienialna. To są tropy które zawsze będą działały, pod warunkiem, że Ty będziesz wybierał punkt docelowy, a wtedy ja przygotuję Ci punkt z którego masz rozpocząć. Użyjesz tej listy i na pewno trafisz tam gdzie mi pokazałeś, że chcesz dojść.
    Trochę skomplikowane, ale już wyjaśniam…

    Otóż, byłem wczoraj w banku i opowiedziałem im wszystko o tym lesie. Całą te historię, którą teraz i Tobie opowiadam. Nie, mapy im nie dawałem. Dałem im moją listę uniwersalnych tropów, którą masz i Ty. Dzięki temu nie będę już musiał chodzić do banku za każdym razem gdy chcę Tobie przelać jakieś pieniądze. Jak to działa? Ja teraz piszę dokument, że przelewam Ci pieniądze. Zamieniamy go na liczbę, która oznacza jakiś punkt w lesie. Następnie, ja z użyciem mojej mapy znajduje drugi punkt-startowy. To jest punkt z którego rozpoczniesz spacer po lesie. Weź ze sobą moją uniwersalną listę tropów. Z jej użyciem na pewno dojdziesz do punktu docelowego, który reprezentuje dokument, który właśnie… podpisałem. Tak, to właśnie jest podpis elektroniczny. Sprawdź czy wszystko się zgadza. Ok, to teraz możesz zabrać ten dokument co napisałem, listę uniwersalnych tropów (w banku już ją też mają) oraz numer punktu startowego, który Ci pokazałem. Pokaż im to wszystko w banku a oni Ci uwierzą, że to ja się zgodziłem na przekazanie Tobie pieniędzy. Oni to wszystko sprawdzą. Na początku przemienią dokument w liczbę, by znaleźć punkt docelowy w lesie. Później pójdą do lasu. Rozpoczną spacer od punktu startowego, który ja wskazałem. Użyją mojej listy tropów. I jeśli uda im się dotrzeć do punktu docelowego będzie oznaczało, że to ja podpisałem ten dokument. No bo kto inny tak dobrze zna ten las? Nikt. Nikt prócz mnie nie byłby wstanie dla zadanego punktu docelowego i określonej z góry, stałej listy kolejnych tropów pokazać w lesie punkt z którego należy zacząć by podróż się udała. To jest niepodważalny dowód na to, że tylko osoba, która posiada mapę potrafi pokazać taki punkt startowy. Co więcej, zgodnie z tym jak się wszyscy umówiliśmy, że jeśli taki spacer się uda i dojdą du punktu, który to reprezentuje określony dokument to będzie to oznaczało, że ja się na ten dokument (i jego treść) zgodziłem.

    To wszystko. Kluczem publicznym jest moja lista tropów, uniwersalna i stała. Kluczem prywatnym jest mapa, której nikomu nie pokazuje. A podpisem elektronicznym jest punkt startowy, który ja wskazuje. Oczywiście należy też umieć przemienić dokument na liczbę, która będzie wskazywać na punkt docelowy spaceru, ale to już omówiliśmy. Jak widzisz nie muszę już chodzić z Tobą do banku, aby Ci uwierzyli. Sam możesz to załatwić. Wystarczy, że weźmiesz ze sobą dokument i jego podpis elektroniczny, który ja Ci wygeneruje, a oni sami sobie wszystko sprawdzą.

    Zapewne myślisz sobie teraz, że to jakaś bzdura. Że może wystarczy odpowiednio długo chodzić po lesie i dla każdego zadanego punktu docelowego da się znaleźć punkt startowy, który z użyciem mojej listy tropów poprowadzi do celu? Nie da się. Jest to niemożliwe i pokażę Ci dlaczego. Zróbmy eksperyment. Tym razem ja wybiorę punkt docelowy. O weźmy ten (punkt B). Ty wskaż mi punkt z którego powinienem rozpocząć podróż. Będę używał mojej uniwersalnej listy tropów i chciałbym dojść do punktu B. Ty nie masz mapy. W tym lesie nie da się iść do tyłu bo ścieżki są jednokierunkowe. Wszystko co Ci pozostaje to zgadywanie. Wybierasz sobie dowolny punkt startowy i sprawdzasz czy zgodnie z listą tropów dojdziesz do celu. Nie udało się za pierwszym razem. Próbujesz drugi raz i tak dalej. Wydaje Ci się, że w końcu zgadniesz. Ale aby to było możliwe musisz sprawdzić niemal wszystkie punkty. A przypomnij sobie co mówiłem o rozmiarach tego lasu. Ile czasu zajęło by Ci sprawdzenie wszystkich punktów startowych? Założmy, że nie będziesz robił tego sam. Zatrudnisz do tego… miliard biegaczy, którzy bez przerwy będą sprawdzali punkty. Każdy z nich będzie bardzo szybki, bo jeden punkt będzie sprawdzał w czasie …1 milisekundy. I w końcu sprawdzą wszystkie punkty (po drodze odnajdując ten właściwy), ale zajmie im to baaardzo dużo czas, a dokładniej: 10790283070806014189 lat. To jest ponad 10 trylionów lat. A jeśli każdy z tych biegaczy będzie jeszcze szybszy i będzie sprawdzał milion takich punktów na sekundę? To… nadal zajmie im to biliardy lat.

    Jeśli jesteś uważny to zapewne zauważyłeś już, że na początku tego tekstu pisałem o 100% pewności, a to nie do końca tak jest. Bo jednak istnieje bardzo malutka szansa (ale jednak), że ktoś jednak zgadnie ten punkt, czyli podrobi mój podpis. Tak, ale to wciąż wiele mniejsza szansa niż np to, że wygrasz w totolotka… pięć razy z rzędu.
    • fajnie wytłumaczone.
      nasz Lech pono 3 razy z rzędu wygrał w totka 🙂
      a private key is a 256-bit number.

      a jak ktoś chce zrozumieć ile to jest 256 bitów kombinacji to polecam poniższe wideo.


      ps. wszystkie te rzeczy zostaną opisane w dalszych częściach.
    • Thx. Klucz prywatny popularnego ECDSA256 ma 256 bitów, ale tak naprawdę siła kryptograficzna jest na połowie tego – 128. Musiałbym trochę zmienić analogię by to w miarę sensownie wytłumaczyć, ale nie chciałem już komplikować.
  • Super artykuł, tego stylu podawania wiedzy brakuje w szkole, a potem ludzie nie rozumieją po co się uczyć matematyki…
  • Witam
    Polecam matematykę Chaldejską do określania liczb pierwszych ( i nie tylko). Tak kiedyś liczono , zanim zostało to skopiowane i uproszczone. A nam się mówi że teraz to mamy rozwiniętą matematykę i inne nauki. Dla zainteresowanych wklejam po polsku
    https://www.youtube.com/watch?v=tf3kgGnopEQ
    A Pitogoras to był tylko żołnierzem.


  • Skomentuj