на тему рефераты Информационно-образоательный портал
Рефераты, курсовые, дипломы, научные работы,
на тему рефераты
на тему рефераты
МЕНЮ|
на тему рефераты
поиск
Криптографічні методи захисту інформац
p align="left">У 1971 Хорст Фейстель (Horst Feistel) запатентував два пристрої, які реалізували різні алгоритми шифрування, названі потім загальною назвою «Люцифер» (Lucifer). Одне з пристроїв використовувало конструкцію, згодом названу «мережею Фейстеля» («Feistel cipher», «Feistel network»). Робота над створенням нових криптосистем велася ним у стінах IBM разом з Доном Копперсмітом (Don Coppersmith). Проект «Люцифер» був скоріше експериментальним, але став базисом для алгоритму Data Encryption Standard (DES). У 1973 Хорст Фейстель в журналі Scientific American опублікував статтю «Криптографія і Комп'ютерна безпека» [1] [2] («Cryptography and Computer Privacy»), в якій розкрив ряд важливих аспектів шифрування і привів опис першої версії проекту «Люцифер» , не використала мережу Фейстеля. У 1977 DES став стандартом у США на шифрування даних, і до останнього часу широко використовувався в криптографічних системах. Ітеративний структура алгоритму дозволяла спростити його реалізацію у програмних і апаратних середовищах. Згідно з деякими даними вже в 1970-і роки в КДБ (СРСР) розроблявся блоковий шифр, що використав мережу Фейстеля і, ймовірно, саме він пізніше був прийнятий як ГОСТ 28147-89 в 1990 році. [14]

У 1987 були розроблені алгоритми FEAL і RC2 . Широке поширення мережі Фейстеля отримали в 1990-і роки, коли з'явилися такі алгоритми, як: Blowfish, CAST-128, TEA, XTEA, XXTEA, RC5, RC6 та ін.

Розглянемо випадок, коли ми хочемо зашифрувати деяку інформацію, представлену в двійковому вигляді в комп'ютерної пам'яті (наприклад, файл ) або електроніці, як послідовність нулів і одиниць (рис. 1.3).

· Вся інформація розбивається на блоки фіксованої довжини. У разі, якщо довжина вхідного блоку менше, ніж розмір, який шифрується заданим алгоритмом, то блок подовжується будь-яким способом. Як правило довжина блоку є ступенем двійки, наприклад: 64 біта, 128 біт. Далі будемо розглядати операції відбуваються тільки з одним блоком, тому що з іншими в процесі шифрування виконуються ті ж самі операції.

· Обраний блок ділиться на два рівних подблока - «лівий» (L0) і «правий» (R0).

· «Лівий подблок» L0 видозмінюється функцією f (L0, K0) залежно від раундового ключа K0, після чого він складається за модулем 2 з «правим подблоком» R0.

· Результат складання присвоюється новому лівому подблоку L1, який буде половиною вхідних даних для наступного раунду, а «лівий подблок» L 0 присвоюється без змін новому правому подблоку R 1 (див. схему), який буде іншою половиною.

· Після чого операція повторюється N-1 раз, при цьому при переході від одного етапу до іншого змінюються раундовий ключі (K0 на K1 і т. д.) за будь-яким математичному правилом, де N - кількість раундів в заданому алгоритмі.

· Розшифровка інформації відбувається так само, як і шифрування, з тим лише виключенням, що ключі ідуть у зворотному порядку, тобто не від першого до N-го, а від N-го до першого (рис. 1.4).

Рис. 1.3 Шифрування

Рис. 1.4 Розшифрування

Конструкцію Фейстеля можна описати так:

· блок відкритого тексту ділиться на 2 рівні частини

· в кожному раунді обчислюється ( -- номер раунду)

,

де f - деяка функція, а K i - 1 ключ i-го раунду.

Результатом виконання n раундів є . Але зазвичай в n-му раунді перестановка L n і R n не проводиться, що дозволяє використовувати ту ж процедуру і для розшифрування, просто інвертувати порядок використання раундової ключової інформації:

,

Невеликою зміною можна добитися і повної ідентичності процедур шифрування і дешифрування. Одна з переваг такої моделі - оборотність алгоритму незалежно від використовуваної функції f, і вона може бути як завгодно складною.

Математичний опис опис полягає в наступному. Інволюція - взаємно-однозначне перетворення, яке є зворотним самому собі. Розглянемо на прикладі: Нехай X - вхідний блок, а A - деякий інволютивно перетворення, Y - результат. При одноразовому застосуванні перетворення до вхідного блоку вийде: Y = A X, при застосуванні перетворення до результату попереднього перетворення вийде:

.

Нехай вхідний блок X = (L, R) складається з двох підблоків (L і R) однакової довжини. Визначимо два перетворення

(шифрування ключем K) і T (L, R) = (R, L) (перестановкапідблоків). Введемо позначення:

Доведемо їх інволютивно:

1. Нескладно помітити, що перетворення G міняє лише лівий підблок L, залишаючи правий R незмінним. Тому далі будемо розглядати тільки підблок L. Після того як перетворення G буде двічі застосовано до L отримаємо:

2.

Таким чином G2 X = X, отже G - інволюція.

3. T2 X = T 2 (L,R) = T (R,L) = (L,R ) = X.

Розглянемо сам процес шифрування. Визначимо X як вхідний значення. Нехай Gi - перетворення з ключем Ki, а Yi - вихідне значення після i-го раунду. Тоді перетворення на i +1- му раунді можна записати у вигляді

Yi+1 = T Gi Yi,

крім першого, де

Y1 = T G1 X

Отже, вихідне значення після m раундів шифрування буде

.

Можна помітити, що на останньому етапі не обов'язково виконувати перестановку T.

Розшифрування ведеться застосуванням всіх перетворень у зворотному порядку. У силу інволютивно кожного з перетворень зворотний порядок дає вихідний результат:

[16]

У своїй роботі «Криптографія і Комп'ютерна безпека» Хорст Фейстель описує два різних блоку перетворень (функцій ) -- блок підстановок (S-блок) та блок перестановок (P-блок). Можна показати, що будь-яке бінарне перетворення над двійковим блоком фіксованої довжини, зводяться до S-блоку, але на практиці в силу складності будови n-розрядного S-блоку при великих n, застосовують більш прості конструкції. Термін «блок» в оригінальній статті використовується замість функції внаслідок того, що мова йде про блокове шифрі і передбачалося, що S-і P-блоки будуть цифровими мікросхемами (цифровими блоками).

Блок підстановок (S-блок) складається з дешифратора, що перетворює n-розрядний двійковий сигнал у однорозрядної сигнал по підставі 2n, системи комутаторів внутрішніх з'єднань (усього з'єднань 2n!) і шифратора , переводить сигнал з однорозрядною 2n-річно в n- розрядний двійковий. Аналіз n-розрядного S-блоку при великому n вкрай складний, проте реалізувати такий блок на практиці дуже складно, так як число можливих з'єднань вкрай велике (2n!). На практиці блок підстановок використовується як частина більш складних систем (Рис. 1.5).

У загальному випадку S-блок може мати неспівпадаючі число входів/виходів, в цьому випадку в системі комутації від кожного виходу дешифратора може йти не строго одне з'єднання, а 2 або більше чи не йти зовсім. Те ж саме справедливо і для входів шифратора. [14]

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

В електроніці можна безпосередньо застосовувати наведену схему, в програмуванні ж генерують таблиці заміни. Обидва цих підходу є еквівалентними, тобто файл, зашифрований на комп'ютері, можна розшифрувати на електронному пристрої і навпаки. [21]

Таблиця 1.2

Заміни для наведеного 3-розрядного S-блоку

Блок перестановок всього лише змінює положення цифр і є лінійним пристроєм. Цей блок може мати дуже велику кількість входів-виходів, проте в силу лінійності систему не можна вважати криптостійкою. Криптоаналіз ключа для 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

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

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

· В чистом виде асимметричные криптосистемы требуют существенно больших вычислительных ресурсов. [9][6][22]

1.4 Проблеми і перспективи криптографії

Список використаних джерел

1. Указ Президента України від 22 травня 1998 року N 505/98«Про Положення про порядок здійснення криптографічного захисту інформації в Україні». Перевірено 2009-06-12.

2. Соболева Т.А. Введение // История шифровального дела в России. -- М.: ОЛМА-ПРЕСС Образование, 2002. -- 512 с. -- (Досье). -- 5 000 экз. -- ISBN 5-224-03634-8

3. Павел Исаев. Некоторые алгоритмы ручного шифрования (рус.) // КомпьютерПресс. -- 2003. -- В. 3.

4. Жельников В. Появление шифров // Кpиптогpафия от папиpуса до компьютеpа. -- М.: ABF, 1996. -- 335 с. -- ISBN 5-87484-054-0

5. Шнайер Б. Прикладная криптография. Протоколы, алгоритмы, исходные тексты на языке Си = Applied Cryptography. Protocols, Algorithms and Source Code in C. -- М.: Триумф, 2002. -- 816 с. -- 3000 экз. -- ISBN 5-89392-055-4 (http://www.ssl.stu.neva.ru/psw/crypto/appl_ rus/appl_cryp.htm)

6. Саломаа А. Криптография с открытым ключом.

7. PGP. Распределение ключей. (http://www.re.mipt.ru/infsec/2004/essay/2004_PGP_Keys_Web_of_Trust_Lukjanchenko.htm)

8. Принцип достаточной защиты. (http://pmi.ulstu.ru/new_project/telecommunication/redar.htm)

9. Баричев С. Криптографія без секретов. с. 20

10. А.П. Алферов, А.Ю. Зубов, А.С. Кузьмин, А.В. Черемушкин Основы криптографии.

11. Семенов Ю.А. Алгоритм DES. (http://book.itep.ru/6/des_641.htm)

12. Венбо Мао Современная криптография. Теория и практика = Modern Cryptography: Theory and Practice. -- М.: Вильямс, 2005. -- 768 с. -- 2 000 экз. -- ISBN 5-8459-0847-7, ISBN 0-13-066943-1

13. Нильс Фергюсон, Брюс Шнайер Практическая криптография = Practical Cryptography: Designing and Implementing Secure Cryptographic Systems. -- М.: «Диалектика», 2004. -- 432 с. -- 3 000 экз. -- ISBN 5-8459-0733-0, ISBN 0-4712-2357-3

14. Хорст Файстель. Криптография и компьютерная безопасность. Перевод Андрея Винокурова

15. А. Винокуров. Алгоритм шифрования ГОСТ 28147-89, его использование и реализация для компьютеров платформы Intel x86

16. ДИСКРЕТНАЯ МАТЕМАТИКА: АЛГОРИТМЫ. Симметричные системы и блочные шифры

17. Журнал Byte. № 8 (60), август 2003. Современные алгоритмы шифрования, Сергей Панасенко

18. Баричев С.Г., Гончаров В.В., Серов Р.Е. Основы современной криптографии. -- М.: Горячая линия -- Телеком, 2002. -- 175 с. -- (Специальность. Для высших учебных заведений). -- 3000 экз. -- ISBN 5-93517-075-2

19. Коркішко Т., Мельник А. Алгоримти та процесори симетричного блокового шифрування. - Львів, БаК, 2003.-163 с.

20. http://uk.wikipedia.org/wiki/Криптографія

21. http://uk.wikipedia.org/wiki/Симетричні_алгоритми_шифрування

22. http://ru.wikipedia.org/wiki/Криптосистема_с_открытым_ключом

23. http://ru.wikipedia.org/wiki/RSA

24. http://ru.wikipedia.org/wiki/DES

25. Міністерство освіти і науки України, Одеський національний політехнічний університет, лекцій до дисципліни «Захист інформації», Укладач Ю.С.Ямпольський,Одеса, ОНПУ, 2002 р.

26. Плани-конспекти

27. Захист даних лекції

Страницы: 1, 2, 3, 4



© 2003-2013
Рефераты бесплатно, курсовые, рефераты биология, большая бибилиотека рефератов, дипломы, научные работы, рефераты право, рефераты, рефераты скачать, рефераты литература, курсовые работы, реферат, доклады, рефераты медицина, рефераты на тему, сочинения, реферат бесплатно, рефераты авиация, рефераты психология, рефераты математика, рефераты кулинария, рефераты логистика, рефераты анатомия, рефераты маркетинг, рефераты релиния, рефераты социология, рефераты менеджемент.