Chatka cryptoDZIADKA | Co to jest kryptografia?

409
Jeśli czcionka jest dla ciebie zbyt mała – przytrzymaj klawisz Ctrl i dopasuj powiększenie klawiszami „+” i „-”.

Dla technologii DLT kryptografia jest tym, czym Wilk dla bajki o Czerwonym Kapturku. Bez jednego nie ma drugiego.

Zauważ, że to właśnie Wilk nadaje charakter wszystkim postaciom bajki. Dzięki jego sprytowi dowiadujemy się jaką naiwniarą była Kapturek, jaką kretynką Babcia, a i Myśliwy miał szansę okazać się bohaterski i szlachetny – tylko dzięki zamieszaniu, jakiego narobił Wilk. Jestem pewien, że Fryderyk Nietzsche spośród wszystkich postaci bajki tylko Wilka nazwałby Rycerzem (kierującym rzeczywistością) a pozostałych – Knechtami, gdyż wszystko co robili było jedynie efektem decyzji i działań Wilka.

Podobnie jest z kryptografią w środowisku rozproszonym. To ona jest tu Rycerzem. To właśnie kryptografia ‘stwarza rzeczywistość’: pozwala nadawać tożsamość wszystkim węzłom sieci i chronić dane, jakimi się wymieniają.

Dlaczego akurat kryptografia?

W sieci rozproszonej dostępu do informacji nie chronią już centralne serwery archiwizujące. Peer-to-peer (zwana też ‘P2P) to sieć węzłów ‘równych rangą’, czyli wesoła banda bez przywódcy. W takiej strukturze nad bezpieczeństwem danych czuwać musi zestaw jakichś super-sprytnych ‘myków’ (coś jak tajna religia węzłów). Nauką o takich tajnych ‘mykach’ jest kryptologia, a jej gałąź, KRYPTOGRAFIA (gr. kryptos = ‘ukryty’ + grafo = ‘pisać’) zajmuje się utajnianiem zapisu danych.

Szczególną troską objęła kryptografia bezpieczeństwo przekazywania informacji pomiędzy węzłami. Generalny schemat komunikacji ‘nadawca/odbiorca’:

komunkomunikacja kryptografiaikacja

zostaje tu wzbogacony o elementy szyfrowania i deszyfrowania, mające zapobiec przechwyceniu informacji przez potencjalnego napastnika:

szyfrowanie deszyfrowanie kryptografia

Algorytm to zestaw jasno zdefiniowanych czynności, koniecznych do wykonania określonego zadania.
Szyfry to algorytmy używane do:
Szyfrowania = zamiany zapisu zrozumiałego (jawnego) na niezrozumiały (szyfrogram) lub Deszyfrowania = zamiany szyfrogramu na zapis jawny.

Algorytmy szyfrowania i deszyfrowania – aby spełnić swoje zadanie mogą (choć nie muszą) wymagać dodatkowych danych. Dane takie nazywamy kluczem. Zwykle jest to generowana losowo liczba.

Ze względów funkcjonalnych kryptografię stosującą klucze można podzielić na symetryczną i asymetryczną.

Istotą kryptografii SYMETRYCZNEJ jest fakt, że zarówno do szyfrowania jak i do deszyfrowania informacji – używa się tutaj tego samego klucza. Trafna jest tu analogia szkatuły: tym samym kluczem zamykasz szkatułę i tym samym ją otwierasz. Patrząc na schemat takiej kryptografii (poniżej) można dojść do wniosku, że obie strony rysunku są swoim lustrzanym odbiciem.

kryptografia symetryczna

Największą wadą kryptografii symetrycznej jest prymitywny zamek szkatuły. Aby odczytać zamknięty w szkatule list, odbiorca musi ją wcześniej otworzyć. Trzeba mu więc dostarczyć klucz (kopię klucza), którym zamknięto szkatułę.

Wysyłanie posłańca ze szkatułą i kluczem nie jest zbyt rozsądne nawet wtedy, gdy ufasz posłańcowi. Słanie szkatuły i klucza przez dwóch różnych posłańców ma identyczną wadę: jest nią wysyłanie niezabezpieczonego klucza.

Aby ten klucz zabezpieczyć, trzeba by go schować w drugiej szkatule. Wtedy jednak powstałoby nowe zmartwienie – problem z kluczem od szkatuły numer dwa. Trzeba by go zamknąć w szkatule numer trzy, a klucz od niej – w szkatule numer cztery, i tak dalej. Bez względu na ilość zamkniętych szkatuł, w ręce zawsze pozostaje jeden niezabezpieczony klucz, który – jakimś sposobem – trzeba dostarczyć odbiorcy.

Tymczasem (!!!):

W kryptografii ASYMETRYCZNEJ innym kluczem zamyka się wieko szkatuły, a innym się je otwiera. Każdy użytkownik (jako ODBIORCA) posiada więc dwa różne klucze: publiczny i prywatny. Oba te klucze są generowane po stronie odbiorcy, więc wraz z zamkniętą szkatułą nie musimy mu wysyłać klucza. To odbiorca (!) przekazuje nam klucz potrzebny do zamknięcia szkatuły – upubliczniając go.

Klucz publiczny (szyfrujący) jest kluczem jawnym, widocznym dla wszystkich użytkowników sieci, również tych nieuczciwych. Posiada rangę analogiczną do numeru konta bankowego: jest adresem odbiorcy, pod który wysyła się do niego komunikaty (lub kapitał). Ten swoisty ‘kluczo-adres publiczny’ używany jest do szyfrowania komunikatów – ale TYLKO do szyfrowania. Kluczem tym – o dziwo! – nie da się odszyfrować komunikatu, który został za jego pomocą zaszyfrowany.

Odszyfrowanie możliwe jest wyłącznie przy użyciu klucza prywatnego (deszyfrującego), który ZAWSZE POZOSTAJE POUFNY i znany tylko odbiorcy (o ile, rzecz jasna, odbiorca traktuje poufność poważnie i należycie o nią dba).

Poniżej schemat kryptografii asymetrycznej:

kryptografia asymetryczna
I teraz UWAGA:

Taka dwu-kluczowa asymetria pozwala na dużo więcej (!) Każdy węzeł sieci bywa i odbiorcą i nadawcą, każdy więc posiada swoją parę bratnich kluczy, połączonych ‘magiczną więzią’. Dzięki tej więzi oprócz szyfrowania i deszyfrowania (czyli kierunku: klucz publiczny > klucz prywatny) – możliwa jest też droga w stronę przeciwną:

Pozwala ona na podpisywanie cyfrowe dowolnych dokumentów przez dany węzeł (jego kluczem prywatnym) z możliwością zweryfikowania poprawności takiego podpisu przez wszystkie pozostałe węzły sieci (dzięki dostępności klucza publicznego podpisującego się węzła).

kryptografia asymetryczna podpisy

Przykład:

Podpisując cyfrowo dowolny dokument, np. umowę sprzedaży latającego osobowego dywanodrona, sprzedający używa swojego klucza prywatnego. Dokument taki przesyłany jest teraz do kupującego, który – dzięki magicznej więzi każdej z bratnich par kluczy – używa klucza publicznego sprzedającego do sprawdzenia jego cyfrowego podpisu. Dzięki temu jest w stanie bezbłędnie zweryfikować tożsamość sprzedającego; wie, że kupuje dywanodrona od właściwej osoby.

Jeśli z kolei kupujący podpisze cyfrowo dokument umowy (swoim kluczem prywatnym) i odeśle ten dokument do sprzedającego, to i sprzedający łatwo sprawdzi tożsamość kupującego (używając jego klucza publicznego).

Jeśli integralną częścią opisanej umowy był ‘smart-kontrakt’ egzekwujacy ją automatycznie, to w chwili spełnienia warunków smart-kontraktu:

– własność dywanodrona przechodzi na kupującego (łącznie z automatycznie dokonanym i poświadczonym wpisem w cyfrowym urzędzie dywano-komunikacji), a jednocześnie
– środki finansowe z jego portfela w ułamku sekundy trafiają do portfela sprzedającego.

Dlaczego tak marzę o tym automatycznym wpisie w urzędzie komunikacji…

Bywałem ci ja (nie raz) w (nie jednym) Urzędzie Komunikacji. Czekałem ci ja (nie raz) pod drzwiami. Zawsze było tak samo:

Siedzisz w poczekalni. Obok ciebie dwadzieścia cztery twarze, z których każda zaczyna przypominać zapieczony gaźnik. Od komunikatu ‘proszę czekać; będziemy wzywać’ – mija 65 minuta. Gabinet kierowniczki co chwilę wypluwa uśmiechniętego felusia, który z uniżonym ‘ja tylko zapytać’ wchodzi bez kolejki (podnosząc ciśnienie w poczerwieniałych gaźnikach). Przy czternastym ’ja tylko zapytać’ wszyscy jak jeden – z bielejącymi kostkami na pięściach – rzucacie się na felusia – żeby też ‘tylko zapytać’ czy zanim zginie chciałby np. kogoś pozdrowić. Okładając go ‘mięsem’ wpadacie za nim do środka i wtedy (nagle) okazuje się, że… Wewnątrz, za dłuuugą ladą, jest 7 (słownie: SIEDEM) stanowisk, przy których siedzi 7. (słownie: SIEDMIU) kmiotów, którzy po SIEDMIOKROĆ nic nie robią (od 65 minut): dwóch je ser, dwóch się do nich śmieje, dwóch miesza herbatę, a jeden dzwoni do mamy.

Po uciszeniu awantury przez portiera imieniem Szymon okazuje się, że trzeba przyjść nazajutrz, bo w dniu dzisiejszym urząd – nie wiedzieć dlaczego – przyjmuje tylko do 10.30.

Cóż… Uważam, że standardowe dziennikarskie pytanie: ‘Czy chciałby pan, by czterysta tysięcy urzędników straciło pracę?’ – jest skrajnie nieuczciwe. Po pierwsze – nikt mnie nie pytał, czy chciałem, aby w ogóle zostali zatrudnieni. Po drugie – żeby zwolnić kogoś z ‘pra-cy’, ten ktoś musiałby najpierw ‘pra-co-wać’. Tymczasem tutaj można co najwyżej zwolnić kogoś z ’pła-cy’. (Dzienna wydajność pracy biurowej w sektorze prywatnym to średnio 3 godziny; w sektorze państwowym – połowę z tego.)

Więc odpowiadam: Tak! Chciałbym zwolnić 16 mln Polaków – płatników podatku dochodowego – z obowiązku utrzymywania ludzi zatrudnionych niepotrzebnie. Dzięki kryptografii i ‘smart-kontraktom’ 37 mln Polaków nie musiałoby stać w kolejkach do żadnego urzędu.

**

Opisałem wcześniej dużą wadę kryptografii symetrycznej. Polegała na konieczności przesłania niezabezpieczonego klucza. Zauważ, że – odkąd istnieje kryptografia asymetryczna – ta wada przestała istnieć. ZNIKŁA (!). Teraz możemy już do woli przesyłać sobie ‘klucze symetryczne’ w sposób zabezpieczony (asymetryczny).

Możemy więc korzystać z obu rodzajów kryptografii, co jest o tyle ważne, że oba nadają się lepiej do różnych rzeczy: symetryczna, jako szybsza – do szyfrowania dużych ilości danych, a asymetryczna – do podpisywania, uwierzytelniania i zapewniania niezaprzeczalności.

**

Na koniec – składanie i weryfikowanie PODPISÓW CYFROWYCH.

Przypomnijmy sobie czym są skróty i jaka jest ich rola. ‘Funkcje skrótów’ to algorytmy, które potrafią zamieniać dowolnie długie łańcuchy znaków (dane wejściowe) – w łańcuch o stałej ilości znaków (dane wyjściowe), zwany ‘skrótem’. Przy tym obowiązuje tzw. efekt lawiny, czyli najmniejsza nawet zmiana danych wejściowych powoduje powstanie zupełnie innego skrótu na wyjściu.

Pierwszoplanowym zadaniem skrótów jest kontrolowanie poprawności danych, czyli wychwytywanie uszkodzeń lub celowych ingerencji w dane. Przeanalizujmy to na przykładzie podpisów cyfrowych w naszej transakcji zakupu latającego dywanodrona.

Pod rysunkiem znajdziesz kolejność działań – w punktach (żeby się nie pogubić).

skróty i podpisy

1. Nadawca tworzy dokument (w naszym przypadku: sprzedający tworzy umowę sprzedaży).

2. Nadawca tworzy skrót dokumentu.

3. Nadawca szyfruje skrót dokumentu swoim kluczem prywatnym – powstaje więc szyfrogram-skrótu-dokumentu (na rysunku – szkatuła czerwona)

4. Dokument + szyfrogram-skrótu-dokumentu – są teraz szyfrowane za pomocą klucza publicznego odbiorcy. (na rysunku – zielona szkatuła, zawierająca w sobie i dokument i szkatułę czerwoną)

5. Odbiorca otwiera zieloną szkatułę za pomocą swojego klucza prywatnego. Wydobywa dokument oraz szyfrogram-skrótu-dokumentu (szkatułę czerwoną).

6. Odbiorca otwiera czerwoną szkatułę za pomocą klucza publicznego nadawcy. Wydobywa skrót dokumentu (stworzony przez nadawcę).

7. Odbiorca dokonuje własnego skrótu dokumentu.

8. Odbiorca porównuje własny skrót dokumentu – ze skrótem, który stworzył nadawca. Jeśli skróty są takie same, oznacza to, że nadawca (sprzedający) podpisał dokładnie tę samą umowę, którą ma w rękach odbiorca (kupujący).

CDN

Od Redakcji

Kryptografia to nie wszystko;). Czy zapisaliście się już do newslettera Bithub i odebraliście swój Kurs Analizy Technicznej Bitcoina i Kryptowalut Alternatywnych? Możecie to zrobić z poziomu strony głównej naszego serwisu lub poniższego artykułu:

Zachęcamy również do głosowania w nominacjach do nagród Nexus 2019. Oddaj swój głos już teraz i weź udział w losowaniu kryptowalutowych gadżetów!

  1. 1 Analiza techniczna 13.02. - BTC, LTC, VSYS, ZIL, ENJ, XLM, EOS, DASH, BAT, VET, ICON i inne Analiza techniczna 13.02. - BTC, LTC, VSYS, ZIL, ENJ, XLM, EOS, DASH, BAT, VET, ICON i inne 01:50:17
  2. 2 Analiza techniczna 06.02. - BTC, OMG, XTZ, BTT, XEM, ZEN, AION, LISK, IOTA, LTC, ETH, DASH, i ATOM Analiza techniczna 06.02. - BTC, OMG, XTZ, BTT, XEM, ZEN, AION, LISK, IOTA, LTC, ETH, DASH, i ATOM 01:34:26
  3. 3 Analiza techniczna 31.01.2020 - BTC, TRON, BNB, LTC, ETH, Złoto Analiza techniczna 31.01.2020 - BTC, TRON, BNB, LTC, ETH, Złoto 01:11:27
  4. 4 Analiza techniczna 23.01.2020 - BTC, Chiliz, BNB, LTC, 0x, ETC, Złoto Analiza techniczna 23.01.2020 - BTC, Chiliz, BNB, LTC, 0x, ETC, Złoto 01:17:46
  5. 5 Analiza techniczna kryptowalut 15.01.2020 - BTC, BSV, ETC, DASH, Zcash, ChainLink, BCH Analiza techniczna kryptowalut 15.01.2020 - BTC, BSV, ETC, DASH, Zcash, ChainLink, BCH 01:02:04
  6. 6 Analiza techniczna 10.01.2020 - BTC, XRP, Verge, Cosmos, Ethereum, Litecoin, BNB Analiza techniczna 10.01.2020 - BTC, XRP, Verge, Cosmos, Ethereum, Litecoin, BNB 01:10:39
  7. 7 Analiza techniczna 02.01.2020 - BTC, BNB, Cosmos, Icon, Theta Analiza techniczna 02.01.2020 - BTC, BNB, Cosmos, Icon, Theta 01:05:40
  8. 8 Świąteczna Analiza techniczna 24.12.2019 - BTC, ETH, FET, Cosmos, Harmony, Neblio, Świąteczna Analiza techniczna 24.12.2019 - BTC, ETH, FET, Cosmos, Harmony, Neblio, 01:09:52
  9. 9 Analiza techniczna 17.12.2019 - BTC, BNB, IOTA, Chiliz, Enigma, RLC, XTZ, Analiza techniczna 17.12.2019 - BTC, BNB, IOTA, Chiliz, Enigma, RLC, XTZ, 01:00:42
  10. 10 Analiza techniczna 13.12.2019 - BTC, BNB, ETH, LTC, Lisk, Chiliz, XRP Analiza techniczna 13.12.2019 - BTC, BNB, ETH, LTC, Lisk, Chiliz, XRP 55:06
  11. 11 Analiza techniczna 04.12.2019 - BTC, BNB, Nexus, Chiliz, XRP Analiza techniczna 04.12.2019 - BTC, BNB, Nexus, Chiliz, XRP 53:37
  12. 12 Analiza techniczna 28.11.2019 - BTC, BNB, TRON, GAME CREDITS, NEO, BAT Analiza techniczna 28.11.2019 - BTC, BNB, TRON, GAME CREDITS, NEO, BAT 01:02:31
  13. 13 Analiza techniczna 22.11.2019 - BTC, BNB, ETH, LTC, RVN, ETC Analiza techniczna 22.11.2019 - BTC, BNB, ETH, LTC, RVN, ETC 01:04:38
  14. 14 Analiza techniczna 12.11.2019 - BTC, ETH, XRP,  NEO, IOTA, BNB Analiza techniczna 12.11.2019 - BTC, ETH, XRP, NEO, IOTA, BNB 47:45
  15. 15 Analiza techniczna 07.11.2019 - BTC, ETH, LTC, TRON, IOTA, XRP Analiza techniczna 07.11.2019 - BTC, ETH, LTC, TRON, IOTA, XRP 53:54
  16. 16 Analiza techniczna 31.10.2019 - BTC, ETH, XRP, TRON, BNB, IOTA Analiza techniczna 31.10.2019 - BTC, ETH, XRP, TRON, BNB, IOTA 01:07:38
  17. 17 Analiza techniczna 24.10.2019 - BTC, ETH, XRP, TRON, BNB, IOTA Analiza techniczna 24.10.2019 - BTC, ETH, XRP, TRON, BNB, IOTA 58:17
  18. 18 Analiza techniczna 15.10.2019 - BTC, ETH, XRP, TRON, BNB Analiza techniczna 15.10.2019 - BTC, ETH, XRP, TRON, BNB 51:06
  19. 19 Analiza kryptowalut 7.10.2019 - BTC, ETH, LTC, XRP, TRON, NEXUS, BNB Analiza kryptowalut 7.10.2019 - BTC, ETH, LTC, XRP, TRON, NEXUS, BNB 43:50
  20. 20 Analiza kryptowalut 29.09.2019 - TRON, ETC, XRP, BNB Analiza kryptowalut 29.09.2019 - TRON, ETC, XRP, BNB 26:08
  21. 21 Analiza kryptowalut 29.09.2019 - Bitcoin, Tron Analiza kryptowalut 29.09.2019 - Bitcoin, Tron 19:00
  22. 22 Analiza kryptowalut 22.09.2019 - BTC, ETH, BNB, IOTA, LTC, XRP Analiza kryptowalut 22.09.2019 - BTC, ETH, BNB, IOTA, LTC, XRP 52:49
  23. 23 Analiza kryptowalut 16.09 - EOS, IOTA, DASH Analiza kryptowalut 16.09 - EOS, IOTA, DASH 31:44
  24. 24 Analiza kryptowalut 16.09 - Bitcoin, Litecoin, Ethereum Analiza kryptowalut 16.09 - Bitcoin, Litecoin, Ethereum 16:40
  25. 25 Analiza BNB/USD  12.09.2019 Analiza BNB/USD 12.09.2019 36:24
  26. 26 BTC - USD BTC - USD 04:17
  27. 27 BTC/USD BTC/USD 08:02
  28. 28 Dominacja BTC Dominacja BTC 30:05
  29. 29 XBT/USD XBT/USD 30:31
Komentarze