Часто виникають ситуації, коли одержувач повинен вміти довести достовірність повідомлення зовнішньому особі. Щоб мати таку можливість, до переданих повідомленням повинні бути приписані так звані цифрові сигнатури.
Цифрова сигнатура - це рядок символів, що залежить як від ідентифікатора відправника, так і змісту повідомлення.
Ніхто при цьому крім користувача А не може обчислити цифрову сигнатуру А для конкретного повідомлення. Ніхто, навіть сам користувач не може змінити посланого повідомлення так, щоб сигнатура залишилася незмінною. Хоча одержувач повинен мати можливість перевірити чи є цифрова сигнатура повідомлення справжньої. Щоб перевірити цифровий сигнатуру, користувач В повинен представити посереднику З інформацію, яку він сам використовував для верифікації сигнатури.
Якщо позначене сигнатурою повідомлення передається безпосередньо від відправника до одержувача, минаючи проміжну ланку, то в цьому випадку йдеться про справжню цифровий сигнатурі.
Розглянемо типову схему цифрової сигнатури.
Нехай Е - функція симетричного шифрування і f - функція відображення деякого безлічі повідомлень на підмножина потужності р з послідовності n>.
Наприклад р = 3 і n = 9. Якщо m - повідомлення. то в якості f можна взяти функцію f (m) =.
Для кожного повідомлення користувач А вибирає деяке безліч ключів K = [K1. Kn> і параметрів V = 1. vn> для використання в якості позначок повідомлення, яке буде надіслано В. Множини V і V '= 1, K1). E (vn, Kn)> надсилаються користувачеві В і заздалегідь обраному посереднику С.
Нехай m - повідомлення і idm - об'єднання ідентифікаційних номерів відправника, одержувача та номер повідомлення. Якщо f (m>), то цифрова сигнатура m є безліч K '= [Ki. Kj>. Повідомлення m. ідентифікаційний номер idm і цифрова сигнатура К 'надсилаються В.
Одержувач В перевіряє сигнатуру наступним чином. Він обчислює функцію f (m>) і перевіряє її рівність К '. Потім він перевіряє, що підмножина i. vj> правильно зашифроване у вигляді підмножини i, Ki). E (vj, Kj)> безлічі V '.
У конфліктній ситуації В посилає З повідомлення m. ідентифікаційний номер idm і безліч ключів K ', яке В оголошує сигнатурою m. Тоді посередник З так само, як і В, буде здатний перевірити сигнатуру. Імовірність розкриття двох повідомлень з одним і тим же значенням функції f повинна бути дуже мала. Щоб гарантувати це, число n має бути досить великим, а число р повинно бути більше 1, але менше n.
Ряд недоліків цієї моделі очевидний:
* Має бути третя особа - посередник, якому довіряють як одержувач, так і відправник;
* Одержувач, відправник і посередник повинні обмінятися істотним обсягом інформації, перш ніж буде передано реальне повідомлення;
* Передача цієї інформації повинна здійснюватися в закритому вигляді;
* Ця інформація використовується вкрай неефективно, оскільки безлічі K. V, V 'використовуються тільки один раз.
Проте навіть така схема цифрової сигнатури може використовуватися в інформаційних системах, в яких необхідно забезпечити аутентифікацію та захист переданих повідомлень.