Czym jest SHA-256?
SHA-256 (Secure Hash Algorithm 256-bit) to kryptograficzna funkcja haszująca z rodziny SHA-2, przyjmująca wejście o dowolnej długości i generująca stały 256-bitowy (32-bajtowy) skrót, zaprojektowana jako funkcja jednokierunkowa, której wyjście nie ujawnia nic o wejściu.
Znane również jako: SHA-2, Secure Hash Algorithm
Kryptograficzna funkcja haszująca musi spełniać trzy właściwości: odporność na praobraz (mając hasz, niemożliwe jest znalezienie oryginalnego wejścia), odporność na drugi praobraz (mając wejście, niemożliwe jest znalezienie innego wejścia o tym samym haszu) i odporność na kolizje (niemożliwe jest znalezienie dwóch różnych wejść dających ten sam hasz). SHA-256 spełnia wszystkie trzy i pozostaje nienaruszona od jej publikacji przez NIST w 2001 roku.
SHA-256 generuje 256-bitowe wyjście niezależnie od rozmiaru wejścia — haszowanie pojedynczego znaku i haszowanie pliku gigabajtowego daje 32-bajtowy skrót. Efekt lawinowy zapewnia, że zmiana nawet jednego bitu wejścia daje zupełnie inny hasz bez żadnego rozpoznawalnego wzorca. To czyni SHA-256 przydatną do weryfikacji integralności: zapisz hasz pliku, a później ponownie go zahaszuj, by potwierdzić brak modyfikacji.
SHA-256 nie jest algorytmem szyfrowania — haszowanie to operacja jednokierunkowa bez odpowiadającego deszyfrowania. Służy jako element składowy w wielu konstrukcjach kryptograficznych: HMAC-SHA256 do uwierzytelniania wiadomości, PBKDF2-SHA256 do wyprowadzania kluczy, odciski certyfikatów, proof-of-work w blockchain i schematy podpisów cyfrowych. Jego szerokie przyjęcie w protokołach i platformach czyni go jednym z najważniejszych prymitywów we współczesnej kryptografii.
Jak Vaulted używa SHA-256
SHA-256 to funkcja haszująca leżąca u podstaw procesu wyprowadzania kluczy Vaulted. Gdy passphrase jest używana do ochrony sekretu, PBKDF2 stosuje HMAC-SHA256 iteracyjnie (100 000 rund), by wyprowadzić klucz opakowujący z passphrase i losowego salt. SHA-256 jest też funkcją haszującą używaną w obliczeniu HMAC generującym tokeny stron statusu, zapewniając, że tylko twórca sekretu może uzyskać dostęp do strony statusu swojego sekretu.