Главная страница Случайная страница Разделы сайта АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Введення
МОДЕЛЬ КРИПТОСИСТЕМ З ВIДКРИТИМ КЛЮЧЕМ Виконавець: Студент КН-10 Пiвень В.С. План: Введення
Примітки Введення Криптографічна система з відкритим ключем (або асиметричне шифрування, асиметричний шифр) - система шифрування і / абоелектронного цифрового підпису (ЕЦП), при якій відкритий ключ передається по відкритому (тобто незахищеному, доступному для спостереження) каналу і використовується для перевірки ЕЦП і для шифрування повідомлення. Для генерації ЕЦП і для розшифровки повідомлення використовується секретний ключ. [1] Криптографічні системи з відкритим ключем в даний час широко застосовуються в різних мережевих протоколах, зокрема, в протоколах TLS і його попереднику SSL (що лежать в основі HTTPS), в SSH. Також використовується в PGP, S / MIME. 1. Ідея криптосистеми з відкритим ключем Ідея криптографії з відкритим ключем дуже тісно пов'язана з ідеєю односторонніх функцій, тобто таких функцій , Що за відомим досить просто знайти значення , Тоді як визначення з неможливо за розумний термін. Але сама одностороння функція марна в застосуванні: нею можна зашифрувати повідомлення, але розшифрувати не можна. Тому криптографія з відкритим ключем використовує односторонні функції з лазівкою. Лазівка - це якийсь секрет, який допомагає розшифрувати. Тобто існує такий , Що знаючи і , Можна обчислити . До прикладу, якщо розібрати годинник на безліч складових частин, то дуже складно зібрати знову працюють годинник. Але якщо є інструкція по збірці (лазівка), то можна легко вирішити цю проблему. Зрозуміти ідеї та методи криптографії з відкритим ключем допомагає наступний приклад - зберігання паролів в комп'ютері. Кожен користувач в мережі має свій пароль. При вході він вказує ім'я і вводить секретний пароль. Але якщо зберігати пароль на диску комп'ютера, то хтось його може вважати (особливо легко це зробити адміністратору цього комп'ютера) і отримати доступ до секретної інформації. Для вирішення завдання використовується одностороння функція. При створенні секретного пароля в комп'ютері зберігається не сам пароль, а результат обчислення функції від цього пароля та імені користувача. Наприклад, користувач Аліса придумала пароль " Гладіолус". При збереженні цих даних обчислюється результат функції (ГЛАДІОЛУС), нехай результатом буде рядок РОМАШКА, яка і буде збережена в системі. В результаті файл паролів прийме наступний вигляд:
Вхід в систему тепер виглядає так:
Коли Аліса вводить " секретний" пароль, комп'ютер перевіряє, дає чи ні функція, застосовувана до ГЛАДІОЛУС, правильний результат РОМАШКА, що зберігається на диску комп'ютера. Варто змінити хоча б одну букву в імені або в паролі, і результат функції буде зовсім іншим. " Секретний" пароль не зберігається в комп'ютері ні в якому вигляді. Файл паролів може бути тепер переглянутий іншими користувачами без втрати таємності, так як функція практично необоротна. У попередньому прикладі використовується одностороння функція без лазівки, оскільки не потрібно по зашифрованому повідомленням отримати вихідне. У наступному прикладі розглядається схема з можливістю відновити вихідне повідомлення за допомогою " лазівки", тобто важкодоступній інформації. Для шифрування тексту можна взяти великий абонентський довідник, що складається з декількох товстих томів (по ньому дуже легко знайти номер будь-якого жителя міста, але майже неможливо за відомим номером знайти абонента). Для кожної букви з шифруемого повідомлення вибирається ім'я, що починається на ту ж літеру. Таким чином букві ставиться у відповідність номер телефону абонента. Отправляемое повідомлення, наприклад " КОРОБКА", буде зашифровано наступним чином:
Кріптотексте буде ланцюжок номерів, записаних в порядку їх вибору в довіднику. Щоб утруднити розшифровку, слід вибирати випадкові імена, що починаються на потрібну букву. Таким чином вихідне повідомлення може бути зашифровано безліччю різних списків номерів (кріптотексте). Приклади таких кріптотексте:
Щоб розшифрувати текст, треба мати довідник, складений згідно зростанням номерів. Цей довідник є лазівкою (секрет, який допомагає отримати початковий текст), відомої тільки легальним користувачам. Не маючи на руках копії довідника, криптоаналітик витратить дуже багато часу на розшифровку. 2. Схема шифрування з відкритим ключем Нехай - Простір ключів, а і - Ключі шифрування і розшифрування відповідно. - Функція шифрування для довільного ключа , Така що: Тут , Де - Простір шіфротекста, а , Де - Простір повідомлень. - Функція розшифрування, за допомогою якої можна знайти вихідне повідомлення , Знаючи шіфротекст : { : } - Набір шифрування, а { : } - Відповідний набір для розшифрування. Кожна пара має властивість: знаючи , Неможливо вирішити рівняння , Тобто для даного довільного шіфротекста , Неможливо знайти повідомлення . Це означає, що за даним неможливо визначити відповідний ключ розшифрування . є односторонньою функцією, а - Лазівкою. Нижче показана схема передачі інформації особою А особі В. Вони можуть бути як фізичними особами, так і організаціями і так далі. Але для легшого сприйняття прийнято учасників передачі ототожнювати з людьми, частіше всього іменованими Аліса і Боб. Учасника, який прагне перехопити і розшифрувати повідомлення Аліси і Боба, найчастіше називають Євою. 1. Боб вибирає пару і шле ключ шифрування (Відкритий ключ) Алісі по відкритому каналу, а ключ розшифрування (Таємний ключ) захищений і секрети (він не повинен передаватися по відкритому каналу). 2. Щоб послати повідомлення Бобу, Аліса застосовує функцію шифрування, визначену відкритим ключем : , - полученный шифротекст. 3. Боб расшифровывает шифротекст , применяя обратное преобразование , однозначно определённое значением .
|