САНКТ - Петербурзького державного технічного університету b> p>
Факультет технічної кібернетики b> p>
Кафедра інформаційних і керуючих систем b> p>
Реферат b> p>
«Цифровий підпис» b> p>
Студент Барташевич О.Є. p>
Викладач Чистяков І.В. p>
Санкт-Петербург p>
2001 p>
Зміст b> p>
1. асиметричні алгоритми шифрування. 3 p>
1.1. Стандарт ассімметрічного шифрування RSA .. 4 p>
1.1.1. Генерація ключів. 4 p>
1.1.2. Шифрування/розшифрування. 5 p>
1.2. Алгоритм ЕльГамаля. 6 p>
1.2.1. Загальні відомості. 6 p>
1.2.2. Шифрування повідомлень. 6 p>
1.2.3. Підтвердження автентичності відправника. 6 p>
1.3. Алгоритм Шаміра. 7 p>
1.3.1. Загальний опис. 7 p>
1.3.2. Передача повідомлень. 7 p>
1.3.3. Приклад використання. 8 p>
1.4. Кpіптосістеми на основі еліптичних уpавненій. 8 p>
2. Електронно-цифровий підпис. 9 p>
2.1. Загальні положення. 9 p>
3. Алгоритм DSA .. 10 p>
3.1. Генерація ЕЦП .. 11 p>
3.2. Перевірка ЕЦП .. 12 p>
4. Стандарт на процедури ЕЦП ГОСТ Р 34.10-94. 12 p>
4.1. Генерація ЕЦП .. 13 p>
4.2. Перевірка ЕЦП .. 13 p>
5. Цифрові підписи, засновані на симетричних криптосистемах. 13 p>
6. Атаки на ЕЦП .. 22 p>
7. Деякі засоби роботи з ЕЦП .. 23 p>
7.1. PGP. 23 p>
7.2. GNU Privacy Guard (GnuPG) 24 p>
7.3. Криптон. 24 p>
7.4. ВербаО .. 24 p>
8. Література та посилання. 25 p>
1. Асиметричні алгоритми шифрування
Розвиток основних типів криптографічних протоколів (ключовий обмін, електронно-цифровий підпис (ЕЦП), аутентифікація та ін) було
б неможливо без створення відкритих ключів і побудованих на їх основі асиметричних протоколів шифрування. p>
Основна ідея асиметричних криптоалгоритмів полягає в тому, що для шифрування повідомлення використовується один
ключ, а при дешифрування - інший. Крім того, процедура шифрування підготовлений так, що вона необоротна навіть за відомим ключа шифрування - це друга
необхідна умова асиметричної криптографії. Тобто, знаючи ключ шифрування і зашифрований текст, неможливо відновити вихідне повідомлення - прочитати його
можна тільки за допомогою другого ключа - ключа дешифрування. А раз так, то ключ шифрування для відправлення листів будь-якій особі можна взагалі не приховувати - знаючи
його все одно неможливо прочитати зашифроване повідомлення. Тому, ключ шифрування називають в асиметричних системах "відкритим ключем", а от
ключ дешифрування одержувачу повідомлення, потрібно тримати в секреті - він називається "закритим ключем". p>
Таким чином, ми "забрали від необхідності вирішувати складне завдання обміну секретними ключами. p>
Напрошується питання: "Чому, знаючи відкритий ключ, не можна обчислити закритий ключ?" - Це третя необхідна умова асиметричною
криптографії - алгоритми шифрування і дешифрування створюються так, щоб знаючи відкритий ключ, неможливо вирахувати закритий ключ. p>
У цілому система листування при використанні асиметричного шифрування виглядає наступним чином. Для кожного з N абонентів, які ведуть листування, обрана своя пара
ключів:
"відкритий" Ej і "закритий" Dj, де j - номер абонента. Всі відкриті ключі відомі
всім користувачам мережі, кожен закритий ключ, навпаки, зберігається тільки у того абонента, якого він належить. Якщо абонент, скажімо під номером 7,
має намір передати інформацію абоненту під номером 9, він шифрує дані ключем шифрування E9 і відправляє її абоненту
9. Незважаючи на те, що всі користувачі мережі знають ключ E9 і, можливо, мають доступ до каналу, по якому
йде зашифроване послання, вони не можуть прочитати вихідний текст, так як процедура шифрування необоротна з відкритого ключа. І лише абонент № 9,
отримавши послання, виробляє над ним перетворення з допомогою відомого тільки йому ключа D9 і відновлює текст
послання. Зауважте, що якщо повідомлення потрібно відправити у протилежному напрямку (від абонента 9 до абонента 7), то потрібно буде використовувати вже іншу
пару ключів (для шифрування ключ E7, а для дешифрування - ключ D7). p>
Як ми бачимо, по-перше, в асиметричних системах кількість існуючих ключів пов'язано з кількістю абонентів лінійно (у системі з N користувачів
використовуються 2 * N ключів), а не квадратичного, як у симетричних системах. По-друге, при порушенні конфіденційності k-ої робочої станції зловмисник дізнається тільки
ключ Dk: це дозволяє йому читати всі повідомлення, що приходять абоненту k, але не дозволяє
вивадавать себе за нього при відправленні листів. p>
1.1.
Стандарт
ассімметрічного шифрування RSA
Найпоширенішим алгоритмом асиметричного шифрування є алгоритм RSA. Він був запропонований трьома
ісседователямі-математиками Рональдом Рівестом (R. Rivest), Аді Шамір (A. Shamir) та Леонардом Адльманом (L. Adleman) в 1977-78 роках. Розробникам даного алгоритму вдалося ефективно втілити ідею
односторонніх функцій з секретом. Стійкість RSA базується на складності факторизації великих цілих чисел. У 1993 році метод RSA був
оприлюднений і прийнятий як стандарт (PKCS # 1: RSA Encryption standart). RSA можна застосовувати як для шифрування/розшифрування,
так і для генерації/перевірки електронно-цифрового підпису. p>
1.1.1. Генерація ключів
Першим етапом будь-якого асиметричного алгоритму є створення пари ключів: відкритого і
закритого і поширення відкритого ключа "по всьому світу". Для алгоритму RSA етап створення ключів складається з наступних операцій: p>
Вибираються два простих (!) числа p і q p>
обчислюється їх добуток n (= p * q) p>
Вибирається довільне число e (e