Шифрування текстів. Шифр Цезаря

Про матеріал
Проблема захисту інформації шляхом її перетворення, що виключає її прочитання стороннім обличчям, хвилювала людський розум із давніх-давен. Як тільки люди навчилися писати, у них одразу з'явилося бажання зробити написане зрозумілим не всім, а лише вузькому колу. Навіть у найдавніших пам'ятниках писемності вчені знаходять ознаки навмисного спотворення текстів. Гіпотеза: Шифри можна використовувати для зашифровування інформації, яка зрозуміла лише вузькому колу людей за допомогою математичних методів.
Перегляд файлу

1

 

 

 

 

 

 

 

 

 

 

 

Посібник

 

 

«Шифрування текстів»

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Зміст

 

  1.               Вступ
  2.               Теоретична частина

2.1 Шифр та типи шифрів

2.2 Симетричні шифри

2.3 Ассиметричні шифри

2.4 Блоковий шифр

2.5 Поточний шифр

2.6 Шифр Цезаря

  1.               Практична частина

3.1 Застосування однієї з математичних методів з прикладу шифру Цезаря

3.2 Застосування однієї з математичних методів з прикладу Ассиметричного шифру

  1.               Висновки

Список літератури

 


1. Вступ

 

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

Гіпотеза: Шифри можна використовувати для зашифровування інформації, яка зрозуміла лише вузькому колу людей за допомогою математичних методів.

Зв'язок шифрів та математики дуже близька.

Мета: з'ясувати, у чому полягає зв'язок шифрів та математики.

Завдання:

  1.               Вивчити літературу, енциклопедичні сайти із шифрів.
  2.               Аналізувати отриману інформацію.
  3.               Попрактикуватись у шифруванні.
  4.               Зробити висновок.

Методи дослідження:

1. Вивчення інформації.

2. Порівняння.

3. Практична робота.


2. Теоретична частина

2.1 Шифр

 

Шифр (від араб. صِفْر ‎‎, ṣifr «нуль», звідки фр. chiffre «цифра»; споріднене з словом цифра), код – сукупність алгоритмів криптографічних перетворень (шифрування), що відображають безліч можливих відкритих даних на безліч можливих зашифрованих їм перетворень. Важливим параметром будь-якого шифру є ключ – параметр криптографічного алгоритму, що забезпечує вибір одного перетворення із сукупності перетворень, можливих для цього алгоритму. У сучасній криптографії передбачається, що вся секретність криптографічного алгоритму зосереджена ключі, але з деталях самого алгоритму (принцип Керкгоффса).

Типи шифрів

Шифри можуть використовувати один ключ для шифрування та дешифрування або два різні ключі. За цією ознакою розрізняють:

Симетричний шифр використовує один ключ для шифрування та дешифрування.

Асиметричний шифр використовує два різні ключі.

Шифри можуть бути сконструйовані так, щоб шифрувати відразу весь текст, або шифрувати його в міру надходження. Таким чином існують:

Блоковий шифр шифрує відразу блок тексту, видаючи шифротекст після отримання всієї інформації.

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

Природно, що блоковий шифр можна перетворити на потоковий, розбиваючи вхідні дані на окремі блоки і шифруючи їх окремо.

Також існують не використовувані зараз підстановочні шифри, що мають у своїй більшості слабку криптостійкість.

 

2.2 Симетричні шифри

 

Симетричні шифри - спосіб шифрування, в якому для шифрування та розшифровування застосовується той самий криптографічний ключ.

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

Класичним прикладом таких алгоритмів є симетричні криптографічні алгоритми, наведені нижче:

  •                 Проста перестановка
  •                 Поодинока перестановка по ключу
  •                 Подвійна перестановка

Проста перестановка

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

Поодинока перестановка по ключу

Більш практичний метод шифрування, званий одиночною перестановкою по ключу, дуже схожий на попередній. Він відрізняється лише тим, що колонки таблиці переставляються за ключовим словом, фразою або набором чисел завдовжки рядок таблиці.

Подвійна перестановка

Для додаткової скритності можна повторно шифрувати повідомлення, яке вже було зашифровано. Цей спосіб відомий за назвою подвійна перестановка. Для цього розмір другої таблиці підбирають так, щоб довжини її рядків та стовпців були інші, ніж у першій таблиці. Найкраще, якщо вони будуть взаємно простими. Крім того, в першій таблиці можна переставляти стовпці, а в другому рядку.

Переваги:

  •                 швидкість (за даними Applied Cryptography - на 3 порядки вище)
  •                 простота реалізації (за рахунок більш простих операцій)
  •                 менша необхідна довжина ключа для порівнянної стійкості
  •                 вивченість (за рахунок більшого віку)

Недоліки:

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

 

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

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

Ідея криптосистеми із відкритим ключем.

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

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

Наприклад:

Розглядається схема з можливістю відновити вихідне повідомлення за допомогою лазівки, тобто важкодоступної інформації. Для шифрування тексту можна взяти великий абонентський довідник, що складається з кількох товстих томів (за ним дуже легко знайти номер будь-якого мешканця міста, але майже неможливо за відомим номером знайти абонента). Для кожної літери з повідомлення, що шифрується, вибирається ім'я, що починається на ту ж літеру. Таким чином, літері ставиться у відповідність номер телефону абонента. Повідомлення, що надсилається, наприклад «КОРОБКА», буде зашифровано наступним чином:

 

Повідомлення

Вибране ім'я 

Криптотекст

До

Корольов

5643452

Про

Оріхів

3572651

Р

Рузаєва

4673956

Про

Осипов

3517289

Б

Батурін

7755628

До

Кірсанова

1235267

А

Арсеньєва

8492746

 

Криптотекстом буде ланцюжок номерів, записаних у порядку їх вибору у довіднику. Щоб ускладнити розшифровку, слід вибирати випадкові імена, що починаються на потрібну букву. Таким чином, вихідне повідомлення може бути зашифровано множиною різних списків номерів (криптотекстів).

Наукова база.

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

Основні принципи побудови криптосистем із відкритим ключем

Починаємо з важкої задачі P. Вона повинна вирішуватися складно в сенсі теорії: не повинно бути алгоритму, за допомогою якого можна було б перебрати всі варіанти розв'язання задачі за поліноміальний час щодо розміру задачі. Правильніше сказати: не повинно бути відомого поліноміального алгоритму, що вирішує дану задачу – оскільки для жодного завдання ще не доведено, що для нього відповідного алгоритму немає в принципі.

Можна виділити легке підзавдання P' з P. Вона повинна вирішуватися за поліноміальний час, краще, якщо за лінійний.

«Перекладуємо і збовтуємо» P', щоб отримати завдання P'', зовсім не схожу на початкову. Завдання P'', принаймні, має виглядати як оригінальне завдання P., яке важко вирішувати.

P'' відкривається з описом, як вона може бути використана як ключ зашифрування. Як з P''отримати P', тримається в секреті як секретна лазівка.

Криптосистема організована так, що алгоритми розшифрування для легального користувача та криптоаналітика суттєво різні. У той час як другий вирішує P'' задачу, перший використовує секретну лазівку і вирішує P' задачу.

Особливості системи

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

Недоліки

  •                 Перевага алгоритму симетричного шифрування над несиметричним у тому, що у відносно легко внести зміни.
  •                 Хоча повідомлення надійно шифруються, але "засвічуються" одержувач і відправник самим фактом пересилання шифрованого повідомлення.
  •                 Несиметричні алгоритми використовують довші ключі, ніж симетричні.

 

2.4 Блоковий шифр

Блоковий шифр – різновид симетричного шифру. Особливістю блокового шифру є обробка блоку декількох байт за одну ітерацію (як правило 8 або 16). Блокові криптосистеми розбивають текст повідомлення на окремі блоки і здійснюють перетворення цих блоків з використанням ключа.

Перетворення має використовувати такі принципи:

  •                 Розсіювання (diffusion) – тобто зміна будь-якого знака відкритого тексту чи ключа впливає велика кількість знаків шифротекста, що приховує статистичні властивості відкритого тексту;
  •                 Перемішування (confusion) - використання перетворень, що ускладнюють отримання статистичних залежностей між шифротектстом та відкритим текстом.

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

Основна ідея

Блоковий шифр складається з двох взаємопов'язаних алгоритмів: алгоритм шифрування E-1. шифрування для будь-якого блоку M та ключа K.

Для будь-якого ключа K, EK є біологічною функцією (перестановкою) на безлічі n-бітних блоків.

Розмір блоку n - це фіксований параметр блочного шифру, зазвичай рівний 64 або 128 біт, хоча деякі шифри допускають кілька різних значень. Довжина 64 біта була прийнятна до середини 90-х років, потім використовувалася довжина 128 біт, що відповідає розміру машинного слова і дозволяє ефективну реалізацію на більшості поширених обчислювальних платформах. Різні схеми шифрування дають змогу зашифровувати відкритий текст довільної довжини. Кожна має певні характеристики: ймовірність помилки, простота доступу, вразливість до атак. Типовими розміром ключа є 40, 56, 64, 80, 128, 192 і 256 біт. У 2006 г. 80-бітний ключ здатний був запобігти атакі грубою силою.

Режими роботи блокового шифру

Найпростішим режимом роботи блокового шифру є ECB (Electronic CodeBook (англ.) - Режим простої заміни або електронної кодової книги), де всі блоки відкритого тексту зашифровуються незалежно один від одного. Однак, при використанні цього режиму статистичні властивості відкритих даних частково зберігаються, тому що кожному однаковому блоку однозначно відповідає зашифрований блок даних. При великій кількості даних (наприклад, відео або звук) це може призвести до витоку інформації про їх зміст і дати більший простір криптоаналізу. Видалення статистичних залежностей у відкритому тексті можливе за допомогою попереднього архівування, але воно не вирішує завдання повністю, тому що у файлі залишається службова інформація архіватора, що не допустимо.

Аналогічна проблема виникає при формуванні та перетворенні «хвостового» блоку даних. Так як дані можуть бути будь-якої довжини, а блоковий шифр вимагає дані кратні довжині блоку, то "хвостовий" блок даних часто доводиться штучно доповнювати до необхідного розміру. При цьому, наприклад, заповнення хвоста однаковими символами полегшує атаку за відомим відкритим текстом. Однак проблема легко вирішується заповненням випадкових вмістом (наприклад, з використанням ДПСЧ)

Принциповим вирішенням описаних проблем є гамування даних та використання контекстно-залежних режимів шифрування.

шифр криптосистема ключ

2.5 Поточні шифри

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

Класифікація потокових шифрів

Припустимо, наприклад, що в режимі гамування для потокових шифрів під час передачі каналом зв'язку сталося спотворення одного знака шифротексту. Вочевидь, що у разі всі знаки, прийняті без спотворення, будуть розшифровані правильно. Відбудеться втрата лише одного символу тексту. А тепер уявімо, що один із знаків шифротексту під час передачі каналом зв'язку було втрачено. Це спричинить неправильне розшифрування всього тексту, який слідує за втраченим знаком.

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

 

Синхронні потокові шифри

Синхронні потокові шифри (СПШ) – шифри, у яких потік ключів генерується незалежно від тексту та шифротексту.

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

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

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

Плюси СПШ:

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

Мінуси СПШ:

  •                 вразливі до зміни окремих бітів шифрованого тексту. Якщо зловмиснику відомий відкритий текст, він може змінити ці біти так, щоб вони розшифровувалися як йому треба.

Поточні шифри, що самосинхронізуються.

Поточні шифри, що самосинхронізуються (асинхронні потокові шифри (АПШ)) – шифри, в яких потік ключів створюється функцією ключа і фіксованого числа знаків шифротексту.

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

Реалізація цього режиму відбувається так: кожне повідомлення починається випадковим заголовком довжиною N бітів; заголовок шифрується, передається та розшифровується; розшифровка є неправильною, зате після цих N біт обидва генератори будуть синхронізовані.

Плюси АПШ:

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

Мінуси АПШ:

  •                 поширення помилки (кожному неправильному біту шифротексту відповідають N помилок у відкритому тексті);
  •                 чутливі до розтину повторною передачею.

 

2.6 Шифр Цезаря

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

Шифр названий на честь римського імператора Гая Юлія Цезаря, який використовував його для таємного листування. Природним розвитком шифру Цезаря став шифр Віженера. З погляду сучасного криптоаналізу, шифр Цезаря немає прийнятної стійкості.

Математична модель

Якщо зіставити кожному символу алфавіту його порядковий номер (нумеруючи з 0), то шифрування та дешифрування можна виразити формулами модульної арифметики:


y=(x+k)\ mod\ n

x=(y+n-(k\ mod\ n))\ mod\ n

 

де ~xсимвол відкритого тексту, ~yсимвол шифрованого тексту, ~nпотужність алфавіту, а ~kключ.

З погляду математики шифр Цезаря є окремим випадком афінного шифру.

Можна помітити, що суперпозиція двох шифрувань на ключах ~k_1і ~k_2є просто шифрування на ключі ~k_1+k_2. Більше загально, безліч шифруючих перетворень шифру Цезаря утворює групу ~\mathbb{Z}_n.

 


3. Практична частина

3.1 Застосування однієї з математичних методів з прикладу шифру Цезаря

 

Шифрування з допомогою ключа k = 3 . Літера "С" "зсувається" на три літери вперед і стає буквою "Ф". Твердий знак, переміщений на три літери вперед, стає літерою "Е", і так далі:

Вихідний алфавіт:

АБВГДЕЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЫЬЭЮЯ

Шифрований: ГДЕЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯАБВ

Оригінальний текст:

З'їж ще цих м'яких французьких булок, та випий чаю.

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

Фезія й з'ї ахлі й пеньки чугрщцькфнлі дцосн, пали еютзм 'гб.

 

 

3.2 Застосування однієї з математичних методів з прикладу Ассиметричного шифру

 

Зрозуміти ідеї та методи криптографії з відкритим ключем допомагає наступний приклад – зберігання паролів у комп'ютері. Кожен користувач мережі має свій пароль. При вході він вказує ім'я і вводить секретний пароль. Але якщо зберігати пароль на диску комп'ютера, то хтось його може вважати (особливо це зробити адміністратору цього комп'ютера) і отримати доступ до секретної інформації. Для розв'язання задачі використовується одностороння функція. Під час створення секретного пароля в комп'ютері зберігається не сам пароль, а результат обчислення функції від цього пароля та імені користувача. Наприклад, користувач Аліса вигадала пароль «Гладіолус». При збереженні цих даних обчислюється результат функції f ( ГЛАДІОЛУС ), нехай результатом буде рядок РОМАШКА , який буде збережено в системі. В результаті файл паролів набуде наступного вигляду:

 

Ім'я

f (ім'я_пароль)

АЛІСА

РОМАШКА

БІБ

НАРЦІС

 

Вхід у систему тепер виглядає так:

 

Ім'я:

АЛІСА

Пароль:

ГЛАДІОЛУС

 

Коли Аліса вводить «секретний» пароль, комп'ютер перевіряє, чи дає функція, що застосовується до ГЛАДІОЛУС, правильний результат РОМАШКА , що зберігається на диску комп'ютера. Варто змінити хоча б одну літеру в імені або паролі, і результат функції буде зовсім іншим. "Секретний" пароль не зберігається в комп'ютері в жодному вигляді. Файл паролів може бути переглянутий іншими користувачами без втрати секретності, оскільки функція практично незворотна.


4. Висновки

 

Під шифром розуміється сукупність оборотних перетворень безлічі відкритих даних на множину зашифрованих даних. Найважливіші складові будь-якого шифру – це загальне правило , яким перетворюється вихідний текст. Завдяки цій роботі ми дізналися про зв'язок шифрів та математики. І про те, що за допомогою різних математичних методів можна зашифрувати інформацію. Ми вважаємо, що шифри – це одна з найцікавіших та найактуальніших тем. Шифри використовувалися, використовуються і використовуватимуться, т.к. вони потрібні в багатьох областях і допомагають людям вирішити ті чи інші логічні завдання. Шифрування завжди відкривається суспільству, т.к. були створені системи, які прогресивніші за попередні і дозволяють вирішувати серйозні завдання.


Список джерел інформації :

 

  1.                    http://ua.wikipedia.org
  2.                    Гатчин Ю.А., Коробейніков А.Г. Основи криптографічних алгоритмів. Навчальний посібник - К.: 2002.
  3.                    Коробейніков А. Г. Математичні основи криптографії. Навчальний посібник К:, 2002.
  4.                    Bakalavr. Сайт для студентів та учнів URL: https://www.bakalavr.com (дата звернення: 29.06.2026)

Розміщено на Allbest.ru

 

docx
Пов’язані теми
Інформатика, Інші матеріали
Додано
29 червня
Переглядів
1
Оцінка розробки
Відгуки відсутні
Безкоштовний сертифікат
про публікацію авторської розробки
Щоб отримати, додайте розробку

Додати розробку