KCDSA
KCDSA ( koreański algorytm podpisu cyfrowego oparty na certyfikatach ) to algorytm podpisu cyfrowego stworzony przez zespół kierowany przez Koreańską Agencję ds. Internetu i Bezpieczeństwa (KISA). Jest to ElGamal , podobny do Digital Signature Algorithm i GOST R 34.10-94. Standardowy algorytm jest zaimplementowany na również wariant krzywej eliptycznej EC -KCDSA
KCDSA wymaga odpornej na kolizje kryptograficznej funkcji skrótu , która może generować dane wyjściowe o zmiennej wielkości (od 128 do 256 bitów, w 32-bitowych przyrostach). Sugerowanym wyborem jest HAS-160 , kolejny koreański standard.
Parametry domeny
- : duża liczba pierwsza taka, że dla .
- : czynnik pierwszy taki, że dla .
- : podstawowy element porządku w .
Poprawiona wersja specyfikacji dodatkowo wymaga, aby albo wszystkie jej czynniki pierwsze były większe niż .
Parametry użytkownika
- : prywatny klucz podpisu sygnatariusza taki, że .
- : publiczny klucz weryfikacyjny sygnatariusza obliczony przez gdzie .
- : wartość skrótu danych certyfikatu , tj. .
Specyfikacja z 1998 roku nie jest jasna co do dokładnego formatu „Danych certyfikatu”. W zmienionej specyfikacji z jest zdefiniowane jako dolne B bitów klucza publicznego y, gdzie B to rozmiar bloku funkcji skrótu w bitach (zwykle 512 lub 1024). Efekt jest taki, że pierwszy blok wejściowy odpowiada y mod 2^B.
- : dolne B bitów y.
Funkcja mieszająca
- : funkcja skrótu odporna na kolizje z | q | -bitowymi skrótami.
Podpisywanie
Podpisać wiadomość :
- Podpisujący losowo wybiera liczbę całkowitą i oblicza
- Następnie oblicza pierwszą część:
- Następnie oblicza drugą część:
- Jeśli , proces należy powtórzyć od początku.
- Podpis to
Specyfikacja jest niejasna, jeśli chodzi o reinterpretację liczby całkowitej ciągu bajtów wprowadzanych do funkcji skrótu W przykładzie w sekcji C.1 interpretacja jest zgodna z używając definicji I2OSP z PKCS#1/RFC3447.
Weryfikacja
Aby zweryfikować podpis na wiadomości :
- Weryfikator sprawdza, czy i i odrzuca podpis jako nieważny, jeśli nie.
- mi
- Weryfikator sprawdza, czy . Jeśli tak, to podpis jest ważny; inaczej jest nieważne.
Linki zewnętrzne