Standard sygnatury cyfrowej DSS

     Standard sygnatury cyfrowej DSS korzysta z algorytmu SHA opisanego poniżej. DSS ukazał się w roku 1993.
Zapewnia on tylko funkcje sygnatury cyfrowej i nie może być używany do szyfrowania lub wymiany kluczy jak RSA, jednakże jest techniką klucza jawnego.
     Metoda DSS korzysta z funkcji haszującej. Na dane wejściowe składają się wyniki haszowania oraz liczby losowej k, generowanej specjalnie dla danej sygnatury. Jest ona też uzależniona od klucza prywatnego nadawcy (KRa) i zbioru parametrów znanych grupie komunikujących się stron.Zbiór ten możemy traktować jako globalny klucz jawny (KUG).
W rezultacie otrzymujemy sygnaturę złożoną z dwóch składników, oznaczonych s i r.
     Po stronie odbiorcy generuje się wynik haszowania dla komunikatu. Wynik ten wraz z sygnaturą stanowi dane wejściowe dla funkcji weryfikującej, która jest także uzależniona od globalnego klucza jawnego oraz klucza jawnego nadawcy. (KUa), który jest parą z kluczem prywatnym nadawcy. Wynikiem funkcji weryfikującej jest wartość, która powinna być równa składnikowi r sygnatury, jeżeli jest ona ważna.
Funkcja sygnatury ma taką własność, że tylko nadawca, znając swój klucz prywatny, może wyprodukować ważną sygnaturę.

 

Opis funkcji haszującej SHA
     Algorytm SHA został utworzony przez NIST i opublikowany jako federalny standard przetwarzania informacji. Jest oparty na algorytmie MD5, ale budowa przypomina MD4.
     Algorytm tez korzysta z danych wejściowych w postaci komunikatu o długości mniejszej niż 264 bity i daje w wyniku 160-bitowy wyciąg. Dane wejściowe przekształca się w 512-bitowych blokach.

Algorytm składa się z kilku etapów:
Etap pierwszy:
Komunikat jest dopełniany tak, by jego długość w bitach przystawała do 448 mod 512. Dopełnienie jest dodawane zawsze, nawet gdy komunikat jest już pożądanej długości. Składa się ono z pojedynczego bitu 1, po którym nastepuje odpowiednia liczba bitów 0.

Etap drugi:
Do komunikatu dodaje się 64-bitowy blok. Jest on traktowany jako nieujemna 64-bitowa liczba całkowita i jest w niej zawarta długość komunikatu przed dopełnieniem.
Wynikiem pierwszych dwóch kroków jest komunikat o długości równej całkowitej wielokrotności 512-bitów. Można go przedstawić jako sekwencję 512-bitowych bloków Y0, Y1, ..., YL-1. Całkowita długość komunikatu wynosi zatem L*512bitów.

Etap trzeci:
Stosuje się bufor 160-bitowy do przechowywania pośrednich i końcowych wartości funkcji haszującej. Można go przedstawić jako pięć 32-bitowych rejestrów (A, B, C, D, E).

Etap czwarty:
Przetwarzanie komunikatu w blokach 512-bitowych. Jest to główny etap algorytmu SHA. Składa się on z 80 etapów przetwarzania.

Etap piąty:
Po przetworzeniu wszystkich L bloków 512-bitowych, wynikiem L-tego stadium jest 160-bitowy wyciąg.
Algorytm pokazany jest na rysunku.

 
 

home | back | top