Смекни!
smekni.com

Криптографічні методи захисту інформації (стр. 6 из 7)

Блок перестановок всього лише змінює положення цифр і є лінійним пристроєм. Цей блок може мати дуже велику кількість входів-виходів, проте в силу лінійності систему не можна вважати криптостійкою. Криптоаналіз ключа для n-розрядного P-блоку проводиться шляхом подачі на вхід n-1 різних повідомлень, кожне з яких складається з n-1 нуля («0») та 1 одиниці («1») (Рис. 1.6).

Рис. 1.6 Принципова схема 8-розрядного P-блоку

Можна показати, що циклічний зсув є окремим випадком P-блоку. У найпростішому випадку (зсув на 1 біт), крайній біт відщеплюється і переміщується на інший кінець регістру або шини. Залежно від того який біт береться, правий чи лівий, зсув називається вправо або вліво. Зрушення на більше число біт можна розглядати, як багаторазове застосування зсуву на 1.


Таблиця1.3

Циклічний зсув на m біт для n-розрядного входу (m <n)

Рис. 1.7 Циклічний зсув вліво на 3 розряди 8-ми бітної шини

Позначення операції - (A + B) mod n - це залишок від ділення суми A + B на n, де A і B - складати числа. Можна показати, що складання двох чисел за модулем n представляється в двійковій системі числення, як S-блок, у якого на вхід подається число A, а в якості системи комутації S-блоку використовується циклічний зсув вліво на B розрядів. У комп'ютерній техніці та електроніці операція додавання, як правило, реалізована як складання по модулю n = 2 m, де m - ціле (зазвичай m одно розрядності машини). Для отримання в двійковій системі A + B mod 2 m досить скласти числа, після чого відкинути розряди починаючи з m-того і старше.

Позначення операції - (A * B) mod n - це залишок від ділення твори A * B на n, де A і B - перемножується числа. У персональних комп'ютерах на платформі x86 при перемножування двох m-розрядних чисел виходить число розрядністю 2 * m. Щоб отримати залишок від ділення на 2 m потрібно відкинути m старших біт. [16][19]

Переваги:

· Простота апаратної реалізації на сучасній електронній базі

· Простота програмної реалізації в силу того, що значна частина функцій підтримується на апаратному рівні у сучасних комп'ютерах (наприклад, складання за модулем 2 , додавання за модулем 2 n, множення за модулем 2 n, і т. д.)

· Гарна вивченість алгоритмів на основі мереж Фейстеля.

Недоліки:

· За один раунд шифрується тільки половина вхідного блоку. [12]

Мережі Фейстеля були широко вивчені криптографами в силу їх великого розповсюдження. У 1988 Майкл Люби (Michael Luby) і Чарльз Ракофф (Charles Rackoff) провели дослідження мережі Фейстеля і довели, що якщо раундовий функція є криптостійкого псевдовипадковою, і використовувані ключі незалежні у кожному раунді, то 3-х раундів буде достатньо для того, щоб блочний шифр був псевдовипадковою перестановкою, тоді як чотирьох раундів буде достатньо для того, щоб зробити сильну псевдовипадкову перестановку.

Псевдовипадковою перестановкою Люби і Ракофф назвали таку, яка стійка до атаки з адаптивним вибором відкритого тексту, а сильною псевдовипадковою перестановкою - псевдовипадкових перест ановку стійку до атаки з використанням обраного шифрованого тексту. [14]

При великому розмірі блоків шифрування (128 біт і більше) реалізація такої мережі Фейстеля на 32-розрядних архітектурах може викликати труднощі, тому застосовуються модифіковані варіанти цієї конструкції (Рис. 1.7). Зазвичай використовуються мережі з 4 гілками. На малюнку показані найбільш поширені модифікації. Також існують схеми, в яких довжини половинок L0 і R0 не співпадають. Вони називаються незбалансованими. [21]

1.3.4 Асиметричне шифрування

Асиметричне шифрування (або криптографічна система з відкритим ключем) - система шифрування та/або електронного цифрового підпису (ЕЦП), при якій відкритий ключ передається з відкритого (тобто незахищеному, доступному для спостереження) каналу, і використовується для перевірки ЕЦП і для шифрування повідомлення. Для генерації ЕЦП і для розшифрування повідомлення використовується секретний ключ. Криптографічні системи з відкритим ключем в даний час широко застосовуються в різних мережевих протоколах, зокрема, в протоколах TLS і його попереднику SSL (що лежать в основі HTTPS), в SSH. Також використовується в PGP, S / MIME. [22]

Рис. 1.7. Модифікації мережі Фейстеля.

Ідея криптографії з відкритим ключем дуже тісно пов'язана з ідеєю односторонніх функцій , тобто таких функцій f (x), що за відомим x досить просто знайти значення f (x), тоді як визначення x з f (x) складно в сенсі теорії.

Але сама одностороння функція марна в застосуванні: нею можна зашифрувати повідомлення, але розшифрувати не можна. Тому криптографія з відкритим ключем використовує односторонні функції з лазівкою. Лазівка - це якийсь секрет, який допомагає розшифрувати. Тобто існує такий y, що знаючи f (x), можна обчислити x. [6]

Схема шифрування з відкритим ключем має наступний вид:

Нехай K - простір ключів, а e і d - ключі шифрування та розшифрування відповідно. E e - функція шифрування для довільного ключа e
K, така що:


E e (m) = c

Тут c

C , де C - простір шифротекстів, а m
M , де M - простір повідомлень.

D d - функція розшифрування, за допомогою якої можна знайти початкове повідомлення m, знаючи шіфротекст c:

D d (c) = m

(E e: e

K } — набір шифрування, а (D d: d
K } — відповідний набір для розшифрування

Кожна пара (E, D) має властивість: знаючи E e, неможливо вирішити рівняння

E e (m) = c,

тобто для даного довільного шифротекста c

C, неможливо знайти повідомлення m
M . Це означає, що з даного e неможливо визначити відповідний ключ розшифрування d. Ee є однобічною функцією, а d - лазівкою. [22]

Нижче показано схема передачі інформації особою А особі В (рис. 1.7).

Рис. 1.8. Cхема передачі інформації особою А особі В.

Початок асиметричним шифру було покладено в роботі «Нові напрямки в сучасній криптографії» Уітфілд Діффі і Мартіна Хеллмана, опублікованій в 1976 році. Перебуваючи під впливом роботи Ральфа Меркле (Ralph Merkle) про поширення відкритого ключа, вони запропонували метод отримання секретних ключів, використовуючи відкритий канал. Цей метод експоненціального обміну ключів, який став відомий як обмін ключами Діффі-Хеллмана, був першим опублікованим практичним методом для встановлення поділу секретного ключа між завіреними користувачами каналу. У 2002 Хеллмана запропонував називати даний алгоритм «Діффі - Хеллмана - Меркле», визнаючи внесок Меркле в винахід криптографії з відкритим ключем. Ця ж схема була розроблена Малькольмом Вільямсоном в 1970-х, але трималася в секреті до 1997. Метод Меркле з розповсюдження відкритого ключа був винайдений в 1974 і опублікований в 1978, його також називають загадкою Меркле. [4]

У 1977 вченими Рональдом Рівестом (Ronald Linn Rivest), Аді Шаміров (Adi Shamir) і Леонардом Адлеманом (Leonard Adleman) з Массачусетського Технологічного Інституту (MIT) був розроблений алгоритм шифрування, заснований на проблемі про розкладанні на множники. Система була названа по перших буквах їх призвіщ. Ця ж система була винайдена Клиффордом Коксом (Clifford Cocks) у 1973, що працював в центрі урядового зв'язку (GCHQ). Але ця робота зберігалася лише у внутрішніх документах центру, тому про її існування було не відомо до 1977. RSA став першим алгоритмом, придатним і для шифрування, і для цифрового підпису. [23]

Алгоритми криптосистеми з відкритим ключем можна використовувати:

· Як самостійні засоби для захисту переданої та збереженої інформації

· Як засоби розподілу ключів. Звичайно за допомогою алгоритмів криптосистем з відкритим ключем розподіляють ключі, малі за об'ємом.. А саму передачу великих інформаційних потоків здійснюють за допомогою інших алгоритмів.

· Як засоби аутентифікації користувачів.

Переваги:

· Перевага асиметричних шифрів перед симетричними шифрами полягає у відсутності необхідності попередньої передачі особистого ключа по надійному каналу.

· У симетричної криптографії ключ тримається в секреті для обох сторін, а в асиметричної криптосистеми тільки один секретний.

· При симетричному шифруванні необхідно оновлювати ключ після кожного факту передачі, тоді як в асиметричних криптосистемах пару (E, D) можна не змінювати значний час.

· У великих мережах число ключів в асиметричної криптосистеми значно менше, ніж у симетричною.

Недоліки:

· Преимущество алгоритма симметричного шифрования над несимметричным заключается в том, что в первый относительно легко внести изменения.

· Хотя сообщения надежно шифруются, но «засвечиваются» получатель и отправитель самим фактом пересылки шифрованного сообщения.

· Несимметричные алгоритмы используют более длинные ключи, чем симметричные. Ниже приведена таблица, сопоставляющая длину ключа симметричного алгоритма с длиной ключа несимметричного алгоритма с аналогичной криптостойкостью (таб. 1.3).

Таблиця 1.3

Довжини симетричних і несиметричних ключів