za

Historia kryptografii na przestrzeni wieków. Bez niej nie byłoby Bitcoina

Zondacrypto gielda kryptowalut 2650

Kryptografia to gałąź wiedzy o szyfrowaniu wiadomości, wchodząca w skład dziedziny nauki zwanej kryptologią. Od samego początku towarzyszy Blockchainowi oraz Bitcoinowi, będąc jednym z najważniejszych elementów zapewniających funkcjonowanie i tworzenie sieci. Podobnie jak najstarsza kryptowaluta tak i kryptografia od momentu powstania stale ewoluuje.

W tym artykule, spróbuję Ci nakreślić małą część historii kryptografii, gałęzi wiedzy będącej podstawą funkcjonowania zaawansowanej technologii jaką w tej chwili jest Bitcoin oraz kryptowaluty.

Starożytność – początki kryptografii

Człowiek od zarania dziejów próbował przekazywać wartościowe informacje w “utajniony” sposób. Początki kryptografii sięgają czasów starożytnych a zalążek prymitywnych technik kryptograficznych znajdujemy w pismach egipskich. Najstarszy znany przykład szyfrowania wiadomości znaleziono w grobowcu egipskiego szlachcica (a dokładniej Nomarch – wysoki egipski urzędnik) Khnumhotep II, który żył około 3900 lat temu.

Wraz z upływem lat kryptografia ewoluowała a dla ułatwienia szyfrowania zaczęto używać różnego rodzaju urządzenia i pomoce. Prawdopodobnie do najwcześniej używanych należały sykytale.

Kryptografia sykytale

“Urządzenie” wymyślono w starożytnej Grecji i było stosowane w szczególności przez Spartan. Na drewniany kawałek laski (najczęściej wystrugany w kształcie sześciokąta foremnego) nawijano pasek pergaminu, tekst pisano na stykających się brzegach. Będący adresatem posiadacz laski o identycznej grubości i kształcie mógł szybko odczytać tekst. Jest to przykład początków szyfrowania przestawieniowego (przykład najprostszego przestawienia – „pomóż mi” staje się „opómż im”). W średniowieczu wynaleziono inne pomoce, np. matrycę szyfrującą (ang. cipher grille) – używaną do kodowania będącego rodzajem steganografii.

W czasach starożytnych, najwyższy poziom kryptografii udało się osiągnąć Rzymianom.  Większość z Was słyszała o szyfrze Cezara, który polegał na przesuwaniu liter w zaszyfrowanej wiadomości o pewną liczbę miejsc w alfabecie łacińskim. Znając założenia systemu oraz liczbę miejsc o którą należy przesunąć każdą z liter w alfabecie, odbiorca mógł z powodzeniem odczytać wiadomość, która w innym przypadku okazywała się całkowicie nieczytelna. Oczywiście dziś algorytm taki jest banalny, jednakże w swoich czasach spełniał dobrze swą funkcję.

Średniowiecze i renesans – kolebka kryptoanalizy

Praktycznie od starożytności aż do średniowiecza, ludzkość używała prostego szyfrowania podstawieniowego. Przez ten czas próbowano łamać szyfry. Ta sztuka udała się arabskiemu filozofowi, Al-Kindiemu, który w IX wieku napisał trakt “O odczytywaniu zaszyfrowanych listów”. Analiza częstości po dziś dzień stanowi podstawową technikę kryptoanalityczną! Fragment pracy zostawiam poniżej:

Jeden sposób na odczytanie zaszyfrowanej wiadomości, gdy wiemy, w jakim języku
została napisana, polega na znalezieniu innego tekstu w tym języku, na tyle długiego, by zajął
mniej więcej jedną stronę, i obliczeniu, ile razy występuje w nim każda litera.
Literę, która występuje najczęściej, nazywamy »pierwszą«, następną pod względem częstości
występowania »drugą« i tak dalej, aż wyczerpiemy listę wszystkich liter w próbce jawnego tekstu.
Następnie bierzemy tekst zaszyfrowany i również klasyfikujemy użyte w nim symbole.
Znajdujemy najczęściej występujący symbol i zastępujemy go wszędzie »pierwszą« literą z próbki
jawnego tekstu.
Drugi najczęściej występujący symbol zastępujemy »drugą« literą, następny »trzecią« i tak dalej,
aż wreszcie zastąpimy wszystkie symbole w zaszyfrowanej wiadomości, którą chcemy odczytać”.

Dziś, data powstania pracy Al-Kindiego, uznawana jest za początek powstania kolejnej gałęzi kryptologii, jaką jest kryptoanaliza.

Odnosi się ona do nauki o łamaniu szyfrów, tzn. o odczytywaniu zaszyfrowanej wiadomości bez znajomości klucza. W każdym języku pewne znaki lub słowa pojawiają się z różną częstotliwością. Na tej podstawie można zidentyfikować te litery w kryptogramie, co pozwala odgadnąć niektóre ze znajdujących się w tajnym piśmie wyrazów, a dzięki temu rozszyfrowuje się kolejne litery, opierając się na prawdopodobieństwie, pozwalając znacznie zredukować liczbę możliwych podstawień i osiągnąć rozwiązanie metodą prób i błędów.

Szyfry polialfabetyczne

Opracowanie sposobu pozwalającego na łamanie szyfru podstawieniowego zmusiło wczesnych kryptografów do szukania innej metody. Przełom nastąpił w 1465 roku, w którym to Leon Alberti wynalazł szyfr polialfabetyczny.

Szyfry polialfabetyczne to połączenie wielu szyfrów monoalfabetycznych:

  • stosujących wiele tajnych alfabetów do szyfrowania kolejnych znaków w tekście;
  • alfabety są cyklicznie zmieniane, a więc po wyczerpaniu się wszystkich alfabetów szyfrujących, powraca się do pierwszego;
  • tarcza Albartiego składa się z dwóch tarcz, umożliwiając szybką zmianę alfabetu szyfrowego, czyli sposobu kodowania znaków oraz dekryptaż, umożliwiający odszyfrowanie wiadomości. Oczywiście tarcze wewnętrzne mogą być różne lub wymienne.

Wzrost tempa rozwoju kryptografii

Przełomom rozwoju kryptografii nastąpił wraz z wynalezieniem:

  • telegrafu
  • radia
  • internetu

Przyspieszenie transferu wiadomości spowodowało upublicznienie go, przez co stał się możliwy do przechwycenia. Kolejnym istotnym czynnikiem mającym wpływ na szybszy rozwój kryptografii był wybuch I i II wojny światowej. Wynalezienie Enigmy, niemieckiej wirnikowej maszyny szyfrującej, było przełomowym momentem.

Historia komputerów została zapoczątkowana przez potrzeby kryptoanalityków, którzy mieli coraz większe trudności ze sprawdzaniem różnych permutacji i dopasowywaniem wzorców:

  • Colossus to pierwszy model urządzenia elektronicznego zawierającego półtora tysiąca lamp został stworzony i oddany do użytku w 1943 na postawie modelu teoretycznego opracowanego przez Alana Turinga
  • Trzy lata później powstał pierwszy słynny komputer ENIAC.

Można więc powiedzieć, iż rozwój kryptografii i kryptoanalizy zapoczątkował rozwój komputerów oraz informatyki! Tym samym stworzył fundamenty dla dzisiejszych technologii takich jak blockchain.

Kryptografia XX wieku

W latach 60 IBM zaczął prace nad projektem krytograficznym zakończone utworzeniem algorytmu Lucifer. Następnie na zapotrzebowanie Narodowego Biura Standardów w 1973r. Został udoskonalony algorytm Lucifer i w 1977r. zatwierdzono standard szyfrowani danych DES, jednakże ze zmniejszonym rozmiarem klucza. Algorytmem, który miał zastąpić DES jest IDEA. Jest to blokowy szyfr konwencjonalny, stosujący 128-bitowy klucz do szyfrowania w blokach po 64 bity. Wchodzi między innymi w skład PGP (Pretty Good Privacy), którego autorem jest Phil Zimmermann. Umożliwia zapewnienie poufności i uwierzytelnianie. Czyli nadaje się do stosowania w poczcie elektronicznej i przy przechowywaniu plików.

Oblicze kryptografii zmieniło się, kiedy w 1976 roku Diffie i Hellman przedstawili nowy algorytm szyfrowania danych oparty na kluczach publicznych. Dawało to możliwość zaszyfrowania informacji przez dowolna osobę za pomocą klucza jawnego, natomiast odszyfrować mogła ją tylko osoba mająca swój klucz prywatny, związany z kluczem jawnym. Wyeliminowano potrzebę komunikacji się użytkowników celem wymiany klucza. Brzmi już całkiem podobnie jak technologia używana obecnie w kryptowalutach, prawda ?

Lata 90 przyniosły rozwój takich algorytmów jak:

  1. MD4 i MD5 stworzone przez Rona Rivesta w 1990 i 1992 roku
  2. SHA utworzony w 1993r. przez Narodowy Instytut Standardów i Technologii USA (oparty na MD5, budową przypomina MD4)

Z początkiem 1997 roku, nowe standardy szyfrowania danych AES (Advanced Encryption Standard), określiły wymogi:

  • dokumentacja szyfru musi być powszechnie dostępna
  • szyfr ma należeć do grupy blokowych szyfrów symetrycznych
  • projekt szyfru musi zakładać możliwość rozszerzenia długości klucza w razie takiej potrzeby
  • szyfr musi być łatwy do implementacji zarówno sprzętowej jak i programowej
  • nowy szyfr ma być bardziej efektywny oraz bardziej bezpieczny niż 3-DES, czyli: długość klucza to 128, 192 lub 256 bitów, a wielkość bloku: 128, 192 lub 256 bitów.

Kryptografia XXI wieku – początki kryptowalut

Obecne, zaawansowane techniki kryptograficzne są kluczowym aspektem bezpieczeństwa sieci blockchain. Klucze publiczne/prywatne, cyfrowe podpisy to niektóre techniki kryptograficzne niezbędne do tworzenia i funkcjonowania kryptowalut takich jak Bitcoin (BTC).

Algorytm Elliptic Curve Digital Signature Algorithm (ECDSA) zapewnia bezpieczeństwo kluczy publicznych oraz prywatnych Bitcoina. Służy do tworzenia podpisu cyfrowego danych (na przykład pliku) w celu umożliwienia weryfikacji jego autentyczności bez narażania bezpieczeństwa. Pomyśl o tym jak o prawdziwym podpisie, możesz rozpoznać czyjś podpis, ale nie możesz go sfałszować bez wiedzy innych. Różnica między podpisem ECDSA a prawdziwym podpisem polega jednak na tym, że sfałszowanie podpisu ECDSA jest po prostu niemożliwe.

W rzeczywistości dla Bitcoina potrzeba bilionów komputerów tryliony lat ciągłego zgadywania różnych kluczy prywatnych, aby dowiedzieć się, który z nich tworzy dany klucz publiczny.

Wraz z rozwojem komputerów, kryptografia będzie przekraczać kolejne granice. Obecna dygitalizacja zmusza nas do szukania nowych algorytmów i standardów bezpieczeństwa. Jeszcze przez wiele lat, będzie chronić wasze Bitcoiny.

Bibliografia i literatura

Blockchain.-Zaawansowane-zastosowania-lancucha-blokow.-Wydanie-II

Łamacze kodów Historia kryptologii – Kahn David

https://pl.wikipedia.org/wiki/Kryptologia#Historia_kryptografii_i_kryptoanalizy

http://home.agh.edu.pl/~horzyk/lectures/wdi/WDI-Kryptografia.pdf

Bitcoina i inne kryptowaluty kupisz w prosty i bezpieczny sposób na giełdzie zondacrypto.

Tagi

Newsletter Bitcoin.pl

Więcej niż bitcoin i kryptowaluty. Najważniejsze newsy i insiderskie informacje prosto na Twój email.

Dbamy o ochronę Twoich danych. Przeczytaj naszą Politykę Prywatności