Найпростіші методи шифрування із закритим ключем. Шифри заміни - навчальна та наукова діяльність анісімова володимира вікторовича

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

Як альтернатива шифрам підстановки можна розглядати перестановочні шифри. Вони, елементи тексту переставляються інакше від вихідного порядку, а самі елементи залишаються незмінними. Навпаки, в шифрах підстановки елементи тексту не змінюють свою послідовність, а змінюються самі.

Історія

Використання шифрів підстановки бере свій початок у Месопотамії. З метою приховування інформації про рецепт виробництва глазурі для гончарних виробів автор замінював частину слів на цифри та клинописні знаки. Римський імператор Гай Юлій Цезар під час написання секретних повідомлень зміщував кожну букву алфавіту на 3 позиції. Даний вид шифрів підстановки згодом назвали його ім'ям, шифр Цезаря. Інший не менш відомий шифр античності, Атбаш, застосовувався в Біблії для створення прихованих послань. Кожна буква слова замінювалася її дзеркальним відображенням у алфавіті.

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

Цього недоліку були позбавлені поліалфавітні шифри, перший з яких був описаний німецьким ченцем Йоганном Тритемієм. Згідно з методом, описаним у його трактаті «Поліграфія», чергова буква замінювалася символом із власного шифралфавіту, при цьому кожен наступний алфавіт виходив з попереднього за допомогою зсуву на одну літеру. Особливу популярність отримав поліалфавітний шифр, описаний Блезом де Виженером в 1585 році. Як ключ до шифру використовувалося довільне слово. Набір шифралфавітів, що відповідає даному слову, визначався з таблиці Віженера.

Шифри простої заміни

Шифр із використанням кодового слова

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

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

Метод запису зашифрованих текстів

За традицією, зашифрований текст пишуть блоками (інша назва "групи") по 5 символів, не враховуючи пунктуацію та прогалини. Це допомагає уникнути помилок під час передачі шифрованого повідомлення та дозволяє приховати межі слів у вихідному тексті. Блок містить 5 символів, оскільки раніше було зручно передавати по телеграфу .

Безпека шифрів простої заміни

Головний недолік цього методу шифрування - те, що останні літери алфавіту (які мають низькі коефіцієнти при частотному аналізі) мають тенденцію залишатися наприкінці. Більш захищений спосіб побудувати алфавіт заміни полягає в тому, щоб виконати колонкове переміщення (переміщення стовпців) в алфавіті, використовуючи ключове слово, але це не часто робиться. Незважаючи на те, що число можливих ключів є дуже великим (26! = 288.4), цей вид шифру може бути легко зламаним. За умови, що повідомлення має достатню довжину (див. нижче), криптоаналітик може припустити значення деяких найпоширеніших букв, виходячи з аналізу частотного розподілу символів у зашифрованому тексті. Це дозволяє формувати окремі слова, які можуть бути попередньо використані для подальшого отримання більш повного рішення (див. частотний аналіз). Згідно відстані унікальностіанглійської мови 27.6 букв від зашифрованого тексту має бути достатньо, щоб зламати шифр простої заміни. На практиці зазвичай достатньо близько 50 символів для злому, хоча деякі шифротексти можуть бути зламані і з меншою кількістю символів, якщо знайдено якісь нестандартні структури. Але при рівномірному розподілі символів у тексті можуть знадобитися набагато довші шифротексти для злому.

Омофонічна заміна

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

Приклади омофонічних шифрів

Номенклатор

Шифр, виданий середньовічним чиновником, що є маленькою книгою з великими омофонічними таблицями заміни. Спочатку шифр був обмежений іменами важливих людей того часу, звідси й почалася назва шифру; у пізніших виданнях цей шифр доповнився великою кількістю поширених слів та географічних назв. На основі цього «номенклатора» було складено Великий Шифр ​​Россіньоля, який використовував король Франції Людовік XIV. І дійсно, після того, як цей шифр перестав використовуватися, французькі архіви були закритими ще кілька сотень років. Номенклатори були стандартом для дипломатичної кореспонденції, шпигунських повідомлень і були основним засобом антиполітичної конспірації з початку п'ятнадцятого століття до кінця вісімнадцятого століття. Хоча урядові криптоаналітики систематично зламували «номенклатори» до середини шістнадцятого сторіччя. Звичайним виходом із цієї ситуації було збільшення обсягів таблиць. Але до кінця вісімнадцятого сторіччя, коли система почала виходити з вжитку, деякі «номенклатори» мали до 50 000 символів. Однак не всі "номенклатори" були зламані.

Великий Шифр ​​Россіньоля

Поліграмні шифри

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

Приклади поліграмних шифрів

Шифр Плейфера

Криптоаналіз

  1. Атака, на основі, адаптивно підібраного, відкритого тексту

Криптоаналіз однозвучних шифрів підстановки здійснюється підрахунком частот появи пар та трійок символів.

Атаки на основі відкритих текстів

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

Атаки на основі підібраного відкритого тексту

До атаки на основі вибраного відкритого тексту вразливі всі шифри підстановки за винятком одноразової блокноти.

У шифрувальних машинах

Одне з перших шифрувальних пристроїв було придумано в п'ятнадцятому столітті і здійснювало заміну шифром Цезаря. Його автором був італійський архітектор Леоном, Баттіста Альберті, який вніс відчутний внесок у розвиток шифрів підстановки. Цей пристрій складався з двох мідних дисків різного розміру, скріплених голкою. По краях кожного диска наносився абетка. Обидва диски могли обертатися незалежно один від одного, тим самим зіставляючи букви відкритого та шифрованого тексту. Диск Альберті широко використовувався п'ять століть, у тому числі під час Громадянської війни В США.

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

Роторні машини застосовувалися різними країнами в ході Другої світової війни. Найбільш відомими з них були: американська машина SIGABA, німецька ENIGMA, англійська TYPEX та японська PURPLE.

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

Застосування у наш час

Незважаючи на витіснення шифрів підстановки блоковими шифрами, одноразові блокноти, як і раніше, застосовуються на державному рівні в наш час. Вони використовуються для забезпечення надсекретних каналів зв'язку. За чутками, телефонна лінія між главами СРСР та США шифрувалася за допомогою одноразового блокнота і цілком можливо існує досі. Одноразові блокноти застосовуються шпигунами різних держав для приховування особливо важливої ​​інформації. Такі повідомлення неможливо розшифрувати за відсутності записаного в блокноті ключа незалежно від обчислювальної потужності ЕОМ.

У своїй роботі " Математична теорія секретного зв'язку» Клод Шеннонузагальнив накопичений до нього досвід розробки шифрів.

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

14.1.Шифр заміни

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

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

Шифр заміни є найпростішим, найпопулярнішим шифром. Прикладами є:шифр Цезаря , « цифірна абетка» Петра Великого і «танцюють чоловічки» А. Конан-Дойля .

Шифр заміни здійснює перетворення заміни літер чи інших «частин» відкритого тексту на аналогічні «частини» шифрованого тексту .

Збільшивши алфавіти, тобто. оголосивши «частини» літерами, можна будь-який шифр заміни звести до заміни літер.

Дамоматематичний опис шифру заміни .

Нехай: X алфавітвідкритого тексту, аY- Алфавітшифрованного про текст, що перебуваютьз однакової кількості символів .

Нехай також: g: X Y взаємнооднозначне відображення X в Y . Кожній букві х алфавіту X зіставляється однозначно визначена літера у алфавіту Y , яку позначаємо символом g(х), причому різним буквам зіставляються різні букви .

Тоді шифр заміни діє так: відкритий текст x 1 x 2 ...x n перетворюється у шифрований текст g 1 ) g (x 2 ) ... g (x n ).

У криптографії розглядаються 4 типи заміни :

    моноалфавітна;

    гомофонічна;

    поліалфавітна;

    поліграмна.

Моноалфавітна заміна

При цьому методі кожному символу алфавіту відкритого тексту ставиться у відповідність один символ зашифрованого тексту (з цього алфавіту).

Загальна формула моноалфавітної заміни виглядає так:

y i =(k 1 x i +k 2 ) mod n,

Прикладом цього є шифр під назвою Атбаш.

Правило шифрування полягає у заміні i- ой літери алфавіту літерою з номером n = i + 1, де n- Число літер в алфавіті. Приклад для латинського алфавіту виглядає так:

Початковий текст: abcdefghijklmnopqrstuvwxyz

Зашифрований текст: ZYXWVUTSRQPONMLKJIHGFEDCBA

Гомофонічна заміна

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

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

Поліграмна заміна

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

Поліалфавітні підстановки

Для підвищення стійкості шифру використовують так звані поліалфавітні підстановки, які Для заміни використовують кілька алфавітів шифротексту.

Відомо кілька різновидів поліалфавітної підстановки, найбільш відомими з яких є:

    одноконтурна (звичайна та монофонічна)

    та багатоконтурна.

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

Сам процес шифрування здійснюється так:

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

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

    Отриманий текст може розбиватися групи по кілька знаків.

Окремим випадком розглянутої поліалфавітної заміни є так звана монофонічна заміна .

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

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

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

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

однакових елементів. Багато називається безліччю Шифр-позначень для літери а.

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

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

то повідомлення «я знайомий із шифрами заміни» може бути зашифровано, наприклад, будь-яким із наступних трьох способів:

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

Часто складається з одного елемента. Наприклад, у романі Верна «Подорож до центру Землі» до рук професора Ліденброка потрапляє пергамент із рукописом із знаків рунічного листа. Кожна множина складається з одного елемента. Елемент кожної множини вибирається з набору символів виду

В оповіданні А. Конан Дойла «Танцюючі чоловічки» кожен символ зображує танцює чоловічка в різних позах

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

Розглянемо деякі приклади заміни шифрів. Нехай кожна множина складається з однієї літери. Наприклад,

Такий шифр називається шифром простої однолітерної заміни. За ключом (4) зручно проводити зашифрування та розшифрування: при зашифруванні кожна літера відкритого тексту замінюється на відповідну літеру з другого рядка (а на ) При розшифруванні, навпаки, замінюється на а і т. д. При шифруванні та розшифруванні треба пам'ятати другий рядок (4), тобто ключ.

Запам'ятати довільний порядок букв алфавіту досить складно. Тому завжди намагалися придумати якесь правило, за яким можна просто відновити другий рядок (4).

Одним з перших шифрів, відомих з історії, був так званий шифр Цезаря, для якого другий рядок (4) є послідовністю, записаною в алфавітному порядку, але починається не з літери а:

В одному із завдань (завдання 4.4) використовується шифр Цезаря. Запам'ятати ключ у цьому випадку просто - треба знати першу літеру другого рядка (4) (послідовність літер в алфавіті передбачається відомою). Однак такий шифр має великий недолік. Число різних ключів дорівнює літері в алфавіті. Перебравши ці варіанти, можна

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

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

У цьому випадку кількість варіантів ключа значно більша за кількість букв алфавіту.

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

Крім частоти появи літер, можуть бути використані інші обставини, які допомагають розкрити повідомлення. Наприклад, може бути відома розбивка на слова, як у задачі 4.2, і розставлені розділові знаки. Розглядаючи невелику кількість можливих варіантів заміни прийменників і спілок, можна спробувати визначити частину ключа. У цьому вся завдання суттєво використовується, які голосні чи приголосні може бути подвоєними: «нн», «її», «іі» та інших.

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

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

Популярні у школярів криптограми (типу розглянутої задачі 1.5) по суті справи є шифром заміни з ключем

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

Будь-які особливості тексту, які можуть бути вам відомі, – ваші помічники. Наприклад, у задачі 5.2 прямо сказано, що в тексті є вирази «ЗПТ», «ТЧК», як часто буває в реальних телеграмах. І ця підказка – шлях до вирішення завдання.

Шифрування навіть щодо невеликих текстів на одному ключі для розглянутих шифрів заміни створює умови для відкриття відкритих повідомлень. Тож такі шифри намагалися вдосконалити. Один із напрямів - побудова шифрів різнозначної заміни, коли кожній літері ставиться у відповідність один або два символи. (Найпростішим прикладом є шифр, що визначається в задачі 4.2.) Наприклад,

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

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

рядку. Тому під час упіймання розвідника завжди намагалися знайти книгу, яка могла бути використана ним як ключ.

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

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

Шифрами заміниназивають такі шифри, шифрування за допомогою яких здійснюється шляхом заміни кожного символу вихідного тексту на інші символи (шифропозначення), при цьому порядок символів не змінюється. Формально шифр заміни можна описати так: кожній літері вихідного тексту ставиться у відповідність кілька символів Ма,яке називають безліччю шифро-позначень для літери а. Таблиця відповідності та порядок вибору шифропозначення з безлічі символів є ключем шифру заміни.

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

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

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

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

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

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

> Матриця букв

шифрограм

Стовпець ключа

Рядок букв

відкритого

Мал. 5.1.Таблиця Віжинера

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

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

Завдання 5.5

Нехай потрібно зашифрувати наступний відкритий текст: "ТО BE OR NOT ТО BE THAT IS THE QUESTION", використовуючи секретний ключ « RELATIONS».

Рішення.

Розіб'ємо процес шифрування на наступні етапи.

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

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

Після шифрування отримаємо криптограму:

«КЗ МЕ НІЇВВ КБ МЕ МРСЮ А1 ХЕЕ,Ю5ЕЕ78У».

Для розшифрування такої криптограми використається наступний алгоритм.

  • 1. Необхідно знайти стовпець, назвою якого є ще один символ секретного ключа.
  • 2. У цьому стовпці потрібно знайти рядок, який містить черговий символ криптограми.
  • 3. Як черговий символ відкритого тексту треба записати назву отриманого рядка.

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

Як альтернатива шифрам підстановки можна розглядати перестановочні шифри. Вони, елементи тексту переставляються інакше від вихідного порядку, а самі елементи залишаються незмінними. Навпаки, в шифрах підстановки елементи тексту не змінюють свою послідовність, а змінюються самі.

Історія [ | ]

Використання шифрів підстановки бере свій початок у Месопотамії. З метою приховування інформації про рецепт виробництва глазурі для гончарних виробів автор замінював частину слів на цифри та клинописні знаки. Римський імператор Гай Юлій Цезар під час написання секретних повідомлень зміщував кожну букву алфавіту на 3 позиції. Цей вид шифрів підстановки згодом назвали його ім'ям, шифром Цезаря. Інший не менш відомий шифр античності, Атбаш, застосовувався в Біблії для створення прихованих послань. Кожна буква слова замінювалася її дзеркальним відображенням в алфавіті.

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

Цього недоліку було позбавлено поліалфавітних шифрів, перший з яких був описаний німецьким ченцем Йоганном Тритемієм. Згідно з методом, описаним у його трактаті «Поліграфія», чергова буква замінювалася символом із власного шифралфавіту, при цьому кожен наступний алфавіт виходив з попереднього за допомогою зсуву на одну літеру. Особливу популярність отримав поліалфавітний шифр, описаний Блез де Виженер в 1585 році. Як ключ до шифру використовувалося довільне слово. Набір шифралфавітів, що відповідає даному слову, визначався з таблиці Віженера.

Шифри простої заміни[ | ]

Шифр із використанням кодового слова[ | ]

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

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

Метод запису зашифрованих текстів[ | ]

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

Безпека шифрів простої заміни[ | ]

Головний недолік цього методу шифрування - те, що останні літери алфавіту (які мають низькі коефіцієнти при частотному аналізі) мають тенденцію залишатися наприкінці. Більш захищений спосіб побудувати алфавіт заміни полягає в тому, щоб виконати колонкове переміщення (переміщення стовпців) в алфавіті, використовуючи ключове слово, але це не часто робиться. Незважаючи на те, що число можливих ключів є дуже великим (26! = 288.4), цей вид шифру може бути легко зламаним. За умови, що повідомлення має достатню довжину (див. нижче), криптоаналітик може припустити значення деяких найпоширеніших букв, виходячи з аналізу частотного розподілу символів у зашифрованому тексті. Це дозволяє формувати окремі слова, які можуть бути попередньо використані для подальшого отримання більш повного рішення (див. частотний аналіз). Згідно відстані унікальностіанглійської мови 27.6 букв від зашифрованого тексту має бути достатньо, щоб зламати шифр простої заміни. На практиці зазвичай достатньо близько 50 символів для злому, хоча деякі шифротексти можуть бути зламані і з меншою кількістю символів, якщо знайдено якісь нестандартні структури. Але при рівномірному розподілі символів у тексті можуть знадобитися набагато довші шифротексти для злому.

Омофонічна заміна[ | ]

Ранні спроби збільшити складність частотного аналізу шифротекстів полягали у тому, щоб замаскувати реальні частоти появи символів звичайного тексту з допомогою омофонії. У цих шифрах літери вихідного алфавіту відповідають більш ніж одному символу заміни алфавіту. Зазвичай символам вихідного тексту з найвищою частотою дають більше еквівалентів , ніж рідкішим символам. Таким чином, розподіл частоти стає більш рівномірним, сильно ускладнюючи частотний аналіз. З того часу, як для алфавіту заміни стало потрібно більше 26 символів, виникла потреба в розширених алфавітах. Одним із найпростіших рішень є заміна алфавіту на цифри. Інший метод складається з простих змін існуючого алфавіту: великі літери, малі літери, перевернені і т. д. Більш художніми, хоча не обов'язково більш надійними, будуть омофонічні шифри, які використовують повністю винайдені (вигадані) алфавіти (як наприклад, шифр у книзі « Золотий жук" Е. По, або "Рукопис Войнича". Втім, ці шифри не є прикладами омофонічної заміни).

Приклади омофонічних шифрів[ | ]

Номенклатор [ | ]

Шифр, виданий середньовічним чиновником, що є маленькою книгою з великими омофонічними таблицями заміни. Спочатку шифр був обмежений іменами важливих людей того часу, звідси й почалася назва шифру; у пізніших виданнях цей шифр доповнився великою кількістю поширених слів та географічних назв. На основі цього «номенклатора» було складено Великий Шифр ​​Россіньоля, який використовував король Франції Людовік XIV. І дійсно, після того, як цей шифр перестав використовуватися, французькі архіви були закритими ще кілька сотень років. Номенклатори були стандартом для дипломатичної кореспонденції, шпигунських повідомлень і були основним засобом антиполітичної конспірації з початку п'ятнадцятого століття до кінця вісімнадцятого століття. Хоча урядові криптоаналітики систематично зламували «номенклатори» до середини шістнадцятого сторіччя. Звичайним виходом із цієї ситуації було збільшення обсягів таблиць. Але до кінця вісімнадцятого сторіччя, коли система почала виходити з вжитку, деякі «номенклатори» мали до 50 000 символів. Однак не всі "номенклатори" були зламані.

Великий Шифр ​​Россіньоля[ | ]

Поліграмні шифри[ | ]

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

Приклади поліграмних шифрів[ | ]

Шифр Плейфера [ | ]

Криптоаналіз [ | ]

Криптоаналіз однозвучних шифрів підстановки здійснюється підрахунком частот появи пар та трійок символів.

Атаки на основі відкритих текстів[ | ]

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

Атаки на основі підібраного відкритого тексту[ | ]

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

У шифрувальних машинах[ | ]



Останні матеріали розділу:

Як правильно заповнити шкільний щоденник
Як правильно заповнити шкільний щоденник

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

Рівняння площини: загальне, через три точки, нормальне
Рівняння площини: загальне, через три точки, нормальне

Рівняння площини. Як скласти рівняння площини? Взаємне розташування площин. Просторова геометрія не набагато складніше...

Старший сержант Микола Сиротінін
Старший сержант Микола Сиротінін

5 травня 2016, 14:11 Микола Володимирович Сиротинін (7 березня 1921 року, Орел – 17 липня 1941 року, Кричев, Білоруська РСР) – старший сержант артилерії. У...