Лабораторне заняття №1 Ціль заняття засвоїти основні поняття криптографії та навчитися розвязувати задачі щодо найпростіших шифрів заміни та перестановки. Одразу нагадаємо деякі означення, якими ми будемо користуватися. Ключ-деяка послідовність символів, яка керує процедурами шифруваннярозшифрування. Шифрування - процес перетворення відкритих даних у шифртекст по закону ключа. Розшифрування - процес протилежний шифруванню. Шифртекст - перетворені дані із закритим снмантичним змістом. Шифруючі таблиці У якості ключа в шифруючих таблицях використовуються - розмір таблиці - слово або фраза, яка керує перестановкою - особливості структури таблиці. Один з найпримітивніших табличних шифрів – проста перестановка, для якої ключем служить розмір таблиці. Повідомлення записується в таблицю по стовпцях. Для формування шифртекста повідомлення зчитується по рядках. Наприклад. Відкрите повідомлення ПРИЛЕТАЮ,ДВАДЦЯТОГО. Шифртекст ПЛАВЦОРЕЮАЯГИТДДТО. П Л А В Ц О Р Е Ю А Я Г И Т Д Д Т О Таблиця 3.1 Шифруюча таблиця. Для розшифрування, природно, виконують зворотну процедуру. Вписують шифртекст по рядках і зчитують по стовпцях для отримання відкритого повідомлення. Відправник і одержувач повідомлення наперед умовляються про загальний ключ - конфігурацію таблиці. Дещо більшою стійкістю до розкриття володіє одиночна перестановка по ключу. Стовпці таблиці переставляються згідно природному порядку в алфавіті букв ключового слова, фрази або набору чісел ( без повторень) завдовжки в рядок таблиці. Наприклад. Відкритий текст ПРИЛЕТАЮ ДВАДЦЯТОГО. Ключове слово (без однакових букв завдовжки в рядок таблиці)ДИПЛОМ. Конфігурація таблиці 4 рядки, 6 стовпців. Д П Р И И Л Е Т П А Ю Д Л В А Д О Ц Я Т М О Г О 1 Д И Л М О П П Л В О Ц А Р Е А Г Я Ю И Т Д О Т Д Таблиця 3.2 Шифруюча таблиця. Шифртекст ПЛВОЦАРЕАГЯЮИТДОТД. Для забезпечення додаткової скритності можна повторно зашифрувати повідомлення. У разі подвійної перестановки – перестановка для стовпців і рядків визначаються окремо. При розшифруванні, природно, порядок перестановки повинен бути зворотним. Проте подвійна перестановка також порівняно просто зламується при будь-якому розмірі таблиці шифрування. Аффінная система підстановок Цезаря. Визначимо перетворення Ea,b : Z m Zm Ea,b : t Ea,b (t ) Ea,b (t ) at b(mod m). a , b - цілі числа 0 a, b m НОД (a, m) =1. В даному перетворенні буква, відповідна числу t замінюється на букву, відповідну числовому значенню at b(mod m). Наприклад. Хай m 32, a 3, b 5. Виконується умова НОД(3,32)=1. Ми одержуємо наступну відповідність між кодами букв. Ми використовуватимемо для прикладу російський алфавіт без букви е (32 букви). І а б в г д е ж з И й к л м н Буква 3 t +5 (mod 32) ІІ ІІІ І с t п Р 0 1 2 3 4 5 6 7 5 8 11 14 17 20 23 26 т У ф х ц ч ш щ 8 29 9 0 10 3 11 6 Ь ы ъ э 12 9 ю 13 12 я ІІ 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 ІІІ 18 21 24 27 30 1 4 7 10 13 16 19 22 25 28 31 2 Таблиця 3.4 Афінна система підстановок Цезаря. Наприклад слову КАЛАМБУР відкритого тексту відповідає шифртекст ГЕЖЕЙИЮХ. Афінна система використовувалася на практиці декілька століть назад, зараз її застосування обмежується ілюстрацією основних криптологічних положень. Система Цезаря з ключовим словом. Система Цезаря з ключовим словом також є одноалфавітною підстановкою. Наприклад. Хай є вибраний слово DIPLOMAT в латинському алфавіті як ключове слово 2 ( слово без повторень букв) і число K 5 . Ключове слово записується під буквами алфавіту, починаючи з букви, числовий код якої співпадає з вибраним числом K 5 . 0123456… ABC D E F G H I J K LM N O PQ RSTUV W X Y Z V W Z Y Z D I P L OM A T B C E F G H J K N Q R S U Решта букв алфавіту підстановки записується після ключового слова в алфавітному порядку. Відкритий текст SEND MORE MONEY в шифртекст . Поширений метод злому всіх розглянутих шифрів – частотний аналіз. Будь-який алфавіт володіє надмірністю. Можна скласти таблиці вірогідності зустрічається різних символів в тексті для будь-якої мови (біграм символів і т.д.). По цих таблицях буде легко відновити відкритий текст з шифртекста. Буква Ймовір Буква Ймовір ність ність Буква Ймовір ність Буква Ймові рність Пробел 0,175 Р 0,040 Я 0,018 X 0,009 О 0,090 В 0,038 Ы 0.016 Ж 0,007 Е 0,072 Л 0,035 3 0,016 Ю 0,006 А 0,062 K 0,028 Ъ 0,014 Ш 0,006 И 0,062 M 0,026 Б 0,014 Ц 0,004 Н 0,053 Д 0,025 Г 0,013 Щ 0,003 Т 0,053 П 0,023 Ч 0,012 Э 0,003 C 0,045 У 0,021 Й 0,010 Ф 0,002 Таблиця 1 Розподіл ймовірностей букв у російських текстах Буква Ймовірність Буква Ймовірність Буква Ймовірність Е 0,123 L 0,040 В 0,016 Т 0,096 D 0,036 G 0,016 А 0,081 С 0,032 V 0,009 O 0,079 U 0,031 К 0,005 N 0,072 Р 0,023 Q 0,002 I 0,071 F 0,023 X 0,002 3 S 0,066 М 0,022 J 0,001 R 0,060 W 0,020 Z 0,001 Н 0,051 Y 0,019 Таблиця 2 Розподіл ймовірностей у англійських текстах При такому підході до формування шифртекста простий підрахунок частот вже ніщо не дає криптоаналітику. Проте у принципі корисна також інформація про розподіл пар і трійок букв в різних природних мовах. Якщо цю інформацію використовувати при криптоаналізі, він буде проведений успішніше. Шифр "подвійний квадрат" Уїнстона В 1854 р. англієць Чарльз Уїтстон розробив новий метод шифрування біграмами, який називають "подвійним квадратом". Свою назву цей шифр отримав по аналогії з полібіанським квадратом. Шифр Уїтстона відкрив новий етап в історії розвитку криптографії. На відміну від полібіанського шифр "подвійний квадрат" використовує відразу дві таблиці, розміщені по одній горизонталі, а шифрування йде біграмами, як в шифрі Плейфейра. Ці не такі складні модифікації привели до появи на світло якісно нової криптографічної системи ручного шифрування. Шифр "подвійний квадрат" виявився дуже надійним і зручним і застосовувався Німеччиною навіть в роки другої світової війни. Пояснимо процедуру шифрування цим шифром на прикладі. Хай є дві таблиці з випадково розташованими в них російськими алфавітами (рис.12). Перед шифруванням початкове повідомлення розбивають на біграми. Кожна біграма шифрується окремо. Першу букву біграми знаходять в лівій таблиці, а другу букву - в правій таблиці. Потім будують прямокутник так, щоб букви біграми лежали в його протилежних вершинах. Інші дві вершини цього прямокутника дають букви біграми шифртекста. Таблиці 3 Дві таблиці з випадково розташованими символами російського алфавіту для шифру "подвійний квадрат" Припустимо, що шифрується біграма початкового тексту МУЛ. Буква І знаходиться в стовпці 1 і рядку 2 лівої таблиці. Буква Л знаходиться в стовпці 5 і рядку 4 правої таблиці. Це означає, що прямокутник освічений рядками 2 і 4, а також стовпцями 1 лівої таблиці і 5 правої таблиці. Отже, в біграму шифртекста входять буква Про, розташована в стовпці 5 і рядку 2 4 правої таблиці, і буква В, розташована в стовпці 1 і рядку 4 лівої таблиці, тобто одержуємо біграму шифртекста 0В. Якщо обидва букви біграми повідомлення лежать в одному рядку, то і букви шифртекста беруть з цього ж рядка. Першу букву біграми шифртексту беруть з лівої таблиці в стовпці, відповідному другій букві біграми повідомлення. Друга ж буква біграми шифртекста береться з правої таблиці в стовпці, відповідному першій букві біграми повідомлення. Тому біграма повідомлення ТЕ перетворюється в біграму шифртекста ЖБ. Аналогічним чином шифруються всі біграми повідомлення: Повідомлення ПР ИЛ ЕТ АЮ _Ш ЕС ТО ГО Шифртекст ПЕ 0В ЩН ФМ ЕШ РФ БЖ ДЦ Шифрування методом "подвійного квадрата" дає вельми стійкий до розкриття і простій в застосуванні шифр. Злом шифртекста "подвійного квадрата" вимагає великих зусиль, при цьому довжина повідомлення повинна бути не менш тридцять рядків. На наступній лекції ми продовжимо огляд шифрів заміни та перестановки. Шифри складної заміни називають багатоалфавітними, тому що для шифрування кожного символу вихідного повідомлення застосовують свій шифр простої заміни. Багатоалфавітна підстановка послідовно й циклічно міняє використовувані алфавіти. При r-алфавітній підстановці символ x0 вихідного повідомлення заміняється символом y0 з алфавіту В0, символ x1 - символом y1 з алфавіту B1, і так далі, символ xr-1 заміняється символом yr-1 з алфавіту Br-1, символ xr заміняється символом yr знову з алфавіту В, і т.д. Загальна схема багатоалфавітної підстановки для випадку г = 4 показана на рис. 1. Вхідний символ: X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 Алфавіт підстановки: В0 B1 B2 В3 В0 B1 B2 В3 В0 B1 Рис. 1. Схема г-алфавітної підстановки для випадку г = 4 Ефект використання багатоалфавітной підстановки полягає в тім, що забезпечується маскування природної статистики вихідної мови, тому що конкретний символ з вихідного алфавіту А може бути перетворений у кілька різних символів шифрувальних алфавітів Вj. Ступінь забезпечуваного 5 захисту теоретично пропорційна довжині періоду г у послідовності використовуваних алфавітів Вj. Багатоалфавітні шифри заміни запропонував й увів у практику криптографії Леон Батист Альберті, що також був відомим архітектором і теоретиком мистецтва. Його книга "Трактат про шифр", написана в 1566 р., являла собою перший у Європі наукова праця по криптології. Крім шифру багатоалфавітної заміни, Альберті також докладно описав пристрою з обертових коліс для його реалізації. Криптологи всього миру почитають Л.Альберті основоположником криптології. Шифр Гронсфельда Цей шифр складної заміни, називаний шифром Гронсфельда, являє собою модифікацію шифру Цезаря числовим ключем. Для цього під буквами вихідного повідомлення записують цифри числового ключа. Якщо ключ коротше повідомлення, то його запис циклічно повторюють. Шифртекст одержують приблизно, як у шифрі Цезаря, але відраховують за алфавітом не третю букву (як це робиться в шифрі Цезаря), а вибирають ту букву, що зміщена за алфавітом на відповідну цифру ключа. Наприклад, застосовуючи як ключ групу із чотирьох початкових цифр числа e (підстави натуральних логарифмів), а саме 2718, одержуємо для вихідного повідомлення СХІДНИЙ ЕКСПРЕС наступний шифртекст: Повідомлення В О С Т О Ч Н Ы Й Э К С П Р Е С С Ключ 2 8 2 7 1 8 2 7 1 8 1 8 2 Шифр текст Д Х Т Ь Р Ю О Г Л Д Л Щ С Ч 7 1 2 7 Ж ЩУ Таблиця 4 Щоб зашифрувати першу букву повідомлення В, використовуючи першу цифру ключа 2 , потрібно відрахувати другу один по одному букву від В в алфавіті В Г Д 1 2 виходить перша буква шифру-тексту Д. Слід зазначити, що шифр Гронсфельда розкривається відносно легко, якщо врахувати, що в числовому ключі кожна цифра має тільки десять значень, а виходить, є лише десять варіантів прочитання кожної букви шифртекста. З 6 іншого боку, шифр Гронсфельда допускає подальші модифікації, що поліпшують його стійкість, зокрема подвійне шифрування різними числовими ключами. Шифр Гронсфельда являє собою власне кажучи окремий випадок системи шифрування Вижинера. Система шифрування Вижинера Почнемо з кінцевої послідовності ключа k = (k0,k1,...,kr), що називається ключем користувача, і продовжимо її до нескінченної послідовності, повторюючи ланцюжок. Таким чином, одержимо робочий ключ k = (k0,k1,...,kn), kj = k(j mod r), 0 < j n. Наприклад, при r =7 і ключі користувача 15 8 2 10 11 4 18 робочий ключ буде періодичною послідовністю: 15 8 2 10 11 4 18 15 8 2 10 11 4 18 15 8 2 10 11 4 18... Визначення. Підстановка Віжинера VIG k визначається як VIG k : (x0, x1,..., xn-1) = (y0, y1,..., yn-1) = (x0+k0, x1+k1,..., xn-1+kn-1). У такий спосіб 1) вихідний текст x ділиться на r фрагментів 2) i-й фрагмент вихідного тексту xi шифрується за допомогою підстановки Цезара Ck . Існує варіант системи підстановок Віжинера , називаний системою Вернама (1917 г). У той час ключ k=(k0,k1,...,kк-1) записувався на паперовій стрічці. Кожна буква вихідного переводилася з використанням коду Бодо в пятибітовый символ. До вихідного тексту Бодо додавався ключ (по модулі 2). Стародавній телетайп фірми AT&T із пристроєм, що зчитує, Вернама й устаткуванням для шифрування, використався корпусом зв'язку армії США. Дуже поширена погана з погляду таємності практика використати слово або фразу як ключ для того, щоб k=(k0,k1,...,kт-1) було легко запам'ятати. В ИС для забезпечення безпеки інформації це неприпустимо. Для одержання ключів повинні використатися програмні або апаратні засоби випадкової генерації ключів. Приклад. ABCDEFGHIJKLMNOPQRSTUVWXYZ A B C D E F G H I J abcdefghijklmnopqrstuvwxyz bcdefghijklmnopqrstuvwxyzA cdefghijklmnopqrstuvwxyzAB defghijklmnopqrstuvwxyzABC efghijklmnopqrstuvwxyzABCD fghijklmnopqrstuvwxyzABCDE ghijklmnopqrstuvwxyzABCDEF hijklmnopqrstuvwxyzABCDEFG ijklmnopqrstuvwxyzABCDEFGH jklmnopqrstuvwxyzABCDEFGHI 7 K L M N O P Q R S T U V W X Y Z klmnopqrstuvwxyzABCDEFGHIJ lmnopqrstuvwxyzABCDEFGHIJK mnopqrstuvwxyzABCDEFGHIJKL nopqrstuvwxyzABCDEFGHIJKLM opqrstuvwxyzABCDEFGHIJKLMN pqrstuvwxyzABCDEFGHIJKLMNO qrstuvwxyzABCDEFGHIJKLMNOP rstuvwxyzABCDEFGHIJKLMNOPQ stuvwxyzABCDEFGHIJKLMNOPQR tuvwxyzABCDEFGHIJKLMNOPQRS uvwxyzABCDEFGHIJKLMNOPQRST vwxyzABCDEFGHIJKLMNOPQRSTU wxyzABCDEFGHIJKLMNOPQRSTUV xyzABCDEFGHIJKLMNOPQRSTUVW yzABCDEFGHIJKLMNOPQRSTUVWX zABCDEFGHIJKLMNOPQRSTUVWXY Таблиця 5 Таблиця Віжинера для латинського алфавіту При шифруванні за допомогою алфавітного квадрата спочатку вибирається ключове слово (або ключова фраза), що записується, циклічно повторюючись, над відкритим текстом. Потім повідомлення може бути зашифрована буква за буквою, для чого в таблиці треба знайти стовпець, позначений тією же буквою, що й відповідна буква ключа, і рядок, позначений тією же буквою, що й буква відкритого тексту, що лежить під даною буквою ключа. Буква, що лежить у таблиці на перетинанні зазначених стовпця й рядка, і буде шуканим шифросимволом. Наприклад, якщо в якості ключового використати слово MAPLE, те шифрування буде виглядати в такий спосіб: Ключ MAPLEMAPLEMAPLEMAPLEMAP Відкритий текст SHIPMENTTOARRIVETONIGHT Шифротекст EHXAQQNIESMRGTZQTDYMSHI Шифрограмма EHXAQ QNIES MRGTZ QTDYM SHI Таблиця 6 Варто визнати, що й багатоалфавітні підстановки в принципі доступні криптоаналітичному дослідженню. Криптостійкість багатоалфавітних систем різко убуває зі зменшенням довжини ключа. Проте така система як шифр Віжинера допускає нескладну апаратну або програмну реалізацію й при досить великій довжині ключа може бути використана у сучасних ИС. 8 Начинают взлом шифров обыкновенно со статистических испытаний текста шифровки, что дает общие данные об их стойкости на начальном этапе анализа. Если пространство поиска ключа очень велико и невозможно с помощью имеющихся вычислительных средств проверить каждый ключ за разумное время, то шифр является вычислительно безопасным. Статистические испытания являются единственной стратегией испытаний больших криптографических схем с секретным ключом, построенных в виде чередующихся слоев блоков замены и перестановок. Это объясняется трудностью составления уравнений, связывающих вход и выход системы. В несимметричных системах уравнения, связывающие вход и выход системы являются частью самой системы, поэтому можно сосредоточить внимание на анализе этих уравнений. Статистические испытания являются, пожалуй, единственным общим и быстрым методом выявления плохих шифров. Так, алгоритм FEAL - 4 был сначала вскрыт обычным методом криптоанализа, и независимо от этого было показано, что он является статистически слабым. Важное значение, для статистических испытаний, имеет случайность текста шифровки. Практическую меру случайности такой последовательности ввели Лемпел и Зив, авторы общеупотребимого алгоритма сжатия данных. Практически, если текст шифровки сжимается одним из архиваторов больше, чем на 10%, то шифровальная система несостоятельна. Если сжатие шифра оказалось меньше этой величины, то возможно все. Итак, рассмотрим наиболее употребительные виды атак на некоторые известные шифры. Вскрытие шифров перестановки. Пусть есть шифровка АЗЮЖЕ СШГТООИПЕР. Шифровка двойной перестановкой, которая укладывается в таблицу 4 4 . 1 2 3 4 1 А З Ю Ж 2 Е С Ш 3 Г Т О О 4 И П Е Р Рассматривая маловероятные сочетания букв, легко найти последовательность столбцов. Так сочетание ГТ в 3-ей строке шифровки указывает на то, что после первого столбца вряд ли следует второй. Рассчитаем статистически, какой столбец вероятнее всего следует за первым. Для этого воспользуемся таблицей логарифмов вероятностей биграмм русского текста, приведенных во многих книгах по криптографии. Вероятность следования одного столбца за другим равна произведению вероятностей биграмм в строках этой таблицы. Поскольку в таблице даны логарифмы биграмм, то их достаточно суммировать, а потом выбрать сочетание столбцов с максимальной вероятностью. 9 P(1-2) = p( АЗ ) p(Е ) p( ГТ ) p( ИП ) =7+9+0+5=21 P(1-3) = p( АЮ ) p(ЕС ) p( ГО ) p( ИЕ ) = 6+8+8+8=30 P(1-4) = p( АЖ ) p(ЕШ ) p( Г0 ) p( ИР ) = 7+5+8+7=27 В нашем случае наиболее вероятно, что после первого столбца следует третий. P(2-1) = p( ЗА ) p( Е ) p(ТГ ) p( ПИ ) =8+7+1+7=23 P(4-1) = p( ЖА ) p(ШЕ ) p( ОГ ) p( РИ ) =6+6+8+8=28 P(3-1) = p( ЮА ) p(СЕ ) p( ОГ ) p( ЕИ ) =0+7+8+4=19 P(3-4) = p( ЮЖ ) p(СШ ) p( ОО ) p( ЕР ) =1+5+6+8=20 Наиболее вероятно за четвертым столбцом следует первый. P(2-4) = p( ЗЖ ) p( Ш ) p( ТО ) p( ПР ) =1+5+9+9=24 P(3-2) = p( ЮЗ) p(С ) p( ОТ ) p( ЕП ) =2+7+8+5=22 Наиболее вероятно следующее расположение столбцов: 2 З 4 1 3 1 Ж А Ю 2 Ш Е С 3 Т О Г О 4 П Р И Е После того, как столбцы таблицы расставлены, не составит труда правильно расставить строки для получения осмысленного текста. Для самостоятельной работы вскрыть смысл сообщения : 1 2 3 4 1 2 3 4 4 2 3 1 1 Н В Н Н 2 А Е О Е 3 1 Н В Н Н 4 З Д 1 Н В Н Н 4 Е Д З М Б 3 Б З М 3 З М Б Е З 4 З Д Е 2 А Е О Е 2 Е Е О А Шифртекст: БНЕЕ_ЗВДЕМН_О_НЗА. Пример криптоанализа многоалфавитного шифра Гронсфельда. Этот шифр вскрывается довольно легко. Так как имеется всего 10 вариантов 10 прочтения каждой буквы. Выпишем их столбцами так, что одной строке соответствуют буквы одного значения ключа. При этом получим таблицу, правильно выбрав по одной букве из каждой колонки которой можно получить исходный текст. Ключ вариант 0 вариант 1 вариант 2 вариант 3 вариант 4 вариант 5 вариант 6 вариант 7 вариант 8 вариант 9 сообщен. ????????????????????????????????????? ФПЖИСЬИОССАХИЛФИУСС УОЕЗРЫЗНРР ФЗКУЗТРР ТНДЖПЪЖМППЯУЖЙТЖСПП СМГЕОЩЕЛООЮТЕИСЕРОО РЛВДНШДКННЭСДЗРДПНН ПКБГМЧГЙММЬРГЖПГОММ ОЙАВЛЦВИЛЛЫПВЕОВНЛЛ НИ БКХБЗККЪОБДНБМКК МЗЯАЙФАЖЙЙЩНАГМАЛЙЙ ЛЖЮ ИУ ЕИИШМ ВЛ КИИ ???????????????????????????????????? Если прочесть исходный текст напрямую не удалось. Длина шифровки 19 символов. Это значит, что в ней 2 или 3 слова. Хорошее положение для пробела дает лишь вариант 1, варианты 7 и 9 маловероятны. У выделенных слов шифровки одинаковые окончания сс. Будем считать, что одинаковые окончания слов текста попали на одинаковые участки ключа и дали одинаковые символы шифровки. На практике так бывает довольно часто. Если нет никаких идей о длине ключа, ее можно подобрать вслепую. Попробуем период длины 3. ?О??Р??Н?? ??К??Т??. Таблица поредела, но остается сложной для непосредственного прочтения. Попробуем подобрать символ ключа, стоящий в первой позиции. Мы предположили период ключа 3. Так как ключ циклически повторяется, то тот же символ ключа стоит на 4,7,10,13,16 и 19 позициях. Оценим наиболее вероятный результат. P(0)=p(ФО)p(ИР)p(ИН)p(С )p(ИК)p(ИТ)=43 P(1)=p(УО)p(ЗР)p(ЗН)p(Р )p(ЗК)p(ЗТ)=23 P(2)=p(ТО)p(ЖР)p(ЖН)p(П )p(ЖК)p(ЖТ)=27 P(3)=p(СО)p(ЕР)p(ЕН)p(О )p(ЕК)p(ЕТ)=50 ...................................................................... Наиболее вероятен третий вариант расшифровки. Получаем СО?ЕР?ЕН?О ?ЕК?ЕТ?О. Нетрудно понять , что сообщение СОВЕРШЕННО СЕКРЕТНО. 11 Биграммный шифр Playfair Шифр Playfair оперирует биграммами, или двухбуквенными сочетаниями. Процедура шифрования биграммы обычно заключается в том, что составляющие ее две буквы находят в алфавитном квадрате, после чего в нем мысленно строится прямоугольник так, чтобы эти две буквы лежали в его противоположных вершинах; тогда другие две вершины данного прямоугольника дают буквы шифровки. Если буквы биграммы лежат в одной и той же строке или столбце, берутся две буквы, расположенные, соответственно, справа или внизу (в циклической последовательности) от букв клера. Если биграмма состоит из двух одинаковых букв, то сначала вторую букву в ней заменяют на X, Z или какую-либо другую редкую букву, после чего зашифровывают полученную таким образом новую биграмму. Шифровальный квадрат Playfair P L A Y F I R B C D E G H K M (буква J опускается) N O Q S T U V W X Z Открытый текст ATTACK ENEMY POSITIONS AT ONCE SIGNED FOX Открытый текст, разбитый на биграммы AT TA CK EN EM YP OS IT IO NS AT ON CE SI GN ED FO XZ Шифртекст FQ QF KS NU GE FL QT DN RN OT FQ QO IK NC EO MI LT ZU Таблица 7 Биграммный шифр Playfair. Криптосистема Хилла Алгебраический метод, обобщающий аффинную подстановку Цезаря для определения n-грамм, был сформулирован Лестером С.Хиллом. Множество целых , для которого определены операции сложения, вычитания и умножения по модулю m, является примером кольца. Кольцо R представляет собой алгебраическую систему, в которой определены операции сложения, вычитания и умножения пар элементов. Эта алгебраическая система обладает рядом свойств: 12 • элементы кольца R образуют коммутативную группу относительно операции сложения; кроме того, существуют единичный и обратный элементы относительно операции сложения; • умножение и сложение удовлетворяют ассоциативному и дистрибутивному законам. -1 не всегда. Например, если модуль m = 26, то значения 2-1(mod 26) и 13-l(mod 26) не могут существовать. • Если модуль m является простым числом p, то существует обратная величина любого ненулевого элемента t из значения (при m = p), поскольку t (mod m), 2t (mod m), 3t (mod m),.... (p-1) t (mod m) -1. Множество , где p - простое число, является примером алгебраической системы, называемой конечным полем. Ненулевые элементы мультипликативную группу. Множество всех n-грамм образуют с компонентами из кольца образует векторное пространство над кольцом . Каждая n-грамма называется вектором. В векторном пространстве для векторов определены операции сложения и вычитания по модулю n, а также скалярное умножение вектора на элемент t кольца . Сложение и скалярное умножение являются операциями, удовлетворяющими коммутативному, ассоциативному и дистрибутивному законам. Вектор комбинацией векторов является линейной , если Линейное преобразование является отображением: 13 , , которое удовлетворяет условию линейности для всех s, t в и в Линейное преобразование х n вида . может быть представлено матрицей размером n , причем или Базисом для векторного пространства является набор векторов из , которые линейно независимы и порождают базис для содержит n линейно независимых векторов. Любой набор из n векторов, которые линейно независимы над Пусть причем . Каждый является базисом. является линейным преобразованием, описываемым матрицей , 14 . Если векторы линейно независимы над линейно независимы над определитель матрицы , обозначаемый как , тогда их образы только в том случае, если , не делится на любое простое p , которое делит m. В этом случае преобразование называется обратимым (или невырожденным) линейным преобразованием, имеющим обратное преобразование : , , (8) где - единичная матрица. Кроме того, преобразованием. также является линейным Например, когда m=26 и матрица преобразования то определитель этой матрицы Поэтому существует обратное преобразование что . Нетрудно убедиться, удовлетворяет соотношению 15 Пусть является линейным преобразованием на с матрицей Используем это преобразование для определения биграммной подстановки в английском алфавите {ABCDEFGH…XYZ}. Сначала разобьем n-грамму открытого текста на биграммы, причем выберем n кратным 2, например, 12-грамма PAYMOREMONEY делится на шесть биграмм: PA YM OR ЕМ ON EY Затем в каждой биграмме открытого текста заменим каждую букву ее числовым эквивалентом из таблицы: Преобразование биграмм открытого текста в биграммы осуществляется в соответствии с уравнением шифртекста или где и - вектор-столбцы биграмм шифртекста и открытого текста соответственно. Получаем 16 Заменяя в биграммах шифртекста числа на соответствующие буквы согласно табл.2.2, получаем 12-грамму шифртекста: ТЕ ЕЕ PJ WQ DP GY Для расшифрования биграмм шифртекста и восстановления биграмм открытого текста необходимо выполнить обратное преобразование согласно уравнению . В рассмотренном примере матрицы преобразования имели размер 2х2 и шифровались биграммы (пары) букв. Хотя буква Е может быть зашифрована по-разному в различных парах исходного сообщения, одна и та же пара, например ЕМ, будет шифроваться всегда одинаково на протяжении всего исходного текста.Система Хилла является одноалфавитной в широком смысле слова. Завдання для самостійного розвязку. Задача 1( 1 бал). Зашифрувати повідомлення АПЕЛЬСИН шифром Цезара з ключем (m 1)mod 23 , де m - номер за списком у журналі. Задача 2(1 бал). За допомогою афінної системи підстановок Цезара зашифрувати повідомлення. Ea,b (t ) at b(mod m). a , b - цілі числа 0 a, b m НОД (a, m) =1. Параметр a обрати самостійно згідно з умовами. Параметр b та повідомлення, яке треба зашифрувати надано у таблиці 8. Алфавіт (російський чи український) обрати самостійно. 17 № Параметр b Відкрите повідомлення вар. 1 3 КАЛАМБУР 2 5 МАТЕМАТИКА 3 7 КРИПТОГРАФІЯ 4 1 КРИПТОАНАЛІЗ 5 2 ШИФР 6 4 АЛГЕБРА 7 6 ГЕОМЕТРІЯ 8 8 ПРАВИЛО 9 9 ДИПЛОМ 10 1 БІОЛОГІЯ 11 3 ГЕОГРАФІЯ 12 5 ХІМІЯ 13 7 ІНСТИТУТ 14 4 ШКОЛА 15 6 ГІМНАЗІЯ 16 8 ЛІЦЕЙ 17 9 КНИГА 18 3 ГАЗЕТА 19 5 ЖУРНАЛ 20 7 ФІЗИКА 21 2 ПРІНТЕР 22 4 ТЕЛЕВІЗОР 23 6 АУДИТОРІЯ 24 8 ДЕКАНАТ 25 9 ФАКУЛЬТЕТ 26 3 СТУДЕНТ 27 5 ЕКЗАМЕН 28 7 ПРАКТИКА 29 4 КРЕДИТ Таблиця 8 Задача 3. ( 1 бал). Дана система Цезаря з ключовим словом. Алфавіт (російський чи український) обрати самостійно. Зашифрувати повідомлення надане в таблиці. Ключ також надано в таблиці 9. Ключове слово АПЕЛЬСИН. № вар 1 2 3 Ключ 7 8 9 Відкрите повідомлення КАЛАМБУР МАТЕМАТИКА КРИПТОГРАФІЯ 18 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 10 11 12 13 14 15 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Таблиця 9 КРИПТОАНАЛІЗ ШИФР АЛГЕБРА ГЕОМЕТРІЯ ПРАВИЛО ДИПЛОМ БІОЛОГІЯ ГЕОГРАФІЯ ХІМІЯ ІНСТИТУТ ШКОЛА ГІМНАЗІЯ ЛІЦЕЙ КНИГА ГАЗЕТА ЖУРНАЛ ФІЗИКА ПРІНТЕР ТЕЛЕВІЗОР АУДИТОРІЯ ДЕКАНАТ ФАКУЛЬТЕТ СТУДЕНТ ЕКЗАМЕН ПРАКТИКА КРЕДИТ Задача 4 (1 бал). Зашифрувати повідомлення шифром "двійковий квадрат" Уітстона. (див табл.3) у російському алфавіті. Повідомлення брати згідно з варіантом у таблиці 10. Завдання 5 ( 1 бал). Зашифрувати шифром Віженера повідомлення надане в таблиці у відповідності з номером по списку в журналі. Ключ також надан в таблиці 10. 1 2 3 4 5 6 ДОБРИЙ РАНОК ВАЖКА СПРАВА У НЕДІЛЮ СЬОМОГО ЗАВТРА ВРАНЦІ ДОПОМОГА ПРИЙДЕ ЧЕКАЙТЕ ПРИЇЗДУ ЯБЛУКО ФОРЕЛЬ ЯКОР КЛЮЧ ДИПЛОМ СЕЗОН 19 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 СПРАВУ ЗАКІНЧЕНО ЗАЛИШАЙТЕСЬ НА МІСЦІ ВАЖКИЙ ІСПИТ НЕСПОДІВАНА ЗУСТРІЧ ТРИВАЛЕ ВІДРЯДЖЕННЯ ЗАГАЛЬНІ ЗБОРИ ШВИДКИЙ ПОРЯТУНОК ОСТАННЯ НАДІЯ ЧЕКАТИ ЗВІСТКИ ЗАЛИШИТЬ МІСТО РЯТУВАТИ МАЙНО ВІДШКОДУВАТИ ВТРАТИ КІЛЬКОРАЗОВЕ ШИФРУВАННЯ КРИПТОГРАФІЧНЕ ЗАСТОСУВАННЯ СИМЕТРИЧНА КРИПТОСИСТЕМА ШИФР ВІЖЕНЕРА ДОБРИЙ ВЧИНОК МІСТО ЗУСТРІЧІ ВАЖКА СПРАВА У НЕДІЛЮ СЬОМОГО ЗАВТРА ВРАНЦІ ДОПОМОГА ПРИЙДЕ ЧЕКАЙТЕ ПРИЇЗДУ СПРАВУ ЗАКІНЧЕНО ЛЕМОН БЛИСК БРАТ МОРЕ КНИГА ЯБЛУКО ФОРЕЛЬ ЯКОР КЛЮЧ ДИПЛОМ СЕЗОН ЛЕМОН БЛИСК БРАТ МОРЕ КНИГА СЕЗОН ЛЕМОН БЛИСК БРАТ МОРЕ КНИГА ЯБЛУКО ФОРЕЛЬ Таблиця 10. Завдання 6 ( 1 бал ). Зашифрувати перші три букви свого імені , використавши шифр одноразового блокноту з ключем 110000 011110 010100. Букви імені для цього з початку надати в двійковій формі ( кожен блок з шести цифр є номером відповідної букви у двійковому записі). Завдання 7 (1 бал) Зашифровать повідомлення шифром Playfair .Використати таблицю 2.4. Відкрите повідомлення взяти в таблиці 11. № вар. Повідомлення 1 LIVE AND LEARN 20 2 I CHOOSE PEASE 3 BUSINESS IS BUSINESS 4 NO NEWS IS A GOOD NEWS 5 NEW GENERATION 6 SPORT GAMES 7 PEASE IN SPASE 8 DONALD DUCK 9 I LOVE BEATLES 10 NUCLEAR WEAPONS 11 MANKIND IS ONE 12 LIVE AND LEARN 13 I CHOOSE PEASE 14 BUSINESS IS BUSINESS 15 NO NEWS IS A GOOD NEWS 16 NEW GENERATION 17 SPORT GAMES 18 PEASE IN SPASE 19 DONALD DUCK 20 I LOVE BEATLES 21 NUCLEAR WEAPONS 22 MANKIND IS ONE 23 LIVE AND LEARN 24 I CHOOSE PEASE 25 BUSINESS IS BUSINESS 26 NO NEWS IS A GOOD NEWS 27 NEW GENERATION 28 SPORT GAMES 29 PEASE IN SPASE Таблиця 11 Завдання 8 (1 бал). Зашифрувати шифром Гронсфельда повідомлення нгадане в таблиці 10 згідно з варіантом. Ключ розрахувати за формулою 15148 – 16k, де k – номер за списком у журналі. Завдання 8 ( 5 балів). За допомогою криптосистеми Хіла зашифрувати повідомлення LET PEASE BE у англійському алфавіті. m 26 . Матриці перетворення надані у таблиці 12. № вар. Матриця №вар. Матриця перетворення перетворення 1 17 3 6 4 1 2 2 7 7 2 6 3 18 11 5 4 11 1 5 21 3 3 6 4 1 5 3 1 5 6 5 2 1 6 5 7 7 1 7 5 2 5 1 8 6 3 11 1 9 13 2 2 13 10 1 11 11 13 11 1 2 2 1 12 13 11 7 3 13 4 3 7 4 14 3 3 3 3 15 4 7 3 4 16 3 7 2 5 19 5 11 20 1 4 5 1 21 11 4 1 2 22 4 17 1 4 23 2 17 17 4 24 2 1 17 2 25 4 1 1 2 26 5 19 1 5 27 2 19 19 2 28 5 1 19 5 29 2 1 23 7 30 2 1 23 2 7 1 1 7 Таблиця 12 22