Загальна схема побудови ЕЦП
1.Створення відкритого і закритого ключів. Користувач
генерує ключову пару: відкритий ключ
і закритий ключ
і на їх основі будує функції
і
.
2. Формування ЕЦП за допомогою закритого ключа. Для того, щоб підписати повідомлення
, користувач 
1) за допомогою криптографічної хеш-функції
обчислює його хеш-код
;
2) створює ЕЦП за формулою
.
3) пересилає користувачу
підписане повідомлення – пару
.
3. Перевірка підпису за допомогою відкритого ключа (верифікація). Для перевірки підпису повідомлення
користувач
1) за допомогою криптографічної хеш-функции
обчислює хеш-код отриманого документа
;
2) перевіряє рівність
. Якщо рівність виконана, ЕЦП повідомлення визнається вірною. Інакше підпис вважається підробленим і робиться висновок про те, що цілісність повідомлення порушена.
Зауваження. Запропоновану схему можна доповнити попереднім зашифруванням повідомлення, що пересилається, і підсумковою розшифровкою.
61. Схема електронного цифрового підпису на основі криптосистеми Ель-Гамаля.
1. Створення відкритого і закритого ключів. Користувач
генерує ключову пару: відкритий ключ
і закритий ключ
. Для цього він:
1) вибирає велике просте число
і обчислює первісний корінь
за модулем
;
2) навмання вибирає ціле число
з інтервалу
;
3) обчислює значення
;
4) відкритий ключ
– трійка чисел
, закритий ключ
– число
.
2. Формування ЕЦП за допомогою закритого ключа. Для того, щоб підписати повідомлення
користувач 
1) за допомогою криптографічної хеш-функции
обчислює його хеш-код
;
2) вибирає довільне число
з відрізання
(рандомізатор) з умовою
.
3) обчислює
;
4) обчислює
;
5) підписом для повідомлення
є пара
;
6) пересилає абонентові
пару
.
3. Перевірка підпису за допомогою відкритого ключа (верифікація. Для перевірки підпису повідомлення
абонент 
1) за допомогою криптографічної хэш-функции
обчислює хэш-код отриманого документа
;
2) перевіряє рівність
. Якщо рівність виконана, ЕЦП повідомлення визнається вірною. Інакше підпис вважається підробленим і робиться висновок про те, що цілісність повідомлення порушена.
62. Схема електронного цифрового підпису на основі криптосистеми RSA.
1. Створення відкритого і закритого ключів. Користувач
генерує ключову пару: відкритий ключ
і закритий ключ
. Для цього:
1) вибираються два випадкових великих простих числа
і
;
2) обчислюється їх добуток – число
;
3) обчислюється значення функції Ейлера
.
4) вибирається випадкове непарне число
, взаємно просте з
і таке, що
;
5) обчислюється число
, обернене числу
за модулем
, тобто таке, що
(з використанням розширеного алгоритму Евклида для розв’язування діофантового рівняння
). Після цього всі дані, крім
, включаючи дані проміжних обчислень, знищуються. Відкритий ключ
публікується, а закритий ключ
зберігається в секреті.
2. Формування ЕЦП за допомогою закритого ключа. Для того, щоб підписати повідомлення
, користувач 
1) за допомогою криптографічної хеш-функції
обчислює його хеш-код
;
2) шифрує хеш на секретному ключі
:
.
3) пересилає абоненту
пару
.
3. Перевірка підпису за допомогою відкритого ключа (верифікація). Для перевірки підпису повідомлення
абонент 
1) за допомогою криптографічної хеш-функции
обчислює хеш-код отриманого документа
;
2) розшифровує
за допомогою відкритого ключа
:
. Якщо
, ЕЦП повідомлення визнається вірною. Інакше підпис вважається підробленим і робиться вивід про те, що цілісність повідомлення порушена.
Таким чином, в криптосистемі RSA секретний ключ використовується для обчислення ЕЦП або для розшифрування повідомлень, а відкритий – для перевірки ЕЦП або для зашифрування повідомлень.