приватного ключа або-нента В, то дешифрування її за допомогою публічного ключа дає в результаті текст, що є хаотичною послідовністю знаків. Це гарантує, що тільки власник приватного ключа може таким способом підписувати документи абонента В;
так само заміна публічного ключа під час дешифрування дає текст, що є хао-тичною послідовністю знаків. Завдяки цьому неможливо приписати деякий текст іншому автору.
Захист таємниці електронної пошти
Пересилання електронної пошти пов'язано з багатьма небезпеками. Хтось, хто має контроль над вузлом Інтернету, може видозмінити лист або переслати його комусь іншому. Для того, щоб запобігти подібного типу видозмінам, можна використати такий сценарій.
Припустимо, що абонент В має пару ключів для асиметричного алгоритму шиф-рування. Коли абонент А хоче надіслати лист до абонента В, то реалізується такий про-токол.
Абонент А бере публічний ключ абонента В.
Абонент А шифрує текст свого листа до абонента В за допомогою його пуб-лічного ключа й надсилає зашифрований лист електронною поштою.
Абонент В дешифрує отриманий лист за допомогою свого приватного ключа й отримує в такий спосіб оригінальний текст.
Наведений протокол гарантує, що тільки абонент В може дешифрувати призна-чені йому листи.
Електронний нотаріус
До нотаріуса звертаємось у двох важливих ситуаціях:
коли хочемо офіційно підтвердити існування документа без розголошення його змісту;
коли хочемо гарантувати, що у певному документі, наприклад у торговій уго-ді, недобросовісний партнер не зробив змін.
В обох випадках вистачає чогось подібного до відбитків пальців - короткої послідовності символів, яка практично для кожного тексту є іншою.
Для отримання "відбитків пальців" використовуємо так звані однонапрямлені хешувальні (вкорочувальні) функції. Кажемо, що Я є однонапрямленою хешувальною функцією, якщо виконуються такі умови:
для кожного тексту X легко обчислити Н(Х);
Н(Х) має однакову довжину для всіх текстів X (тому довжина Н(Х) не дає жодної інформації про текст X);
практично неможливо для заданого У знайти таке X, що Н(Х) = Y.
З наведених умов випливає, що послідовність Н(Х) повинна бути досить довгою для того, щоб унеможливити систематичний пошук. Коли значення хешувальної функ-ції складається з 128 біт, то маємо 2128 можливих варіантів.
З метою „нотаріального" підтвердження власності на документ X потрібно об-числити значення функції Н(Х) і опублікувати або розмістити його в нотаріуса. У цьому разі роль нотаріуса може відігравати спеціальна мережева програма. Пізніше, коли треба довести власність на документ X, достатньо навести X і зазначити місце, де раніше помістили значення Н(Х). Підтвердження полягає в обчисленні значення Н(Х) для наведеного тексту X і порівнянні його із попередньо опублікованим або депонова-ним у нотаріуса.
Зазначимо, що описаний метод міг би, наприклад, забезпечити просте засвідчення автентичності комп'ютерних програм.
Історія криптографії
Історія криптографії пов'язана з великою кількістю дипломатичних та військових таємниць і тому оповита туманом легенд. Свій слід в історії криптографії залишило багато відомих історичних осіб. Найповніша книга з історії криптографії містить понад тисячу сторінок. Вона опублікована 1967 р. і українською мовою не перекладена (Kahn David. The Story of Secret Writing. New York: Macmillan, 1967).
Перші відомості про використання шифрів у військовій справі пов'язані з іменем спартанського полководця Лісандра (шифр скитала). Такий шифр використовували спартанці для військових повідомлень під час війни Спарти проти Афін у V ст. до н. є. Скиталою називали дерев'яний валик, на який щільно намотували стрічку пергаменту або шкіри. Повідомлення писали рядками вздовж поверхні валика так, щоб у рядку на один виток стрічки припадала тільки одна буква. Стрічка, знята з валика, містила не-зрозумілу послідовність літер. її можна було прочитати, лише намотавши стрічку на валик такого самого діаметра. Тобто в цьому випадку ключем до прочитання повідом-лення був діаметр валика.
Зазначимо, що шифр скитала, як і шифр частоколу, полягає в перетворенні від-критого тексту в зашифрований шляхом певного переставляння букв відкритого тексту. Тому ці шифри можна класифікувати як шифри перестановки. Інший розглянутий вище шифр - шифр Цезаря, - класифікують як шифр заміни.
Криптоаналіз уперше застосували арабські дослідники. Опис частотного аналізу є в їхніх писемних джерелах початку XV ст.
На початку XVI ст. був запропонований шифр Play-fair (чесна гра; або в іншій модифікації - шифр чотирьох квадратів). Відомий математик Кардано, автор формули для розв'язування кубічного рівняння, запропонував один із варіантів шифру переста-новки. Гомоморфний шифр заміни створив видатний німецький математик Карл Фрідріх Гаусе.
Французький криптограф XVI ст. Блез де Віженер запропонував шифр заміни, який кілька століть уважали надійним. Як одиниці явного тексту він вибрав блоки, скла-дені з k літер. Потім пересував кожний блок на певне "кодове слово" довжини к. Лише в 60-х роках XIX ст. офіцер прусського війська Касискі виявив, що цей шифр можна час-тотно аналізувати.
У роки першої світової війни з'явились подрібнювальні шифри, чи не найвідомішим з яких є шифр ADGVX, що його використовувала німецька армія. Шифр ADGVX є шифром перестановки в поєднанні з шифром підстановки. Цей, для того часу дуже складний, алгоритм розкрив французький криптоаналітик Жорж Пенвен.
У 1917 р. інженери Г.Вернам та М. Моборн із фірми AT&T винайшли шифр одно-разового блокнота для застосування в телетайпному зв'язку. Цей шифр можна вважати узагальненням шифру Віженера на випадок, коли довжина ключа збігається з довжиною тексту. Шифр одноразового блокнота абсолютно надійний, і лише деякі обставини зву-жують сферу його застосування. Зокрема, застосування цього шифру передбачає вико-ристання безпечного каналу зв'язку для обміну довгими ключами шифрування. Назва шифру походить від того, що агент, який виконував шифрування вручну, отримував копії своїх ключів, записані на окремих сторінках блокнота. Як тільки ключ використа-но, сторінку з ним відразу