Integralność i bezpieczeństwo danych w sieciach blockchain jest możliwe m.in. dzięki haszowaniu. Sprawdź, na czym polega działanie jednego z najpopularniejszych algorytmów haszujących - SHA-256.
Co to jest SHA-256?
Rozwinięcie skrótu SHA-256 (ang.) brzmi Secure Hash Algorithm 256-bit, czyli 256-bitowy bezpieczny algorytm haszujący. Jest to jedna z sześciu kryptograficznych funkcji skrótu z rodziny SHA-2, które różnią się między sobą m.in. długością klucza.
Jej działanie opiera się na generowaniu 256-bitowego, czyli liczącego 64 znaki identyfikatora ciągu tekstowego, służącego ochronie danych. Algorytm SHA-256 jest powszechnie stosowany przez takie kryptowaluty jak m.in. Bitcoin, Bytecoin, Peercoin, Namecoin i Vertcoin. Za jego pomocą hashowane są transakcje w ramach metody Proof of History czy protokołu konsensusu Proof of Work.
Na czym polega haszowanie (tworzenie skrótów)?
Dzięki haszowaniu możliwe jest otrzymanie skompresowanej wartości, która reprezentuje pełną wiadomość. Cały proces polega na generowaniu danych wyjściowych o niezmiennym rozmiarze, na podstawie danych wejściowych o zmiennym rozmiarze.
Najważniejsze cechy SHA-256
Funkcję SHA-256 uważa się za bezpieczną ze względu na jej:
- jednokierunkowość (odporność na ataki preimage - preimage resistance) - łatwo jest otrzymać dane wyjściowe, jednak nie da się odwrócić tego procesu i na podstawie danych wyjściowych określić danych wejściowych;
- deterministyczny charakter - z tych samych danych wejściowych zawsze otrzymuje się te same dane wyjściowe;
- odporność na kolizję (collision resistance) - nie odnotowano dotąd sytuacji, w której nastąpiłoby wygenerowanie takich samych danych wyjściowych dla różnych danych wejściowych;
- odporność na ataki second-preimage (second-preimage resistance) - niewykonalne jest, aby znaleźć drugi zestaw danych wejściowych, który będzie kolidował z innym. Atak second-preimage polegałby na określeniu danych wejściowych, które wygenerują takie same dane wyjściowe, jak inny zestaw danych wejściowych, do których ma się dostęp. Do tej pory nikomu nie udało się złamać zabezpieczeń SHA-256.




