encyklopedia.run.place

fips_180-2

FIPS 180‑2 (ang. Federal Information Processing Standard Publication 180‑2) jest amerykańskim standardem federalnym określającym rodzinę kryptograficznych funkcji skrótu znanych jako SHA‑1 oraz SHA‑2. Standard został opracowany przez National Institute of Standards and Technology (NIST) i opublikowany w 2002 roku jako zastępstwo wcześniejszego FIPS 180‑1.

Historia

W latach 1993‑1995 NIST wydał FIPS 180‑1, definiujący jedną funkcję skrótu – SHA‑1. W miarę rosnących wymagań bezpieczeństwa oraz pojawienia się nowych ataków kryptograficznych, w 2002 r. opracowano FIPS 180‑2, rozszerzający specyfikację o dodatkowe algorytmy o zwiększonej długości wyjścia (256, 384 i 512 bitów) oraz ulepszoną strukturę funkcji.

Zakres i struktura standardu

Standard definiuje następujące algorytmy:

  • SHA‑1 – 160‑bitowy skrĂłt, zgodny z FIPS 180‑1.
  • SHA‑224 – 224‑bitowy skrĂłt (odmiana SHA‑2).
  • SHA‑256 – 256‑bitowy skrĂłt (podstawowy algorytm rodziny SHA‑2).
  • SHA‑384 – 384‑bitowy skrĂłt (odmiana SHA‑2).
  • SHA‑512 – 512‑bitowy skrĂłt (podstawowy algorytm rodziny SHA‑2).

Wszystkie algorytmy opierają się na konstrukcji Merkle‑Damgård oraz operacjach bitowych i arytmetycznych na 32‑ lub 64‑bitowych słowach.

Kluczowe cechy techniczne

Rozmiar bloku
512 bitów (SHA‑1, SHA‑224, SHA‑256) lub 1024 bitów (SHA‑384, SHA‑512).
Długość wyjścia
160, 224, 256, 384 lub 512 bitów, w zależności od wybranego wariantu.
Algorytm przetwarzania
Seria 64 (dla 32‑bitowych wariantów) lub 80 (dla 64‑bitowych) rund operacji mieszanek (ang. compression function), które obejmują rotacje, przesunięcia i operacje logiczne (AND, OR, XOR).
Wymóg wstępnego wypełnienia
Wiadomość jest dopasowywana do wielokrotności rozmiaru bloku poprzez dopisanie bitu „1”, a następnie odpowiedniej liczby zer oraz 64‑bitowej lub 128‑bitowej reprezentacji długości oryginalnej wiadomości.

Zastosowania

FIPS 180‑2 jest wykorzystywany w licznych protokołach i systemach:

  • Podpisy cyfrowe – jako część algorytmĂłw DSA i RSA.
  • Protokół TLS/SSL – do weryfikacji integralnoĹ›ci danych.
  • Systemy operacyjne i oprogramowanie – w funkcjach kontroli integralnoĹ›ci plikĂłw (np. Windows lub Linux).
  • Bezpieczne przechowywanie haseĹ‚ – w połączeniu z technikami solenia (ang. salting).
  • Standardy rzÄ…dowe USA – wszelkie aplikacje wymagajÄ…ce zgodnoĹ›ci z FIPS.

Bezpieczeństwo i krytyka

W kolejnych latach po publikacji FIPS 180‑2 odkryto słabości w SHA‑1. W 2005 r. zaprezentowano pierwsze praktyczne kolizje, a w 2017 r. przeprowadzono pełnowymiarowy atak kolizyjny SHAttered. Z tego powodu NIST zaleca stopniowe wycofywanie SHA‑1 z nowych systemów i migrację do SHA‑2 lub nowszych rodzin, takich jak SHA‑3 (FIPS 202).

PowiÄ…zane standardy

  • FIPS 180‑1 – poprzednik, definiujÄ…cy wyłącznie SHA‑1.
  • FIPS 180‑4 – najnowsza wersja, opublikowana w 2015 r., zawierajÄ…ca korekty techniczne i odniesienia do SHA‑3.
  • FIPS 186‑4 – standard dotyczÄ…cy podpisĂłw cyfrowych, w ktĂłrym SHA‑2 jest uĹĽywany jako funkcja skrĂłtu.

Patrz takĹĽe