Haszowanie kryptograficzne stanowi integralną część spektrum cyberbezpieczeństwa. W rzeczywistości jest szeroko stosowany w różnych technologiach, w tym w Bitcoin i innych protokołach kryptowalut.

W tym artykule przejdziemy przez haszowanie w kryptowalutach, gdzie dowiemy się o hashach kryptograficznych, ich przykładach, historii itd..

Artykuł skierowany jest do osób, które chcą poznać bardziej techniczne spojrzenie na ten temat. Jednak nie bój się, jeśli nie jesteś specjalistą, ponieważ postaramy się uprościć koncepcję w najlepszy możliwy sposób.

Kryptografia zawsze była podstawą informatyki. Bez tego nigdy nie będziemy w stanie zapewnić bezpiecznej komunikacji ani wymiany informacji. Najlepiej zdefiniować ją jako metodę ochrony informacji.

Co to jest haszowanie kryptograficzne?

W kryptografii haszowanie to metoda służąca do konwersji danych na unikalny ciąg tekstu. Dane są przekształcane w bardzo wydajną metodę, w której dane są zaszyfrowane w ciągu kilku sekund. Nie ma też ograniczeń co do typu danych ani ich rozmiaru – haszowanie działa na wszystkich z nich.

Co więc sprawia, że ​​haszowanie jest tak popularne i wyjątkowe? Dzieje się tak, ponieważ nie można tego cofnąć!

Tak, jest to funkcja jednokierunkowa (kryptograficzna funkcja skrótu) i została zaprojektowana tylko do takiego działania.

W funkcji jednokierunkowej dane po umieszczeniu w algorytmie haszowania generują unikalny ciąg. Jednak unikalnego ciągu nie można użyć do odszyfrowania oryginalnych danych przez umieszczenie ich z powrotem w funkcji haszującej. Ten rodzaj użyteczności i funkcji sprawia, że ​​haszowanie kryptograficzne jest tak korzystne w ochronie informacji i danych.

Sprawdź też

  • Jak zbudować łańcuch bloków w Pythonie
  • Przewodnik dla początkujących: wykorzystanie kryptografii w kryptowalutach

Jest jeszcze jedna funkcja, która dotyczy metody mieszania. Dowolny fragment danych da ten sam wynik skrótu.

Te cechy sprawiają, że jest bardzo przydatny w kryptowalutach, takich jak bitcoin.


Jak działa haszowanie?

Haszowanie kryptograficzne

Aby lepiej zrozumieć haszowanie, musimy również nauczyć się, jak to działa. Haszowanie to operacja matematyczna, której wykonanie wymaga mniejszej mocy obliczeniowej. Jednak moc obliczeniowa wymagana do odwrócenia jest kosztowna i dlatego nie może być osiągnięta przez obecną generację komputerów.

Jednak komputery kwantowe mogą odwrócić haszowanie komputera. Ale istnieją już metody haszowania, które są odporne na kwanty.

Do celów haszowania używanych jest wiele algorytmów. Obejmuje to następujące elementy.

  • Message Direct (MD5)
  • Funkcja Secure Hash (SHA1)
  • Funkcja Secure Hash (SHA-256)

Nie wszystkie funkcje haszujące są w 100% bezpieczne. Na przykład SHA1 jest łatwy do złamania i dlatego nie jest zalecany do celów praktycznych. Jedną z najczęściej używanych funkcji mieszania jest MD5 i SHA-256.

MD5 jest używany głównie do weryfikacji pobranych plików. Jeśli więc pobierzesz plik, możesz obliczyć jego sumę kontrolną za pomocą kalkulatora sum kontrolnych. Jeśli ciąg skrótu pasuje do ciągu dostarczonego przez program do pobierania, oznacza to, że pobieranie odbywa się poprawnie, bez uszkodzenia pliku. Krótko mówiąc, weryfikuje integralność pliku.

Gdzie jest najczęściej używane haszowanie?

Haszowanie jest używane głównie w przypadku haseł. Weźmy przykład, aby to zrozumieć.

Tworząc konto e-mail, Twój dostawca poczty e-mail zapyta Cię o adres e-mail i hasło. Oczywiście nie zapisują wiadomości e-mail i hasła w postaci zwykłego tekstu. Jeśli tak, to zagrażają prywatności i bezpieczeństwu Twoich informacji. Aby upewnić się, że trudno jest odszyfrować te informacje, używają funkcji skrótu na Twoim haśle, aby nawet każdy wewnętrznie pracujący u dostawcy poczty e-mail nie mógł ich odszyfrować.

Jeśli więc spróbujesz się zalogować następnym razem, funkcja skrótu odszyfruje go i dopasuje do zapisanego, a tym samym zapewni ci dostęp do twojego e-maila.

Inne zastosowania obejmują generowanie i weryfikację podpisów oraz sprawdzanie integralności plików.

Istnieją oczywiście inne aplikacje haszujące. Innym najpopularniejszym zastosowaniem haszowania są kryptowaluty, które omówimy poniżej.

Jak wykorzystuje się haszowanie w kryptowalutach

Haszowanie jest głównie wykorzystywane w kryptowalutach do celów wydobywczych. Tak więc w Bitcoin wydobywanie jest procesem weryfikacji funkcji mieszających SHA-256. Oznacza to, że hashowanie może być używane do zapisywania nowych transakcji, odwoływania się do nich z powrotem do poprzedniego bloku i oznaczania ich znacznikiem czasu

Mówi się, że sieć osiąga konsensus, gdy nowy blok jest dodawany do łańcucha bloków. W ten sposób sprawdza poprawność transakcji zawartych w bloku. Ponadto dodatek uniemożliwia nikomu odwrócenie tego. Wszystko to jest możliwe dzięki haszowaniu i dlatego jest używane do zachowania integralności łańcucha bloków.

Bitcoin wykorzystuje metodę konsensusu Proof of Work, która w zamian wykorzystuje jednokierunkową funkcję skrótu SHA-256.

Przykład funkcji haszowania

Przyjrzyjmy się teraz przykładowi kryptograficznej funkcji skrótu.

Aby ułatwić nam i Tobie, będziemy korzystać z dostępnych online narzędzi SHA-256.

Oto link do tego: SHA256 Online

Teraz, jeśli wpiszesz 101Blockchains jako wejście, da to następujące wyjście.

Wejście: 101Blockchains.com

Wynik: fbffd63a60374a31aa9811cbc80b577e23925a5874e86a17f712bab874f33ac9

haszowanie kryptograficzne

Korzystanie z funkcji skrótu SHA256

Teraz, jeśli wprowadzisz proste „Hello World” jako dane wejściowe, da to następujący wynik.

Wejście: Witaj świecie

Wynik: a591a6d40bf420404a011733cfb7b190d62c65bf0bcda32b57b277d9ad9f146e

Spośród obu wyników zobaczysz, że obie wartości wyjściowe mają tę samą długość, tj. 256 bitów, czyli 64 znaki długości.

Teraz wprowadźmy 101blockchain do wejścia. Zauważ, że usunęliśmy „s” z 101Blockchains, który był używany do generowania pierwszego skrótu.

Wejście: 101Blockchain

Wynik: c4d67db72f3d18eaca2e8e8498271de353d25874e4448be4887f2563576c6fe8

Jeśli porównasz to z naszym pierwszym wynikiem mieszania, zobaczysz ogromną różnicę, nawet jeśli usunęliśmy tylko jedną literę z danych wejściowych.

Czego więc nauczyliśmy się z przykładu? Podsumujmy poniżej.

  • Wszystkie wyjścia mają tę samą długość
  • Małe zmiany na wejściu skutkują zupełnie innymi efektami
  • Nie ma możliwości zamiany wyjść na wejścia.

Właściwości funkcji Cryptographic Hash

Aby lepiej zrozumieć szyfrowanie kryptograficzne lub ogólnie haszowanie, omówmy właściwości kryptograficznej funkcji skrótu.

Deterministyczne

Wiadomo, że kryptograficzne funkcje skrótu są deterministyczne. Oznacza to, że dla danego wejścia wyjście będzie takie samo. Mówiąc prościej, jeśli setny raz umieścisz te same dane wejściowe w funkcji skrótu, dane wyjściowe będą takie same we wszystkich przypadkach.

Właściwość deterministyczna jest ważna, ponieważ umożliwia pojęcie funkcji jednokierunkowej. Gdyby to nie zadziałało w ten sposób, nie byłoby możliwe użycie go do haszowania informacji. Ponadto losowe wyjście dla tego samego wejścia może uczynić cały proces bezużytecznym.

Odporny na obraz wstępny

Kryptograficzna funkcja skrótu jest odporna na przedobrazowanie, co oznacza, że ​​wygenerowana wartość skrótu nie ujawnia niczego o danych wejściowych.

Jest to ważna cecha, ponieważ daje to, co bardzo ważne.

Wydajne obliczeniowo

Funkcje skrótu są wydajne obliczeniowo. Oznacza to, że niezależnie od tego, jak długie i złożone jest wejście, szybko wygeneruje wynik skrótu. Wydajność jest mile widziana w przypadku usług, które chcą używać funkcji skrótu do przechowywania poufnych informacji. Jest to jednak wydajne obliczeniowo tylko w jedną stronę, tj. Od wejścia do wyjścia. Ponieważ nie jest to odwracalne, żaden komputer nie może go odtworzyć.

Ale jeśli chcesz rozmawiać o liczbach, odgadnięcie danych wejściowych z danej wartości skrótu może zająć lata każdemu nowoczesnemu komputerowi. Ponadto, wraz ze wzrostem wydajności nowoczesnych komputerów z każdym dniem, funkcje skrótu stają się bardziej wydajne niż kiedykolwiek.

Nie można odwrócić inżynierii

Funkcji skrótu nie można cofnąć. Oznacza to, że jest bezpieczny. Jak powinieneś wiedzieć, kryptograficzne funkcje skrótu są tworzone z założeniem nieodwracalnych funkcji. Równania matematyczne i proces używany do tworzenia wyniku są uproszczone i nie można ich odwrócić. Z technicznego punktu widzenia funkcja skrótu nie obsługuje operacji odwrotnej.

Odporny na kolizje

Odporność na kolizje to ostatnia właściwość, którą będziemy omawiać. Ta właściwość zapewnia, że ​​żadne dwa różne dane wejściowe nie generują tego samego wyniku.

Jak już wiesz, dane wejściowe mogą mieć dowolną długość. Zgodnie z tą definicją dane wejściowe mogą mieć nieskończone liczby. Teraz wynik, który ma stałą długość, musi być za każdym razem inny. Ograniczenie stałej długości oznacza również, że wyjścia mają skończone liczby – nawet jeśli skończona liczba ma ogromną wartość. To stanowi wyzwanie matematyczne, aby oddzielić wyniki dla każdego wejścia.

Dobra wiadomość jest taka, że ​​większość popularnych funkcji skrótu jest odporna na kolizje.

Popularne klasy haszujące – lista algorytmów haszujących

To prowadzi nas do następnej sekcji, w której omawiamy popularne klasy haszowania. Wymienimy trzy klasy skrótów, które są dość popularne w sferze kryptografii.

  • Message Digest (MD)
  • Funkcja Secure Hash (SHF)
  • RIPE Message Direct (RIPEMD)

Przejrzyjmy je jeden po drugim.

Message Digest (MD)

Message Digest to rodzina funkcji skrótu używanych w całej historii internetu.

Rodzina składa się z funkcji skrótu, takich jak MD2, MD4, MD6 i najpopularniejsze MD5. Wszystkie funkcje skrótu MD są 128-bitowymi funkcjami skrótu, co oznacza, że ​​skróty są 128-bitowe.

Jak omówiliśmy wcześniej, funkcje skrótu MD5 są używane przez dostawców oprogramowania do sprawdzania integralności plików pobieranych przez użytkowników za pośrednictwem serwerów plików. Aby to zadziałało, dostawca zapewnia downloaderowi dostęp do sumy kontrolnej MD5 dla plików. Aby sprawdzić integralność pliku, używana jest suma kontrolna MD5, która oblicza sumę kontrolną, a następnie jest sprawdzana krzyżowo z podaną wartością skrótu. Jeśli wartość jest inna niż sprawdzenie integralności wspomnianego pliku nie powiodło się, a użytkownik musi pobrać całość lub część pliku.

MD5 nie jest tak bezpieczny, jak inne funkcje haszujące. W 2004 roku przeprowadzono analityczny atak na funkcję skrótu, który został wykonany w ciągu zaledwie jednej godziny. Dokonano tego za pomocą klastra komputerowego. To sprawiło, że MD nie był tak przydatny do zabezpieczania informacji i dlatego jest używany do zadań takich jak weryfikacja integralności pliku.

Jeśli chcesz dowiedzieć się więcej o MD5, sprawdź stronę Wiki dotyczącą MD5 – MD5.

Funkcja Secure Hash (SHA)

Bezpieczne funkcje skrótu to kolejna rodzina funkcji skrótu, które są dość popularne. Został opracowany i opublikowany przez National Institute of Standards and Technology (NIST). Wydali cztery wersje SHA, w tym SHA-0, SHA-1, SHA-2 i SHA-3.

Jak można się domyślić, nowsze wersje naprawiają niektóre problemy lub słabości w starszych wersjach SHA. Na przykład SHA-1 został zwolniony po wykryciu słabości SHA-0. SHA-1 został wydany w 1995 roku.

SHA-1 zyskał własną nazwę po wydaniu. Był używany przez różne aplikacje w tym czasie, w tym Secure Socket Layer (SSL).

Jednak z czasem wyzyskiwacze odkryli również kolizje SHA-1, które sprawiły, że był on bezużyteczny. NIST opracował rodzinę bezpiecznych funkcji skrótu SHA-2, która wykorzystywała cztery warianty SHA, w tym SHA-256, SHA-224, SHA-512 i SHA-384. W tych czterech wariantach dwa były rdzeniem, w tym SHA-256 i SHA-512. Różnica między nimi polega na tym, że SHA-512 używa 64-bajtowych słów, podczas gdy SHA-256 używa tylko 32-bajtowych słów.

Rodzina funkcji skrótu SHA-2 jest nadal szeroko stosowana. Jednak był też SHA-3, który został opracowany i wydany przez projektantów spoza NSA podczas publicznego konkursu w 2012 roku. Wcześniej był znany jako Keccak. Korzyści z Keccak obejmowały lepszą odporność na ataki i wydajną wydajność.

RIPE Message Direct (RIPEMD)

RIPE Message Direct (RIPEMD) to rodzina funkcji skrótu wydanych w 1992 roku. Ponadto RIPE oznacza RACE Integrity Primitives Evaluations.

Został zaprojektowany i zarządzany przez otwartą społeczność badawczą. Rodzina obejmuje pięć funkcji, w tym RIPEMD, RIPEMD-160, RIPEMD-128, RIPEMD-320 i RIPEMD-256. Jednak najczęściej używaną funkcją jest RIPEMD-160.

Projekt RIPEMD jest oparty na Message Direct.

Różnica między haszowaniem, szyfrowaniem i soleniem

W tej sekcji pokrótce omówimy różnicę między haszowaniem, szyfrowaniem i soleniem.

Zacznijmy od szyfrowania.

Szyfrowanie to proces zaszyfrowania oryginalnych informacji za pomocą klucza publicznego, a następnie odblokowania ich za pomocą klucza prywatnego. Jest to funkcja dwukierunkowa.

Z drugiej strony haszowanie jest funkcją jednokierunkową używaną do zaszyfrowania informacji do celów weryfikacji.

Ostatni termin to „solenie”.

Solenie jest podobne do haszowania, ale tutaj do hasła jest dodawana unikalna wartość, aby utworzyć inną wartość skrótu. Tutaj wartość soli musi być wyjątkowa i pozostać ukryta.

Wniosek

To prowadzi nas do końca naszego haszowania w kryptografii. Próbowaliśmy zrozumieć haszowanie, najpierw dowiadując się, co ma do zaoferowania, a następnie szybko ucząc się, jak to działa, jakie są jego typy i tak dalej!

Jak widać, istnieje wiele zastosowań haszowania, w tym kryptowaluta, ochrona hasłem, weryfikacja podpisu i tak dalej. Chociaż haszowanie jest wyjątkowe na swój sposób, jego skuteczność w ochronie informacji zmniejsza się z każdym dniem dzięki potężnym komputerom na całym świecie.

Naukowcy pracują również nad utrzymaniem status quo poprzez uwolnienie potężniejszej funkcji mieszającej, która jest odporna na kwanty i może wytrzymać postęp mocy obliczeniowej na całym świecie..

Więc co myślisz o haszowaniu? Skomentuj poniżej i daj nam znać.

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me