47915 (Основи криптографії)

2016-07-31СтудИзба

Описание файла

Документ из архива "Основи криптографії", который расположен в категории "". Всё это находится в предмете "информатика" из , которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "рефераты, доклады и презентации", в предмете "информатика, программирование" в общих файлах.

Онлайн просмотр документа "47915"

Текст из документа "47915"

Міністерство освіти і науки України

Чернівецький національний університет

імені Юрія Федьковича

Факультет комп’ютерних наук

Кафедра комп’ютерних систем та мереж

Реферат

Основи криптографії

2007

Вступ

Під криптографією будемо розуміти область знань, що відноситься до методів і засобів перетворення повідомлень у незрозумілу для сторонніх осіб форму, а також перевірки істинності цих повідомлень. Під криптоаналітикою будемо розуміти засоби і методи, спрямовані на подолання криптографічного захисту. Сукупність криптографії та криптоаналітики називається криптологією. Розшифровуванням будемо називати відновлення вихідного повідомлення при відомому ключі шифрування. Дешифруванням будемо називати процес відновлення вихідного повідомлення при невідомому ключі шифрування. Таким чином, ті, кому призначено шифроване повідомлення його розшифровують, а ті, хто перехоплює його, намагаються дешифрувати.

Клод Шеннон у своїй роботі „Теорія связи в секретных системах” узагальнив накопичений до нього досвід розробки шифрів. Вияснилося, що навіть у дуже складних шифрувальних системах можна виділити в якості складових частин шифри заміни, шифри перестановки та їх комбінації. Деякі відомості про ці прості шифри можна знайти у художній літературі, зокрема „Золотий жук” Едгара По і „Пляшущие человечки” Артура Конан Дойла.

Розглянемо два приклади простих шифрів.

Шифр „Сцитала”. Цей шифр відомо з часів війни Спарти проти Афін у V ст. до н.е. Для його реалізації використовувалась т.зв. „сцитала” – циліндричний жезл певного діаметру. На сциталу намотували вузьку папірусну стрічку і на ній писали повідомлення вздовж осі сцитали. Коли стрічку знімали, на ній залишалися незрозумілі літери. Для розшифровки повідомлення адресат намотував стрічку на такий самий жезл і читав повідомлення. В цьому шифрі перетворення оригінального тексту у шифрований зводиться до перестановки літер оригінального тексту. Тому клас таких шифрів отримав назву шифру перестановки.

Шифр Цезаря. Цей шифр реалізує таке перетворення відкритого тексту: кожна літера замінюється третьою після неї літерою алфавіту, який вважається написаним по колу, тобто після „я” йде „а”. Відмітимо, що Цезарь замінював її третьою літерою, але можна міняти і будь-якою іншою. Головне, щоби адресат цього повідомлення знав величину і напрямок цього зсуву. Клас шифрів, до якого відноситься шифр Цезаря, називається шифрами заміни. З цього, напевне зрозуміло, що створення хорошого шифру є задачею непростою. Тому бажано збільшити час життя шифру, але тут зростає імовірність того, що криптоаналітики противника зможуть розкрити шифр і читати зашифровані повідомлення. Якщо у шифрі є змінний „ключ”, то його заміна призводить до того, що розроблені противником методи вже не дадуть ефекту. Під ключем будемо розуміти змінний елемент шифру, який застосовується для шифрування конкретного повідомлення. Наприклад, у шифрі сцитала ключем є діаметр жезлу, а у шифрі Цезаря – величина і напрямок зсуву літер шифротексту відносно літер відкритого. Описані міркування призвели до того, що безпека повідомлень, що шифруються, в першу чергу стала забезпечуватися ключем. Сам шифр, шифромашина або принцип шифрування прийнято вважати відомими суперникові і доступними для попереднього вивчення, але у шифрі з’явився невідомий елемент –ключ, від якого істотно залежать застосовувані перетворення інформації. Тепер користувачі, перш ніж обмінятися шифрованими повідомленнями, повинні обмінятися ключем, за допомогою якого можна прочитати зашифроване повідомлення. А для криптоаналітиків, які хочуть прочитати перехоплене повідомлення, основною задачею є знаходження ключа.

Принципи частотного крипто аналізу

Встановлено, що в будь-якій мові літери абетки зустрічаються нерівномірно. Якщо взяти достатньо великий текст (порядку мільйона символів) загального змісту та підрахувати частоту, з якою кожна літера абетки зустрічається в цьому тексті, ми побачимо, що найчастіше в українських текстах зустрічається літера „О” (0.082), а в російських та англійських – „Е” (0.071 та 0.12 відповідно). Звичайно, в залежності від тематики текстів, частотні характеристики його змінюються, але тенденція залишається незмінною. На цьому факті ґрунтується метод частотного криптоаналізу. Якщо метод шифрування „перехопленої шифровки” не приховує частотних особливостей мови (а саме таким і є шифр Цезаря), то криптоаналітики виконують наступні дії:

  1. Підраховують відносні частоти, з якими кожна літера абетки зустрічається в „перехопленому” повідомленні. Робиться це за формулою: частота=кількість/довжина; де кількість – скільки разів літера зустрічається в повідомленні; довжина – кількість літер в повідомленні.

  2. Літеру з найбільшою відносною частотою ототожнюють з літерою, яка має найбільшу частоту в таблиці.

  3. Визначають величину зсуву.

  4. Пробують дешифрувати повідомлення з визначеною в п.3 величиною зсуву. Якщо отримано логічний зв‘язний текст, повідомлення вважається дешифрованим. Якщо зв‘язного тексту не отримано, процедуру продовжують.

  5. Літеру з найбільшою відносною частотою ототожнюють з літерою, яка має другу найбільшу частоту в таблиці.

  6. Пробують дешифрувати повідомлення, перебираючи частотну таблицю, поки не отримують зв‘язного тексту.

Цим методом Вам необхідно користуватися для криптоаналізу в цій лабораторній роботі.

Криптографічна система RSA (Rivest, Shamir, Adleman), запропонована Рівестом, Шаміром і Едлеманом, належить до криптографічних систем з відкритим ключем. Її стійкість обумовлена великими проблемами при знаходженні розкладання великих простих чисел на множники.

Для того, щоби організувати передачу шифрованих повідомлень за допомогою криптосистеми RSA, необхідно зробити наступне:

  1. За допомогою спеціальних алгоритмів згенерувати два великих простих числа p і q, які необхідно тримати у тайні.

  2. Повідомити відправнику повідомлень (або розмістити у відкритому каталозі) число n=pq, а також випадкове ціле число Е, взаємно просте з добутком (p-1)(q-1).

  3. Для розшифровки повідомлень, зашифрованих на відкритому ключі n, E, отримувачу необхідно мати число D, яке є мультиплікативним оберненим числа Е за модулем (p-1)(q-1), тобто DЕ=1 mod(p-1)(q-1). Знайти таке число дуже просто, оскільки найбільший спільний дільник Е і (p-1)(q-1) якраз і рівний одиниці за вибором Е.

Таким чином, відправник знає свій закритий ключ, n, E, а отримувач, крім того, знає ще свій секретний ключ D.

Довільне відкрите повідомлення можна уявити у вигляді послідовності цілих чисел з деякого інтервалу. Будемо вважати, що відправник передає секретне повідомлення у вигляді X1,…,Xn 0<Xi<n-1, для всіх і від 1 до k.

Відправник для кожного блоку Xi вираховує

Ci=( XiE) mod n (1)

і передає Ci відкритим каналом зв’язку.

Маючи n, E і Ci, отримувач може розшифрувати повідомлення, використовуючи співвідношення

Xi=(CiD) mod n. (2)

Розглянемо в якості прикладу випадок p=3, q=11, n=3x11=33, E=7, D=3. Легко переконатися, що кожне з чисел E=7 і DE=21 взаємно прості з (p-1)(q-1)=20. Для передачі повідомлення М=”02” відправнику треба обчислити C=(27) mod 33=29. Отримувач може розшифрувати повідомлення за допомогою такої операції: X=293 mod 33=2. =2. Якщо ж ми маємо текстове повідомлення, алфавіт якого пронумеровано від 00 до 32 (з пробілом), тоді можна зашифрувати довільне повідомлення російською мовою. Наприклад, якщо ми маємо повідомлення „ПРОВЕРИМ ЗНАНИЕ АРИФМЕТИКИ”, то у зашифрованому вигляді на ключі n=33, E=7 воно буде мати вигляд:

27 25 20 29 14 25 02 12 32 28 07 00 07 02 14 32 00 25 02 26 12 14 06 02 10 02

Зрозуміло, що шифром в даному випадку є шифр простої заміни за табл. 1.

Таблиця 1. Таблиця заміни при шифруванні.

А

Б

В

Г

Д

Е

Ж

З

И

Й

К

Л

М

Н

О

П

Р

С

00

01

02

03

04

05

06

07

08

09

10

11

12

13

14

15

16

17

Т

У

Ф

Х

Ц

Ч

Ш

Щ

Ъ

Ы

Ь

Э

Ю

Я

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

Одним з відомих алгоритмів дешифрування системи RSA є метод ітерацій. Згідно з ним вихідне повідомлення можна отримати з шифрованого повторним шифруванням доти поки не отримаємо відкритий текст.

Приклад 1. Нехай р=383, q= 563, n=215629, E=49. В цьому випадку відкритий текст повністю отримується уже через 10 ітерацій повторного шифрування. Щоби в цьому впевнитися, достатньо довести, що 4910=1 mod (p-1)(q-1). Виконання цієї рівності можна перевірити навіть на калькуляторі: (494=5764801 -> 494=183017 mod 214684 … 499=56957 mod 214684 -> 4910= 1 mod 214684).

Інший метод атаки на шифр RSA – метод розкриття чисел p і q. Справа в тому, що n=pq (як і самі ці числа p і q) повинні бути досить великими, щоби розкласти його на множники було дуже складно (в цьому і полягає складність цього алгоритму шифрування). Бажано, щоби p і q вибиралися випадковим чином і не були „дуже близькими” одне до одного. Покажемо, яким чином можна використати близькість значень p і q. Будемо вважати, що p > q (що не накладає зайвих обмежень). Тоді для величин x=( p + q)/2, y=( pq)/2 справедливе співвідношення: x2-y2=n. Перебираючи у порядку зростання варіанти x > , легко знайти розв’язок рівняння x2-y2=n, так як x=( p + q)/2 буде близьким до у випадку близькості p і q.

Приклад 2. Нехай n=pq=851. Використаємо описаний спосіб для знаходження p і q. Так як =29.17, беремо x=30 і обчислюємо 302-851=49 і з першої спроби знаходимо розв’язок x=30 і y=7. Таким чином, p=30+7=37, q=30-7=23.

Крім вказаних обмежень на p, q, E, D накладаються й інші обмеження.

Система шифрування RSA може бути застосована для цифрового підпису. У випадку підпису повідомлення М відправник обчислює P=ME mod n. Отримувач, який має М та Р, перевіряє справедливість співвідношення РD=М mod n і впевнюється у справжності повідомлення М.

Приклад 3. Нехай p=3, q=11, n=3x11=33, E=7, D=3. Тоді відправник повідомлення М=”02” обчислює цифровий підпис Р=27 mod 33=29 і відправляє повідомлення „02, 29” отримувачу. Той, в свою чергу, перевіряє справжність повідомлення „02”, обчисливши М=(293) mod 33=2.

Насправді підписують не саме повідомлення, а його т.зв. хеш-функцію. Спочатку оригінальне повідомлення обробляється деякою функцією, яка має таку властивість, що приймає на вході рядки різної довжини, а на виході видає деякий „дайджест”, як правило, однакової і меншої, ніж вхідна, довжини. Хеш-функція виконує математичні обчислення, у результаті яких обчислюється значення хеш-функції. Хеш-функція може бути дуже простою. Наприклад, вона може виконати підсумовування всіх одиниць двійкового коду, або додати значення кодів всіх літер рядка, що обробляється (т.зв. контрольна сума) і т.д. Головне полягає в тому, що значення хеш-функції повинно залежати від усього вхідного рядка, щоби не можна було (в крайньому разі було б дуже важко) підібрати два різних вхідних рядки з однаковим значенням хеш-функції. Якщо таке трапляється, то кажуть що виникла колізія. Ми будемо користуватися найпростішою хеш-функцією, яка дуже недосконала і може викликати значні колізії. Однак, вона дуже проста і не потребує витрат машинного часу, а також складного програмування. Ця функція просто сумує всі значення символів за табл. 1 за модулем 33:

H(M)= (3)

До отриманого таким чином числа застосовують алгоритм прикладу 3, отримуючи, таким чином, зашифрований цифровий підпис. Отримувач, маючи повідомлення і цифровий підпис, розшифровує текст повідомлення, знаходить хеш-функцію від нього за формулою (3), розшифровує цифровий підпис, і порівнює отримані значення. Якщо вони однакові, повідомлення і цифровий підпис є істинними.

Проблема адміністрування криптографічними ключами вважається основним недоліком симетричних криптоалгоритмів. Цю проблему можна вирішити за допомогою асиметричної криптографії, тобто взагалі не використовувати симетричні криптоалгоритми. Однак такий підхід вважають нераціональним, оскільки асиметричні алгоритми працюють значно повільніше за симетричні і не можуть використовуватися у ряді важливих криптографічних застосувань. Іншим способом розповсюдження ключів є специфічні алгоритми, розроблені спеціально для таких застосувань. Одним з таких алгоритмів відкритого розповсюдження ключів є алгоритм Діффі-Хеллмана. Нехай учасники інформаційного обміну, сторони А і В, домовилися використати цей алгоритм для обміну ключами. Для цього необхідно виконати наступні обчислення. Спочатку А і В обирають велике просте число р, модуль системи. Для цього числа р обирають первісний корінь а. Числа р і а відкрито передають по каналах зв‘язку, так щоб їх мали обидві сторони.

Далі виконується наступний протокол:

    1. А генерує ціле велике випадкове число х і відправляє В число:

;

Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5166
Авторов
на СтудИзбе
437
Средний доход
с одного платного файла
Обучение Подробнее