KCDSA (Корейський алгоритм цифрового підпису на основі сертифіката) — це алгоритм цифрового підпису, створений групою під керівництвом  (KISA). Це варіант , аналогічний Алгоритму цифрового підпису та . Стандартний алгоритм реалізовано над , але також вказано варіант на еліптичних кривих (EC-KCDSA).

Для KCDSA потрібна колізійно стійка криптографічна хеш-функція, яка може створювати вихідні дані змінного розміру (від 128 до 256 біт із кроком 32 біт). , інший корейський стандарт, є запропонованим вибором.

Параметри

*  : велике просте таке, що  для  .
*  : основний множник  такий, що  для  .
*  : базовий елемент порядку  в  .

Параметри користувача

*  : особистий ключ підпису підписувача такий, що  .
*  : відкритий ключ перевірки підписувача, обчислений  де  .
*  : хеш-значення даних сертифіката, тобто  .

У специфікації 1998 року неясно, який саме формат «Даних сертифіката». У переглянутій специфікації z визначається як B нижніх бітів відкритого ключа y, де B — розмір блоку хеш-функції в бітах (зазвичай 512 або 1024). Ефект полягає в тому, що перший вхідний блок відповідає y mod 2B.

*  : молодші B бітів y.

Хеш-функція

*  : колізійно стійка хеш-функція з |q|-бітовими дайджестами.

Підписання

* Підписувач навмання вибирає ціле число  і обчислює 
* Потім обчислює першу частину: 
* Потім обчислює другу частину: 
* Якщо , процес потрібно повторити спочатку.
* Підписом є кортеж 

Перевірка

* Верифікатор перевіряє це  і  і відхиляє підпис як недійсний, якщо ні.
* Верифікатор обчислює 
* Потім він перевіряє, чи 

Посилання

*  Специфікація та аналіз KCDSA
