Table of Contents
W obecności złośliwych osób trzecich, znanych jako przeciwnicy, kryptografia umożliwia bezpieczną komunikację. Szyfrowanie przekształca dane wejściowe (tj. tekst jawny) w zaszyfrowane dane wyjściowe (tj. tekst zaszyfrowany) przy użyciu algorytmu i klucza.
Technologia blockchain opiera się na dwóch klasach algorytmów kryptograficznych: algorytmach klucza asymetrycznego i funkcjach haszujących. Każdy uczestnik uzyskuje pojedynczą reprezentację blockchaina za pomocą funkcji haszujących, które są używane do implementacji zdolności każdej osoby do zobaczenia jednej konkretnej reprezentacji blockchaina. Algorytm haszujący SHA-256 jest często używany jako funkcja haszująca w blockchainach.
Satoshi Nakamoto.
Kim jest Satoshi Nakamoto? Nikt nie wie, kim jest Satoshi Nakamoto, osoba, której przypisuje się wynalezienie pierwszej i najpopularniejszej na świecie kryptowaluty – Bitcoina. Nakamoto był pierwszym górnikiem łańcucha Bitcoin i wydał dokument techniczny dotyczący cyfrowej waluty.
Elon Musk ujawnił, że jest inwestorem kryptowalutowym, zainwestował w Bitcoin, Etherium i Dodgcoin.
Kryptografia to nauka i zastosowanie wysyłania bezpiecznych, zaszyfrowanych wiadomości pomiędzy dwoma lub więcej osobami. Kryptografia pozwala na to, aby transakcje walutami cyfrowymi były pseudonimowe, bezpieczne i “niezaufane”, bez potrzeby korzystania z banku lub innego pośrednika.
Nazwa “moneta” pochodzi od greckiego słowa głównego oznaczającego “sekret”. Jest to bardzo szeroki termin, który obejmuje wiele form cyfrowych pieniędzy. Kryptografia, jako nauka i praktyka przesyłania bezpiecznych, zaszyfrowanych wiadomości lub danych między dwiema lub więcej stronami, jest tym, czym jest kryptowaluta. Nadawca szyfruje wiadomość i ukrywa jej treść przed osobami trzecimi. Odbiorca odszyfrowuje wiadomość i może zapoznać się z jej treścią.

Transakcje kryptowalutowe stają się anonimowe, bezpieczne i “niegodne zaufania” za pomocą kryptowalut. W środku transakcji jest rząd lub jakakolwiek inna strona trzecia. A jeśli chodzi o pieniądze cyfrowe, kryptografia jest nie tylko ważna; nasze komputery i sieci nieustannie szyfrują i odszyfrowują dane, od wszystkiego, co robisz w Google, po każdą wysłaną wiadomość e-mail.
Dlaczego kryptografia jest tak istotna?
Kryptowaluty oparte są na skomplikowanej matematyce. Satoshi Nakamoto, pseudonim nieznanej osoby lub grupy osób, wymyślił Bitcoina w 2009 roku jako oficjalny dokument zamieszczony na stronie internetowej poświęconej kryptografii.

Problem podwójnego wydawania był najtrudniejszym zagadnieniem, którym zajął się Satoshi Nakamoto. Ponieważ Bitcoin jest tylko zbiorem kodu, co powstrzymuje kogoś od stworzenia i wydania wielu kopii swoich pieniędzy? Podejście Nakamoto opierało się na szyfrowaniu klucza publicznego i prywatnego, które jest dobrze znaną metodą szyfrowania. Kto wymyślił szyfrowanie?
Wykorzystanie szyfrowania klucza publicznego i prywatnego, widoczne w Bitcoinie (a także Ethereum i innych kryptowalutach), pozwala obcym ludziom przeprowadzać bezpieczne transakcje bez potrzeby “zaufanego pośrednika”, takiego jak bank lub PayPal w środku.
Jaka jest różnica między szyfrowaniem kluczem publicznym a prywatnym?

Wszyscy użytkownicy mają klucz prywatny (w zasadzie bardzo silne hasło), z którego powiązany klucz publiczny jest generowany przez sieć Bitcoin. Możesz swobodnie dzielić się swoim kluczem publicznym z kimkolwiek; w rzeczywistości jest to wszystko, czego ktokolwiek potrzebuje, aby wysłać ci Bitcoiny. Jednakże, aby uzyskać dostęp do tych środków, będziesz potrzebował tajnego klucza.
Sieć peer-to-peer, która wykorzystuje techniki kryptograficzne do uwierzytelniania transakcji, jest częścią atrakcyjności Bitcoina.
Używając procedury znanej jako “hashowanie”, Twój klucz publiczny jest generowany z Twojego klucza prywatnego poprzez wykonanie operacji na ciągu danych. Ta procedura jest niezwykle trudna do odwrócenia, więc nikt nie może odgadnąć twojego klucza prywatnego z twojego klucza publicznego.

Twój bitcoin jest twój, aby zachować tak długo, jak masz swój klucz prywatny, ponieważ twoje klucze publiczne i prywatne są połączone.
Brak pośrednika ma szereg skutków. Jednym z nich jest to, że transakcje Bitcoin są nieodwracalne (ponieważ nie ma firmy obsługującej karty kredytowe, z którą można się skontaktować w przypadku popełnienia błędu). Ale to nie jest wada; to raczej zaleta: trwałe transakcje są niezbędne do rozwiązania problemu podwójnego wydawania pieniędzy.
Reszta rozwiązania to bitcoin-blockchain, czyli masywna zdecentralizowana księga (pomyśl o bilansach bankowych), która dokumentuje każdą transakcję i jest stale weryfikowana i aktualizowana przez wszystkie maszyny sieci.

Techniki kryptograficzne
Kryptografia to gałąź matematyki, która zajmuje się badaniem i stosowaniem kodów, często nazywanych szyframi. Obejmuje ona metody takie jak mikrodoty, łączenie słów z obrazami i inne sposoby na zaciemnienie danych podczas ich zapisywania lub przesyłania.
Jednak w dzisiejszym świecie zdominowanym przez komputery, kryptografia najczęściej zajmuje się szyfrowaniem plaintext (zwykłego tekstu) w tekst zaszyfrowany (proces zwany szyfrowaniem), a następnie z powrotem (znany jako deszyfrowanie). Kryptografowie to osoby, które uprawiają tę dyscyplinę.
Poniżej przedstawiono cztery cele współczesnej kryptografii:

- Prywatność. Wiedza nie może być zrozumiana przez tych, którzy nie byli przeznaczeni do jej otrzymania.
- Integralność. Informacja nie może być zmieniona w tranzycie lub przechowywana bez wykrycia.
- Nieodwołalność. Twórca/nadawca informacji nie może później zaprzeczyć swoim zamiarom jej stworzenia lub przekazania.
- Uwierzytelnianie. Nadawca i odbiorca mogą wzajemnie zweryfikować swoją tożsamość, a także pochodzenie/odbiorcę informacji.

Kryptosystemy to procedury i protokoły, które spełniają przynajmniej niektóre z wymienionych wyżej wymagań. Często uważa się, że kryptosystemy to wyłącznie procedury matematyczne i programy komputerowe, ale obejmują one również regulację zachowań ludzkich, takich jak ustanawianie trudnych haseł, wyłączanie bezużytecznych systemów i odmawianie ujawniania tajnych metod osobom obcym.
Własne lub opatentowane algorytmy
Kryptosystemy wykorzystują różne metody znane jako algorytmy kryptograficzne lub szyfry do szyfrowania i odszyfrowywania danych w celu zabezpieczenia komunikacji w sieci komputerowej, urządzeniach i aplikacjach.

Jeden algorytm szyfruje, inny uwierzytelnia wiadomości, a jeszcze inny przekazuje klucze w zestawie szyfrów. Procedura ta, będąca częścią protokołów i zapisana w oprogramowaniu komputerowym działającym w systemach operacyjnych (OS) i sieciowych systemach komputerowych, obejmuje następujące kroki:
- Do szyfrowania/deszyfrowania danych wymagane jest wygenerowanie klucza publicznego i prywatnego.
- Cyfrowe podpisywanie i uwierzytelnianie wiadomości
- wymiana kluczy.
Kryptografy mają trzy główne rodzaje

Szyfr blokowy, zwany również algorytmem szyfrującym o stałej długości, służy do szyfrowania danych (szyfrowanie) i ich odszyfrowywania za pomocą tajnego klucza ustalonego przez twórcę/nadawcę do szyfrowania danych (szyfrowanie) i odbiorcę do ich odszyfrowania. Advanced Encryption Standard ( aes encryption ) jest jednym z przykładów kryptografii z kluczem symetrycznym.
Advanced Encryption Standard (aes encryption) to zatwierdzony przez NIST federalny standard przetwarzania informacji (FIPS 197) służący do zabezpieczania wrażliwych danych. Standard ten jest autoryzowany przez rząd Stanów Zjednoczonych i szeroko stosowany w sektorze komercyjnym.

Rząd USA dał swoje błogosławieństwo na użycie AES dla wrażliwych danych w czerwcu 2003 roku. Jest to wolna specyfikacja, która jest wdrażana zarówno w oprogramowaniu, jak i sprzęcie na całym świecie. szyfrowanie aes jest standardem szyfrowania danych ( DES ) i zamiennikiem DES3. Aby zapobiec atakom brute force i innym problemom bezpieczeństwa, używa dłuższych kluczy – 128, 192 lub 256 bitów.
Ten rysunek porównuje szyfrowanie symetryczne i asymetryczne.
Kryptografia symetryczna wykorzystuje pojedynczy klucz, natomiast kryptografia asymetryczna wykorzystuje parę kluczy do szyfrowania i deszyfrowania danych.

W przypadku algorytmów szyfrowania z kluczem publicznym wymagana jest para kluczy: klucz publiczny, który jest używany do szyfrowania wiadomości oraz klucz prywatny, który jest znany tylko nadawcy (chyba że jest udostępniany lub on sam się na to zdecyduje) i może być użyty do odszyfrowania.
Poniżej przedstawiono kilka przykładów kryptografii z kluczem publicznym:
- RSA , szeroko stosowany w Internecie.
- Elliptic Curve Digital Signature Algorithm (ECDSA), używany przez Bitcoiny
- Algorytm podpisu cyfrowego (DSA), który został uznany przez NIST za federalny standard przetwarzania informacji dla podpisów cyfrowych w FIPS 186-4, jest jednym z trzech algorytmów obsługiwanych przez Bitcoin.
Wymiana klucza Diffie-Hellman

Funkcje haszujące, które tłumaczą dane na określony rozmiar danych poprzez użycie deterministycznego wyjścia z wartości wejściowej, są używane do mapowania danych do stałego rozmiaru danych w celu zachowania integralności danych w kryptografii. Schemat SHA-1 (Secure Hash Algorithm 1) jest jednym z najbardziej popularnych typów kryptograficznych funkcji skrótu.
Kwestie związane z kryptografią
Bezpieczeństwo komunikacji za pomocą kryptografii jest również zagrożone przez napastników, którzy mogą ominąć szyfrowanie, włamać się do komputerów odpowiedzialnych za szyfrowanie i odszyfrowywanie danych, a także stosować złe implementacje, takie jak używanie domyślnych kluczy. Z drugiej strony kryptografia utrudnia atakującym dostęp do zaszyfrowanych wiadomości i danych.

NIST pracuje nad nowymi standardami kryptografii z kluczem publicznym, aby przygotować się na nadejście obliczeń kwantowych, które mogłyby zagrozić obecnym metodom szyfrowania kryptograficznego. W 2016 roku NIST ogłosił call for papers od społeczności matematycznej i naukowej poszukującej możliwości opracowania nowych standardów kryptografii z kluczem publicznym ze względu na rosnące obawy dotyczące mocy obliczeniowej obliczeń kwantowych, które mogłyby złamać obecne metody szyfrowania.
Obliczenia kwantowe, w przeciwieństwie do konwencjonalnych komputerów, wykorzystują bity kwantowe (qubity), które mogą reprezentować zarówno 0, jak i 1, co pozwala na prowadzenie dwóch zadań w tym samym czasie. Według NIST, podczas gdy komputer kwantowy na dużą skalę może nie zostać zbudowany w ciągu najbliższej dekady, obecna infrastruktura wymaga standaryzacji znanych i rozumianych algorytmów kryptografii z kluczem publicznym, które są odporne na ataki komputerów kwantowych.