Образователни технологии
КРИПТОГРАФИЯ И КРИПТОАНАЛИЗ С MS EXCEL
https://doi.org/10.53656/math2022-1-4-kri
Резюме. В статията са дадени примери за реализация в средата на MS Excel на три добре познати криптографски алгоритъма – шифрите на Цезар, на Виженер и на Хил. Демонстрирано е успешно разбиване на тези шифри с атака с груба сила, честотен анализ и с известни двойки съобщениекриптограма. За целите на криптоанализа са определени относителните честоти на буквите и е изчислен индексът на съвпадение (\(\boldsymbol{K}\) ) за съвременния български език. Класическият метод за честотен криптоанализ е допълнен с оценка на взаимната корелация между честотата на буквите в естествения език и в криптирания текст. Показани са действия с матрици по модул в средата на MS Excel.
Ключови думи: криптоанализ; MS Excel
Увод
При изучаването на коя да е предметна област има две главни направления – придобиване на теоретични знания и усвояване на практически умения под формата на решаване на задачи или провеждане на експеримент. Характерно за областта на криптографията и криптоанализа е, че решаването на задача или провеждането на експеримент включват голям брой операции, много от които се повтарят многократно. Решаването им „на ръка, с молив и хартия“ изисква много време и е непривлекателно. Поради това е целесъобразно да се използват подходящи програмни средства.
В настоящата статия се предлага използване на MS Excel. В него има редица функции, които са подходящи за реализиране на криптографски преобразувания. Excel дава възможност за нагледно демонстриране на целия процес на криптиране или криптоанализ на информацията.
Представени са три вида атаки срещу криптографски системи – атака с груба сила (Brute-force Attack), честотен анализ (Frequency Analysis Attack) и атака с известни двойки съобщение – криптограма (Knownplaintext Attack).
Действието на атаките е показано върху три от т.нар. исторически шифри – на Цезар (Caesar), на Виженер (Vigenere) и на Хил (Hill). Те не се прилагат в чистия си вариант, но рационалните им идеи се използват в редица съвременни криптографски алгоритми. Цикличното изместване по реда на буквите в азбуката в шифрите на Цезар и на Виженер е сумиране по модул, което се използва в съвременните симетрични шифри. Идеята на Хил за умножение с матрици по модул намира приложение в базираните на алгоритъма Rijndael криптосистеми.
В изложението се счита, че методите за защита на информацията чрез шифриране или криптиране са предмет на криптографията и се прилагат от криптографи, а методите за преодоляване на тази защита са предмет на криптоанализа и се прилагат от криптоаналитици.
Приема се, че криптоаналитикът има потенциален достъп до всички криптограми, тъй като те се предават по незащитени комуникационни канали. В съответствие с известния принцип на Керкхофс, криптоаналитикът знае алгоритъма за криптиране, но не знае ключа, с който е криптирано съответното съобщение (Petitcolas 2011).
Атака с груба сила
Атаката с груба сила върху една криптографска система е изпробване на всички възможни ключове до намиране на такъв, който декриптира прехванатата криптограма в единствено възможно смислено съобщение.
Колкото е по-малък броят на възможните ключове, толкова по-малко време ще бъде необходимо за тяхното изпробване. Като пример е избрана атака върху един от най-простите шифри – шифъра на Цезар. Цезар е използвал тайнопис, основан на изместване от ляво надясно на буквите на текста на съобщението на три позиции спрямо реда им в азбуката. Така A се преобразува в D, B в F, C в G и т.н. Ако се достигне краят на азбуката, се продължава от първата буква, т.е. изместването е циклично. Декриптирането се състои в обратно връщане на буквите от криптограмата на същите три позиции от дясно наляво, при което се получава текстът на съобщението.
В по-широк смисъл под шифър на Цезар се разбира изместване на буквите на произволен брой позиции, като броят на възможните измествания е равен на броя на буквите в азбуката. Всъщност това са всички възможни ключове. Малкият им брой дава възможност шифърът на Цезар успешно да се атакува с груба сила. Шифърът на Цезар по „елегантен начин“ може да бъде представен с помощта на модулната аритметика (Paar & Pelzl 2010).
Ако с \(m\) се означи номерът от азбуката на буквите от съобщението, с \(k\)-ключът, т.е. броят на позициите, на които се изместват буквите, с \(c\) - номерът от азбуката на буквите от криптограмата, и с \(N\) - броят на буквите в азбуката, то моделът на криптиращата функция е
(1)\[ c=E(m) \equiv(m+k)(\bmod N), \]
а на декриптиращата
(2)\[ m=D(c) \equiv(c+(N-k))(\bmod N) . \]
Шифърът на Цезар е моноазбучен, т.е. на една и съща буква от съобщението съответства една и съща буква от криптирания текст.
Криптирането лесно се реализира в средата на Excel (фиг. 1). Използван е български език. Криптират се само буквите от текста, без интервалите. Дължината на съобщението е ограничена до 30 символа (вкл. интервалите), като няма пречка да се увеличи. Използва се помощен масив за преобразуване на буквите от съобщението в номера от азбуката и на номерата от азбуката в букви (клетки A9:C38). В клетка B1 се въвежда стойността на ключа. В клетка D1 се въвежда текстът за съобщението. В клетки H3:AK3 текстът на съобщението се разбива по букви с функцията MID. В клетки H4:AK4 буквите се преобразуват в номера, като се използват функцията VLOOKUP и помощният масив. В клетки H5:AK5 с функцията MOD се реализира криптирането (1). В клетки H6:AK6 с още едно използване на VLOOKUP се извършва преобразуване от номера в букви на криптограмата. Последната операция е да се формира сливане на буквите на криптограмата в текстов низ с функция CONCATENATE в клетка D2.
Фигура 1 . Криптиране на съобщение с шифъра на Цезар в Excel
По подобен начин се извършва и декриптирането (фиг. 2). Разликата е, че в клетка D1 се въвежда криптограмата, в клетка D2 се извежда декриптираният текст и в клетки H5:AK5 се използва функцията (2).
Фигура 2 . Декриптиране на съобщение с шифъра на Цезар в Excel
На основата на алгоритъма за декриптиране шифърът на Цезар може да се разбие. Прехванатата криптограма се декриптира последователно с ключ \(1,2,3, \ldots \mathrm{~N}-1\) и се проверява дали при някое от декриптиранията не се получава смислено съобщение. На фиг. 3 е показано такова декриптиране на криптограмата КАПЦД. С ключ 4 се достига до смислената дума ЖЪЛТА.
Фигура 3 . Атака с груба сила върху шифъра на Цезар в Excel
На пръв поглед, всичко изглежда перфектно. Ако обаче продължим проверката, установяваме, че с ключ 22 се декриптира още една смислена дума – ТИЧАМ. Не е ясно кое точно е изходното съобщение. Следователно атаката с груба сила невинаги е успешна. Ако една и съща криптограма с различни ключове се преобразува в няколко смислени съобщения, се казва, че има лъжливи ключове. Именно лъжливите ключове са тези, които осигуряват мощността на криптографската система. Колкото са повече те, толкова е по-голяма криптоустойчивостта. При шифъра на Цезар такива лъжливи ключове са по-скоро изключение.
Шифърът на Цезар е много слаб. Успешното му използване се е дължало единствено на факта, че нивото на криптоанализа сред противниците на Цезар е клоняло към нула.
Честотен анализ
Ако броят на всички възможни ключове е твърде голям, атаката с груба сила изисква много време или много ресурси. В такива случаи обикновено се използва честотен анализ на съобщението.
Честотният анализ се основава на факта, че в естествените езици буквите се срещат с различна честота. В английския език например най-често срещаната буква е E, а в българския – А. Срещат се различни оценки на честотите, които се различават, затова тук ще се използват данни, получени при изследване честотата на буквите в първата част на романа „Тютюн“ от Димитър Димов (табл. 1).
Таблица 1. Относителна честота на буквите в българския език (анализ на романа „Тютюн“ от Д. Димов, том 1)
Ще бъде показана атака срещу един шифър, широко известен като шифър на Виженер. Klima & Sigmon (2019) го описват под името „шифър на Виженер с ключ“.
Шифърът на Виженер е многоазбучен, т.е. на една буква от изходния текст могат да съответстват различни букви от шифрования текст. При този шифър ключът е една дума, наричана понякога лозунг.
Реализацията на криптирането в Excel е показана на фиг. 4.
Фигура 4. Криптиране с шифър на Виженер
Съобщението се въвежда в слети клетки A4:J24. За затрудняване на криптоанализа то се преобразува с функцията SUBSTUTUTE така, че да съдържа само букви, без препинателни знаци и интервали между думите (клетки A286:J48). Преобразуваното съобщение се разбива по букви в колона U. В колона \(V\) на всяка буква от текста се съпоставя азбучния Ӝ номер от 0 до 29. Така А е \(0, \mathrm{D}-1, \mathrm{~B}-2\) и т.н.
Нека лозунгът е думата ДОБРИЧ. Дължината му е равна на 6. В колона W се попълват многократно номерата от 1 до 6. В колона X се попълват многократно буквите от лозунга, а в колона Y – азбучните номера на буквите от лозунга.
При криптирането на информацията към азбучния номер на всяка буква от съобщението се прибавя азбучният номер на буквата от лозунга. Полученото число е азбучният номер на буквата от криптограмата. Ако се стигне до последната буква в азбуката, се продължава циклично от началото, т.е сумата е по модул 30. Тези стойности се изчисляват в колона Z. В колона AA кодовете на буквите от колона Z се преобразуват в букви от азбуката. С конкатенация от получените букви се получава текстът на криптограмата (клетки AE2:AN20).
Ако дължината на лозунга \(l\), математическият модел на криптиращата функция е
(3)\[ c(i)=(m(i)+k(i(\bmod l)))(\bmod N), \]
където \(\quad m(i)\)– азбучният номер на \(i\)-тата буква от изходния текст;
\(k(i(\bmod l))\)– азбучният номер на \(j\)-тата буква от лозунга;
\(N\)– брой на буквите в азбуката;
\(c(i)\)– азбучен номер на \(i\)-тата буква от криптирания текст.
Вижда се, че няма еднозначно съответствие между буквите от изходния текст и тези от криптирания. Буквата О от трета позиция на съобщението се криптира в П, а буквата О от шеста позиция – в З. Възможно е обаче някоя буква да се криптира по един и същ начин, например буквите Р на втора и двадесетa позиция. При тях има съвпадение на криптиращата буква от лозунга.
Декриптирането се извършва по обратния начин – всяка буква от декриптирания текст се получава от буквите на криптирания с циклично изместване вляво на толкова позиции, колкото е азбучният номер на съответната буква от лозунга, или с циклично изместване вдясно на толкова позиции, колкото е стойността на обратния елемент по събиране по модул \(N\) на азбучния номер на съответната буква от лозунга. Моделът на декриптиращата функция е
(4)\[ m(i)=(c(i)+N-k(j))(\bmod N), \]
Предполага се, че буквите в лозунга са различни (в противен случай шифърът на Виженер се изражда в шифър на Цезар). Тогава броят на различните ключове ще бъде равен на вариации без повторения от \(N\) елемента, \(k\)-ти клас, където \(N\) е броят на буквите в азбуката, а \(k\) - дължината на лозунга:
\[ V_{N}^{k}=\tfrac{N!}{(N-k)!} \]
При лозунг с голяма дължина атаката с груба сила е много по-трудна от тази на шифъра на Цезар. Ако например \(N=30\) и \(k=10\) то \(V_{N}^{k} \approx 2^{46}\).
Шифърът на Виженер е бил смятан за абсолютно устойчив в продължение на около 300 години и дори не е имало идея как да се определи дължината на лозунга. Едва през XIX век английският математик Бебидж (Charles Babbage) и пруският майор от запаса Казиски (Friedrich Wilhelm Kasiski) независимо един от друг откриват начин за определяне дължината на лозунга, известен като тест на Казиски. В началото на ХХ век американският криптограф и криптоаналитик Уйлям Фридман открива т.нар. индекс на съвпадение \(\boldsymbol{\kappa}\) (капа) на естествения език (Friedman 1939). На основата на индекса на съвпадение е изведена формула за приблизително определяне дължината на лозунга, известна като тест на Фридман (Klima & Sigmon 2019). По-удобен за прилагане в средата на Excel обаче e един метод, който обединява идеите на Казиски и Фридман (Stinson & Paterson 2020).
Нека е даден текст на естествен език с дължина \(n\). Както беше казано, буквите в естествените езици се срещат с различна честота. Следователно в този текст \(i\)-тата буква ще се среща \(m\) пъти. Да оценим статистическата вероятност две случайно избрани букви от текста да съвпаднат. Вероятността първата избрана буква да е \(i\)-тата, \(\tfrac{m_{i}}{n}\). Вероятността и втората избрана буква да е і-тата, \(\tfrac{m_{i}-1}{n-1}\). Сумата от вероятностите за всички букви от азбуката е
(5)\[ \kappa_{p}=\sum_{i=1}^{N} \tfrac{m_{i}\left(m_{i}-1\right)}{n(n-1)} \]
и се нарича индекс на съвпадение за текста на естествен език.
Ако дължината на текста е неограничено голяма, т.е. \(n \rightarrow \infty\), то \(\tfrac{m_{i}}{n} \rightarrow p_{i}\) и \(\tfrac{m_{i}-1}{n-1} \rightarrow p_{i}\), където \(p_{i}\) е вероятността за поява на \(i\)-тата буква в естествения език. Тогава (5) може да се запише
(6)\[ \kappa_{p}=\sum_{i=1}^{N} p_{i}^{2} \]
Като се използва табл. 1, за индекса на съвпадение на българския език се получава \(0,0633{ }^{1)}\).
Ако имаме текст, съставен от случайна съвкупност от букви (не на естествен език), то всяка буква се среща с една и съща вероятност и индексът на съвпадение на текста ще бъде равен на
(7)\[ \kappa_{r}=\sum_{i=1}^{30}\left(\tfrac{1}{30}\right)^{2}=\tfrac{1}{30} \approx 0,0333 . \]
Нека е прехваната криптограмата, показана на фиг. 5, вляво. За да определим дължината на лозунга, записваме в един стълб (стълба S) по букви криптограмата и след това в стълбовете T, V, X и т.н. я записваме отново, но изместена циклично на \(1,2,3\) и т.н позиции нагоре (фиг. 5).
Фигура 5. Анализ на дължината на лозунга
Сравняваме символите от основния стълб (T) и изместените, като в съседните стълбове (U, W, Y и т.н.) записваме нула, ако символите не съвпадат, и единица, ако символите съвпадат. Изброяваме единиците по стълбове и пресмятаме каква е относителната честота на съвпаденията.
Ако изместването не съвпада с дължината на лозунга, съвпаденията ще са съвсем случайни и ще са близки до 0,0333. Ако изместването съвпада с дължината на лозунга, една и съща буква от лозунга ще криптира съвпадащите букви от съобщението и относителната честота ще бъде близка до индекса на съвпадение на естествения език, т.е. до 0,0633. На диаграмата се вижда, че такива пикове има за измествания 8, 16 и 24. Ако дължината на лозунга е 8, то пикове ще има и за всички отмествания, кратни на 8, т.е. за \(16,24,32\) и т.н. Следователно може да се приеме, че дължината на лозунга е 8. В клетка Q21 се въвежда избраната дължина на лозунга.
Следващата стъпка е да се определят буквите от лозунга. Множеството от символи на криптирания текст се разделя на класове според това с кое число по модул 8 са сравними номерата на позициите им. Ако позицията на символа е \(i\), то към k-тия клас принадлежат тези, за които \(i \equiv k(\bmod 8)\) (фиг. 6).
Фигура 6. Разпределение на буквите от криптограмата по класове
За всеки клас се определя относителната честота на буквите (фиг. 7).
Фигура 7. Относителна честота на буквите по класове
От табл. 1 и от фиг. 7 се построяват хистограми на разпределението на буквите в българския език и в класовете. На фиг. 8 са представени хистограмите на честотата на буквите в българския език и на буквите в първи клас.
За българския език имаме характерни пикове в първа (А), трета (В), шеста (Е), девета (И) позиция. В такава последователност, но изместени на две позиции, има характерни пикове за хистограмата на буквите от първи клас. Следователно най-вероятно буквите от втори клас са изместени с две позиции надясно, т.е. първата буква от лозунга е В (с азбучен номер 2).
Този графичен начин може да доведе до грешки. Затова тук се предлага начин, който може да бъде наречен аналитичен. При него се използва оценка на взаимната корелация между честотата на буквите в естествения език и в отделните класове. По аналогия с взаимно корелационните функции се отчита при кое циклично изместване на разпределението на буквите в отделните класове спрямо разпределението на буквите в азбуката има най-силна връзка. Използва се функцията CORREL (фиг. 9).
Фигура 8. Хистограми на разпределението на буквите
Фигура 9. Корелационни оценки
Корелират се относителните честоти на буквите от първи, втори и т.н. клас (колони BS, BU и т.н.) с относителната честота на буквите от азбуката (колона DT). Резултатите се записват в колони DW, DX и т.н., като по редове се пресмятат корелационните коефициенти за циклично изместване \(0,1,2\) и т.н. С условно форматиране са показани максималните стойности на корелационния коефициент за съответния клас. Вижда се, че за клас 1 той се получава при изместване 2 (буква В), а за клас 3 – при изместване 11 (буква Л).
В резултат на този анализ се определя търсеният лозунг (фиг. 10). На ред 2 в листа са изведени буквите от лозунга (фиг. 10).
Фигура 10. Определяне на лозунга (ключа)
Декриптирането се реализира подобно на криптирането (фиг. 11).
Фигура 11. Декриптиране
Остава декриптираното съобщение да се дообработи, като думите се разделят с интервали. Окончателно се получава:
В ПОЛУНОЩ СЕДЯХ ПРИВЕДЕН ОТЕГЧЕН ОТЧАЯН БЛЕДЕН НАД ЗАБРАВЕНО ПОЗНАНИЕ ТОМ СЪС ТАЙНСТВЕНИ СЛОВА... и т.н. \({ }^{2)}\)
Атака с помощта на двойки некриптиран/криптиран текст
Криптоаналитикът има възможност да прехване всички криптограми (тъй като те се изпращат по незащитен канал). Да допуснем, че освен това за някои криптограми или за част от тях му е известен и изходният текст. Това не е невъзможно. В много организации съществуват формални правила за оформяне на документи, които определят къде и как да се поставят адресите, датата на създаване или грифът за сигурност. Възможно е да бъде проявена небрежност от страна на криптографа или да има предателство. Целта на криптоаналитика е да разкрие ключа, който е използван, за да може да декриптира и останалите прехванати криптограми.
Ще бъде показана такава атака срещу шифъра на Хил (Hill 1929).
Идеята на шифъра на Хил е следната. Нека азбуката съдържа N символа. На всяка буква от азбуката се присвоява целочислен номер от 0 до \(\mathrm{N}-1\). Ключ на шифъра е квадратна матрица \(K_{n \times n}\) по модул N, която е обратима. Матриците по модул \(N\) са матрици, чиито елементи са целочислени и заемат стойности от 0 до \(N-1\). Те притежават всички свойства на обикновените матрици и с тях могат да се извършват всички действия както с обикновените матрици. Единственото допълнително изискване е всички операции да се изпълняват по модул.
За намиране на обратна матрица по модул се използва формулата
(8) \(K^{-1}\pmod{N}=[\det (K)]^{-1}\cdot\left|\begin{vmatrix} K_{11} & K_{12} & ... & K_{n1} \\ K_{12} & K_{22} & ... & K_{n2} \\ ... & ... & ... & ... \\ K_{1n} & K_{2n} & ... & K_{nn} \\ \end{vmatrix}\right|\pmod {N}\)
където \(K_{ij}\) са адюнгираните количества за матрицата \(K\) , а \([\det (K)]^{-1}\) е число такова, че е изпълнено \([\det (K)]^{-1}\cdot \det (K)\pmod{N}\equiv 1\) . Следователно, за да бъде матрицата обратима, \(\det (K)\) и \(N\) трябва да са взаимно прости. При конструиране на шифър на Хил е целесъобразно за основа на модула да се избере подходящо просто число. Ако използваме българската азбука, удобно е да се избере N = 31, като освен буквите се използва и символът интервал.
Всяка буква от съобщението се замества с нейната числена стойност. Получената последователност от числа се разделя на блокове \(m_1,m_2,...,m_S\) всеки от които е с дължина \(n\) . Блоковете формират матрица \(M_{S\times n}\) .
При криптирането матрицата \(M_{S\times n}\) се умножава на \(K_{n\times n}\) по модул \(N\) . Получената матрица \(C_{S\times n}\) е криптограмата:
(9) \(M_{S\times n}\cdot (\mod N)=C_{S\times n}.\)
При декриптирането получената криптограма се умножава по обратната трица на \(K_{n\times n}\) . Действително
(10) \(C_{S\times n}\cdot K_{n\times n}^{-1}=(M_{S\times n} \cdot K_{n \times n})\cdot K_{S\times n}^{-1}=M_{S\times n}\cdot (K_{n\times n}\cdot K_{n\times_n}^{-1})=M_{S\times n}.\)
Нека ключовата матрица е от ред 5. Получаването на обратна матрица по модул в средата на Excel с изчисляване на адюнгираните количества е трудоемко. Затова може да се използва по-удобен начин (фиг. 12).
Попълва се по произволен начин матрицата K (клетки E4:I8), като в клетка L4 се изчислява детерминантата Ӝ с помощта на функцията MDETERM. клетка L5 се изчислява модулът на детерминантата (функция MOD, основа на модула – 31). В клетка L6 се изчислява обратния елемент на детерминантата по модул 31. За целта използваме таблица на обратните елементи (клетки A4:B33).
Декриптиращата (обратната) матрица получаваме с формулата
=ROUND(MOD($L$4*MINVERSE(E4:I8)*$L$6;$C$1);0).
Използваме функцията MINVERSE, но резултата умножаваме по детерминантата на матрицата (клетка L4), като по този начин от обратната получаваме матрицата от адюнгираните количества. Тази матрица умножаваме на обратния елемент на детерминантата (клетка \(\mathrm{L6}\) ), и резултатът се взема по модула с основа, записана в клетка C1.
Тъй като при изчисляването на междинните резултати в средата на Excel е възможно да се получат грешки от закръгления, крайният резултат се закръглява до цяло число с функция ROUND.
За контрол на верността в клетки E13:I17 е представено произведението на изходната и обратната матрица. Използва се формулата за умножение по модул на матрици
=MOD(MMULT(E4:I8;O4:S8);$C$1).
Фигура 12. Получаване на обратна матрица по модул
Както се вижда, резултатът е единична матрица.
Криптирането е показано на фиг. 13.
Фигура 13. Криптиране с шифър на Хил
В клетки А3:А10 се записва текстът на съобщението във вид на петбуквени блокове. В клетки B3:F10 блоковете се разбиват по букви, а в клетки H3:L10 се записват числените стойности на буквите. Използват се функцията VLOOKUP и помощен масив в клетки AG3:AI33. За получаване на числената криптограма съобщението се умножава по криптиращата матрица по модул, след което се преобразува в текст.
Характерно за шифъра на Хил е, че малки промени в съобщението водят до големи промени в криптограмата. В посочения пример някои от отделните съобщения се различават само с по една буква, но съответстващите им криптограми се различават тотално. Този ефект на разсейване затруднява криптоанализа.
По подобен начин се извършва и декриптирането (фиг. 14).
Фигура 14. Декриптиране с шифър на Хил
Нека сега да са прехванати няколко криптограми и за някои от тях да са известни съобщенията, които ги пораждат (фиг. 15). Предполага се, че всички са криптирани с един и същ ключ.
Фигура 15. Прехванати криптограми
Една идея за разбиване на шифъра на Хил е изложена в (Klima & Sigmon 2019). Известните двойки криптограма – текст се подреждат във вид на матрици. Ако умножим матрицата на криптограмите \(C\) с декриптиращата матрица \(K^{-1}\) (която е неизвестна за нас), ще получим матрицата от съобщенията \(M\), т.е \(C \cdot K^{-1}=M(\bmod N)\).
Решението на това матрично уравнение \(K^{-1}=C^{-1} \cdot M(\bmod N)\) е търсената матрица. То е показано в средата на Excel на фиг. 16.
Матрицата от криптограмите трябва да е неособена. В дадения пример матрицата от първите 5 криптограми е особена, затова са подбрани криптограми \(2,3,4,5\) и 6. Прилагат се функциите MINVERSE и MMULT по модул 31, аналогично на описаното по-горе. Матрицата за декриптиране е получена в клетки N24:R28.
Фигура 16. Намиране на ключа за шифъра на Хил
Декриптирането на останалите криптограми е показано на фиг. 17.
Фигура 17. Разбиване на шифъра на Хил
Заключение
В определени периоди представените криптографски алгоритми са били използвани успешно. Появата на нов научен инструментариум (включително развитието на изчислителната техника) е дало възможност за създаване на методи за тяхното разбиване за разумно време.
Анализът на недостатъците на разбитите алгоритми спомага за създаване на нови, по-мощни средства за криптографска защита. На мястото на разбитите алгоритми идват нови. С голяма степен на сигурност може да се твърди, че в резултат на натрупването на нови знания могат да бъдат създадени методи и за тяхното разбиване.
Както беше показано, Excel дава възможност за нагледно представяне на методите за криптиране и за криптоанализ. Представените разработки биха могли да се използват и за провеждане на експерименти. Интересни биха били например задачите за намиране на лъжливи ключове или за определяне на съотношението между дължината на ключа и дължината на съобщението, при което честотният анализ дава неверни резултати.
БЕЛЕЖКИ
1. Индексът на съвпадение е различен за различните езици. Според Фридман за английския той е 0,0667, за френския – 0,778, за немския – 0,0762, за италианския – 0,0738, и за испанския – 0,0775.
2. Целият текст на примера съдържа строфи 1 – 4 от „Гарванът“, автор Едгар Алън По, прев. Теменуга Маринова.
REFERENCES
FRIEDMAN, W. F., 1939. Military Cryptanalysis. Part II. (Unclassified in 1992, reprinted by Aegean Park Press).
HILL, L. S., 1929. Cryptography in an Algebraic Alphabet. The American Mathematical Monthly, 36(6), 306 – 312.
KLIMA, R. & SIGMON, N., 2019. Cryptology. Classical and Modern (\(2^{\text {nd }}\) ed.). Boca Raton: CRC Press.
PAAR, C. & PELZL, J., 2010. Understanding Cryptography. Berlin: Springer-Verlag.
PETITCOLAS F.A.P., 2011. Kerckhoffs’ Principle. In: van Tilborg H.C.A., Jajodia S. (eds) Encyclopedia of Cryptography and Security. Boston: Springer. https://doi.org/10.1007/978-1-4419-5906-5_487.
STINSON, D. R., PATERSON, M. B., 2019. Cryptography:Theory and Practice (\(4^{\text {th }}\) ed.). Boca Raton: CRC Press.