Jak algorytmy kryptograficzne i haszowanie bezpiecznych łańcuchów bloków

Obliczenia rozproszone, projektowanie mechanizmów i algorytmy kryptograficzne stanowią świętą trójcę technologii blockchain. Obliczenia rozproszone wykorzystują zdecentralizowaną sieć komputerów i istniały przed łańcuchami bloków w postaci sieci torrentowych.

Jednak strony torrentowe nie miały możliwości regulowania zachowań uczestników, czyli tam, gdzie projekt mechanizmu wchodzi do łańcucha bloków. Stanowi zachętę dla uczestników sieci do pracy dla jej dobra.

Kryptografia jest tym, co służy jako zabezpieczenie do ochrony tych zachęt. Przełomowa biała księga dotycząca Bitcoin wyjaśniła, w jaki sposób te trzy naukowe zasady mogą współgrać, tworząc bezpieczną wymianę wartości peer-to-peer, która wyeliminowałaby potrzebę korzystania z osoby trzeciej w transakcjach finansowych.

Chociaż każda z tych zasad zasługuje na własne wyjaśnienie, w tym artykule skupimy się na kryptografii i sposobie, w jaki algorytmy szyfrowania obsługują łańcuchy bloków.

Krótka historia kryptografii

Kryptografia w jakiejś formie istnieje od czasów starożytnego Egiptu. Przed erą informatyki oznaczało to używanie prostego algorytmu kryptograficznego zwanego szyfrem do przesyłania wiadomości. Jednym z najczęściej cytowanych jest plik Szyfr Cezara, używany przez Juliusza Cezara do komunikowania się ze swoimi generałami w Cesarstwie Rzymskim. Szyfr Cezara podstawiał każdą literę wiadomości literą, która występuje trzy miejsca po niej w alfabecie, więc A staje się D, B staje się E i tak dalej. Dopóki system używany do generowania tekstu zaszyfrowanego pozostaje tajny, wiadomość może również pozostać prywatna.

Juliusz Cezar

Cezar robił więcej niż tylko świetne sałatki, wiesz

Później, w XVI wieku, Vigenere wprowadził koncepcję klucza szyfrującego do algorytmów kryptograficznych, które mogą odszyfrować zakodowane wiadomości. Używając Szyfr Vigenere, tekst wiadomości został przepisany na jedno słowo kluczowe, które jest powtarzane, aż będzie odpowiadać długości znaków oryginalnej wiadomości. To słowo kluczowe generuje następnie zaszyfrowany tekst przy użyciu tabeli.

Krytyczny rozwój tutaj polega na tym, że bezpieczeństwo wiadomości przesyłanych przy użyciu szyfru Vigener zależało od tajności klucza, a nie od samego systemu.

Rozwój XX wieku

Problem z tego rodzaju kodami polega na tym, że można je łatwo złamać, analizując częstotliwość występowania liter. Niemcy używali Enigma Machine szeroko podczas II wojny światowej, ponieważ był w stanie wygenerować zaszyfrowane teksty, których nie można było złamać analizując częstotliwość liter.

Maszyna wykorzystywała system wielu wirników do generowania tekstu zaszyfrowanego. Zatem litera „e” w oryginalnej wiadomości odpowiadałaby zakresowi różnych liter w zaszyfrowanym tekście. Kluczem było wstępne ustawienie wirników.


Maszyna Enigmy

Uważano, że Maszyna Enigmy jest niezniszczalna

Chociaż Niemcy uważali, że kod jest niezniszczalny, Enigma tak pęknięty przez Polskę już w 1932 roku. Kryptolodzy pracujący dla brytyjskiej armii w Bletchley Park, w tym legendarny już sam Alan Turing, później znaleźli sposób, aby dowiedzieć się, jakie klucze używane codziennie przez Niemców.

Świt informatyki

Powojenne wymagania dotyczące szyfrowania w biznesie i przestrzeni handlowej wzrosły w celu ochrony tajemnic korporacyjnych. W latach siedemdziesiątych IBM opracował algorytm kryptograficzny Data Encryption Standard (DES). Jednak używał małego klucza szyfrowania. Wraz z nadejściem ery komputerów, DES brutalną siłą stało się łatwe i dlatego pojawiło się zapotrzebowanie na aktualizację. Advanced Encryption Standard przyjęty w 2000 roku.

Chociaż wiele osób może nie być tego świadomych, szyfrowanie jest obecnie częścią codziennego życia. E-maile i wiadomości tekstowe, hasła i warstwy SSL w witrynach internetowych wymagają szyfrowania. Tworzy również kręgosłup kryptowaluty. Tam są wiele różnych typów algorytmów kryptograficznych obejmujących różne przypadki użycia, wiele z nich jest już nieaktualnych. Jednak wykorzystanie kryptografii w łańcuchu bloków obejmuje podpisy cyfrowe i haszowanie.

Podpisy cyfrowe

Płatności w kryptowalutach wymagają podpisu cyfrowego w postaci klucza prywatnego. Gdy ktoś wprowadza swój klucz prywatny do transakcji płatniczej, powoduje to szyfrowanie transakcji. Gdy płatność dotrze do miejsca przeznaczenia, odbiorca może odszyfrować transakcję za pomocą klucza publicznego nadawcy.

Jest to znane jako kryptografia asymetryczna, ponieważ zależy od pary kluczy połączonych ze sobą za pomocą kryptografii. Jest bezpieczniejsza niż kryptografia symetryczna, w której zarówno nadawca, jak i odbiorca używają tego samego klucza. W takim przypadku wraz z płatnością należy przesłać również sam klucz, co oznacza, że ​​do zabezpieczenia klucza potrzebna byłaby dodatkowa warstwa zabezpieczeń.

Haszowanie

Blockchainy są również zależne od haszowania. Haszowanie to kryptograficzna metoda konwersji dowolnego rodzaju danych na ciąg znaków. Oprócz zapewniania bezpieczeństwa poprzez szyfrowanie, haszowanie tworzy bardziej wydajne przechowywanie danych, ponieważ hash ma stały rozmiar.

Charakterystyka algorytmów kryptografii haszującej

Algorytm kryptograficzny musi spełniać określone kryteria, aby był skuteczny:

  • To samo wejście musi zawsze generować to samo wyjście. Bez względu na to, ile razy dane zostały poddane algorytmowi mieszania, musi on konsekwentnie generować ten sam skrót z identycznymi znakami w ciągu
  • Nakładu nie można wywnioskować ani obliczyć na podstawie wyniku. Nie powinno być możliwości odwrócenia procesu mieszania, aby zobaczyć oryginalny zestaw danych
  • Każda zmiana danych wejściowych musi dawać zupełnie inny wynik. Nawet zmiana wielkości liter w zestawie danych powinna spowodować powstanie skrótu, który będzie znacząco różny
  • Skrót powinien mieć stałą liczbę znaków, niezależnie od rozmiaru lub typu danych używanych jako dane wejściowe
  • Tworzenie skrótu powinno być szybkim procesem, który nie wymaga dużego wykorzystania mocy obliczeniowej.

Jak wygląda algorytm haszujący

Jak algorytm wyznaczania wartości skrótu generuje skrót. Źródło zdjęcia: Wikimedia Commons

Jak działa haszowanie?

Blockchains haszują każdą transakcję przed połączeniem ich w bloki. Wskaźniki skrótu łączą każdy blok z jego poprzednikiem, przechowując skrót danych z poprzedniego bloku. Ponieważ każdy blok jest powiązany ze swoim poprzednikiem, dane w łańcuchu bloków są niezmienne. Funkcja haszująca oznacza, że ​​zmiana dowolnej transakcji spowoduje powstanie zupełnie innego skrótu, który zmieni skróty wszystkich kolejnych bloków. Aby propagować zmianę w łańcuchu bloków, 51% sieci musiałoby się na to zgodzić. Stąd termin „atak 51%”.

Różne łańcuchy bloków używają różnych algorytmów kryptograficznych. Blockchain Bitcoin wykorzystuje algorytm SHA256, który generuje 32-bajtowy hash. Dogecoin i Litecoin używają Scrypt, który jest jednym z szybszych i lżejszych algorytmów kryptograficznych.

Kryptografia to złożona i szczegółowa nauka, która wykracza daleko poza ramy samego blockchaina. Istnieje wiele dalszych dostępnych lektur na temat kryptografii, zwłaszcza dla bardziej skłonnych naukowo lub matematycznie, jest to fascynujący temat, który wymaga wielu badań.

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me
Like this post? Please share to your friends:
Adblock
detector
map