Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Из последнего равенства аналогичным образом для некоторого целого неотрицательного s получаем 1 страница




Займемся сначала определением длины ключа. В шифртексте выделим две пары одинаковых тетраграмм. Это «ШЫМГ» и «УШКЮ». Расстояния между ними соответственно равны 50 и 55. Далее отметим равные триграммы: «МРЮ», «ТПМ», «ПЪИ». Расстояния между ними соответственно равны 65, 100, 10. Наконец, найдем несколько одинаковых биграмм: «ИХ», «ЫЮ», «ФУ», «ХА», «УЯ», «ЯШ». Получаем соответствующие расстояния: 240, 90, 60, 30, 120, 55. Очевидно, что наибольший общий делитель указанных расстояний равен 5, что позволяет предположить, что длина ключа равна 5. Хотя имеются в тексте и биграммы, которые не вписываются в полученную картину. Именно, «ПП» и «УУ». Они дают соответственно расстояния 163 и 147. Но криптоаналитика скорее убеждают две найденные тетраграммы. Итак, считаем, что длина ключа равна 5. Теперь разобьем шифртекст на пять подпоследовательностей так, что каждая из них подпадает под одну букву ключа.

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

Ж____Г ____ У____Р____Т____П ____О____Л____П____, ____Ш____Г____ Й ____ Б ____, ____. ____Р____Ж____Д____Ш ____, ____Ш____Ф____Б____Ж____Т____ К____Т____Л____И____Ь____Я____Ф____Х____Й____Т____ _ ____Ь____Ш ____ Ъ ____У ____ Ъ____А____У____Ц____У____Щ____. ____Д____У____Ы ____У ____ Ъ____Ш____Р____П____Ц____Й____Ц____У____Я____Ъ____Ь____

 

_Я____Д____Ц____Ю____ _ ____Ь____Ц____Ь____У____Э____Ц____Й____. ____Ы____Р____Й____Ю____Й____Ь____Ы____Э____У____Ш____Й____Ъ____А

____ _ ____Ш____Ь____Й____Ь____Я____Ф____Х____Й____Т____ _ ____Ь____ Ш____Ъ____У ____ Ъ____А____У____Ц____У____Щ____. ____Д____У ____Ы ____У ____ Ъ____Ш____Р____П____Ц____Й____Ц____У____ Я____Ъ____Ь___

 

__Ш ____ И____Я____Ы____Д____О____Т____Я____И____Ы____Ш ____ Ф____Э

____Ъ____Х____Я____Т____П____И____Х____Ы____Я____П____Ф____И____Х

____Т____Ы____И____Ь____Э____З____С____Ъ____Х____П____Т____Р____Н

____И____Ш ____ И____Н____Ю____Ф____Я____Д____Э____Ш____Ъ____Х____Ш ____ И____Э____И____Б____И____Р____?____У____Ш____Х____И__

 

___Ы ____ Г____Ш____Е____О____З____П____, ____Х____Ю____Ы____У____, ____, ____Ч____, ____Щ____! ____ _ ____А____Ч____О____П____У____! ____ А____П____Ю____? ____, ____Н____О____Й____У____О____Ш____О____О

____Щ____, ____К ____! ____Ш____Ю____, ____У____О____У____О____К____ Я____К ____ Ы____Й____! ____Ш____Х____? ____Й____Ч____, ____П____. _

 

____М____Я____М____Ц____. ____Ц____М____, ____З____! ____М____Д____ У____Э____Ц____М____Х____Ц____С____Ц____. ____Т____М____? ____Я____ С____М____И____С____У____Ц____Ы____Ъ____Ы____ _ ____Х____Щ____У ____Х____? ____Ю ____ Ь____О____Щ____Т____? ____Д____М____Я____М ____С____Ю ____ М____Ь____Я____Ю____. ____С____М____! ____У____М____Ц

 

Здесь можно воспользоваться частотным методом, ибо каждая последовательность получается сдвигом на некоторую величину, определяемую соответствующей буквой ключа. В первой последовательности знак «,» встречается 9 раз, и для начала будем считать что этот знак получается из знака «_», что влечет номер первой буквы ключа, а именно 1, т.е. это буква «Б». Во второй последовательности нет существенного превалирования одного знака над другими. Три буквы «Ь», «У», «Й» встречаются 7 раз. Если считать, что они являются образами буквы «О», то получаем три варианта ответа для ключевой буквы: «О», «Е», «_» соответственно. Будем считать (хотя это вовсе необязательно), что ключ есть «словарный» лозунг. Поэтому третий вариант сразу отпадает. В третьей последовательности выделяется буква «И», которая встречается 11 раз. Если считать, что это образ пробела «_», то получим для третьей буквы ключа знак «Н». В четвертой последовательности наибольшее количество раз (8) встречается буква «О». Если вновь считать ее образом пробела «_», то получим четвертую букву ключа – «У». Собирая буквы вместе, приходим к двум вариантам: «БОНУ» и «БЕНУ». Пробная расшифровка первых четырех букв дает слово «ЕСЛИ». Первое слово похоже на «БОНУС». Проверим пятую последовательность. В ней буква «М» встречается 12 раз. Если считать, что прообраз и этой буквы есть пробел «_», то получим как раз пятую букву ключевого слова «С», что дает в расшифровке первых пяти букв «ЕСЛИ_»! Теперь можно с определенной уверенностью сказать, что ключевое слово найдено, хотя, конечно, пяти букв маловато с точки зрения существования ложных ключей, но в данном случае все получается, и тем самым можно выявить открытый текст:

 

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

 

8) Шифр Г. Вернама (одноразовый блокнот)

Этот шифр представляет собой реализацию идеи абсолютно стойкого шифра по К. Шеннону. Оцифрованный текст, записанный в двоичной системе счисления, представляет единую строку. Ключ есть строка битов, длина которой совпадает с длиной строки открытого текста, выбирается случайным образом из ключевого пространства с равномерным распределением вероятностей появления. Строка ключа складывается по модулю 2 со строкой открытого текста, в результате чего появляется закрытый текст сообщения, Для расшифровки достаточно прибавить к полученной строке ключ. Ключ должен быть использован только один раз для конкретного сообщения и после применения уничтожен. К недостаткам такой системы шифрования относят: во-первых, большую возможную длину ключа, что может оказаться весьма неудобным, а во-вторых, необходимость в абсолютно надежном канале снабжения переписывающихся сторон такими ключами.

Рассмотрим небольшой пример. Пусть требуется зашифровать слово «ВЕЧНОСТЬ» из сказки Г.Х.Андерсена. Запишем слово в оцифрованном виде:

«02 05 23 13 14 17 18 28». Переведем числа в двоичную систему:

«000010 000101 010111 001101 001110 010001 010010 011100».

Зададим случайный ключ, равный длине сообщения:

«100010 001011 101011 100101 100001 110101 001010 000101».

Сложим открытый текст со строкой ключа по модулю 2. Получим

«100000 001110 111100 101000 101111 100100 011000 011001».

Очевидно, что, прибавляя указанный ключ к шифртексту, возвращаем открытый текст. Выберем теперь другое слово той же длины, скажем, «МЕРИДИАН». В оцифрованном виде это будет: 12 05 16 08 04 08 00 13. В двоичном коде:

«001100 000101 010000 001000 000100 001000 000000 001101».

Тогда следующий ключ дает точно такой же шифртекст, что и исходное слово:

«101100 001011 101100 100000 101011 101100 011000 010100».

Таким образом, при однократном использовании и равновероятном выборе ключа предпочесть какую-либо из расшифровок перед другой не представляется возможным. Они равновероятны. Тем самым достигается шенноновская совершенность шифра. Говоря формально, этот шифртекст отвечает любому слову из восьми букв.

9) Аффинные шифры.

Общая идея таких шифров состоит в том, что рабочим алфавитом открытых и закрытых текстов является кольцо Z , где n – число символов алфавита естественного языка (речь идет о европейских языках). Таким образом, все вычисления производятся по модулю n. Если k – порядок шифра, то при генерировании ключей выбирают обратимую матрицу над кольцом Z и столбец над тем же кольцом размера . Пусть это будет матрица А и столбец S.

Открытый текст разбивается на k -граммы и оцифровывается (т.е. описывается через символы кольца Z ). Обозначив k -грамму открытого текста через Х, а соответствующий шифртекст через Y, процедуру шифрования можно описать так:

.

Результатом шифрования является набор образов вида Y.

Ключ расшифрования представляет из себя тоже пару: , , где , а . Таким образом,

.

Открытый текст представляет из себя набор прообразов вида X.

В случае, когда S = 0, говорят о линейном шифре, а если А = E, – о шифре сдвига.

Ключевое пространство для линейного шифра k -го порядка совпадает с множеством обратимых матриц k -го порядка над Z . Это количество оценивается значением обобщенной функции Эйлера:

,

где .

Этот вид шифра оказывается нестойким против атаки с выбором открытого текста. Действительно, достаточно получить шифртексты для k (где k – порядок шифра) единичных столбцов в линейном случае, т.е. для

, ,

где 1 расположена на i -м месте, и дополнительно еще один шифртекст для

в случае аффинного шифра. Знание таких шифртекстов позволяет легко получить ключ зашифрования и, значит, ключ расшифрования.

При атаке с шифртекстом для k = 1 и k = 2 применим частотный метод (простой или с учетом частот биграмм). В случае атаки с известным открытым текстом можно существенно уменьшить количество вариантов перебора. Приведем пример. Пусть задан открытый текст:

«WALTER SCOTT IS THE CREATOR OF THE ENGLISH HISTORICAL NOVEL»

Применим аффинный шифр второго порядка, для чего зададим матрицу второго по-рядка А и вектор сдвига S:

А = , S = .

Далее следует разбить текст на биграммы (если число символов оказывается нечет-ным, добавляем букву «J») и перевести его в цифровую запись, заменяя буквы и пробел номерами от 0 до 26. Получим представление открытого текста в виде:

 

«2200 1119 0417 2618 0214 1919 2608 1826 1907 0426 0217 0400 1914 1726 1405 2619

0704 2604 1306 1108 1807 2607 0818 1914 1708 0200 1126 1314 2104 1109».

 

Представляя теперь цифровую запись каждой биграммы в виде двумерного столбца,

умножаем полученное на матрицу А слева и прибавляем к результату столбец S. В итоге получаем цифровую запись шифртекста (напомним, что все вычисления производятся по mod 27):

 

«1409 2416 1215 1610 2319 1018 2307 1905 1309 0315 0201 0518 0003 1425 1122 1813

0124 1522 0818 0210 0802 2104 0719 0003 0525 2204 1110 2415 1714 0413».

 

Остается записать криптограмму в исходном алфавите:

«OJYQMPQKXTKSXHTFNJDPCBFSADOZLWSNBYPWISCKICVEHTADFZWELKYPROEN».

В случае атаки с известным открытым текстом предположим, что шифрующий алгоритм преобразует столбцы Х = (3, 11) , Х = (8, 23) , Х = (9,1) соответственно в Y = (22, 17) , Y = (17, 7) , Y = (5, 2) . Вычитая из равенства Y = А Х + S (для i = 1,2) равенство Y = A X + S, получаем систему

 

А = ,

 

А = .

 

Иначе, получается матричное равенство

А = .

Так как матрица А считается неизвестной, то это равенство можно рассматривать, как матричное уравнение относительно А. Если матрица в правой части обратима, то уравнение имеет единственное решение, если же необратима, то записывая А в виде

А = ,

можно получить линейные соотношения, доставляемые указанным уравнением, которые существенно сокращают возможный перебор вариантов (придется решать систему четырех линейных уравнений с четырьмя неизвестными над кольцом Z ). Напомним, что необходимым и достаточным условием обратимости матрицы D над кольцом Z является обратимость det D по mod n. Легко видеть, что в примере матрица справа в левой части равенства имеет определитель, равный 13 (mod 27), 13 = 25 (mod 27). Потому, используя обычный алгоритм нахождения обратной матрицы, получим, что

= .

Теперь можно найти и матрицу А:

А = = (mod 27).

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

A = , S = .

Оценивая величину для отметим, что прямая атака оказывается бесперспективной.

 

3. Некоторые задачи.

 

Задача 1. Сообщение на русском языке зашифровано шифром Виженера:

«ЮРНЯАЩСНЪЭУМТРЩЗЕКПТАРХМЯПУЛЮЖУМЮРНЯАРП_ЪЭУМУПЮ_ФКАМ

ЯЬЦЪЛКЭЭЩТЫНЮЖУМЩКРМВУВ_ОКЮТЫЮНОАЩЯНПКЩХБЭЬЧРШУМУРЮИВРНГВЩНПСЧЦМ_ЩЩЫЧРЫМЩЬ_ЫЫ»

Использован следующий алфавит:

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

Известно, что был применен следующий шифрующий ключ:

"СЛОН".

Расшифруйте сообщение.

 

Задача 2. Сообщение на русском языке зашифровано шифром Виженера:

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

Использован следующий алфавит:

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

Известно, что был применен следующий шифрующий ключ-перестановка из букв: «В», «Е», «З», «С».

Расшифруйте сообщение.

 

Задача 3. Сообщение на русском языке зашифровано линейным шифром первого порядка:

«ЭГДОЖНЦСМРОЦСЖЬАСЖОЛЦЫНЦПНЩ_ЖНЦЫАЦЬРВРЫЛЦОЦМС,ЪОНЦЫАЕАСЖОЦЭГШЭЖЦЕРШАП_ИНЦМРЫ»

Использован следующий алфавит:

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

Найдите ключ и расшифруйте сообщение.

 

Задача 4. Сообщение на русском языке зашифровано аффинным шифром второго порядка: «ЯХРЬ!ПНИФП,БЪБ.?ЫПЫФВЙГЛТВДНП__К?.ЛДЮЖЬЦЫ.НИЖЕЧ!?.ШТЦФЛХ_ЛХМЙЕЛУ»

Использован следующий алфавит:

«|А|Б|В|Г|Д|Е|Ж|З|И|Й|К|Л|М|Н|О|П|Р|С|Т|У|Ф|Х|Ц|Ч|Ш|Щ|Ъ|Ы|Ь|Э|Ю|Я|_|, |. |? |! |».

 

Известно, что часть расшифрованного сообщения «МЭБЬВЙЬЗЯИЛЪФЪ», полученного ранее на использованном ключе, имеет вид: «ИГРА_НАЧАЛАСЬ». Найдите дешифрующий ключ и расшифруйте новое сообщение.

 

Задачв 5. Сообщение на русском языке зашифровано аффинным шифром второго порядка: «ЫИ,ПЧЬБЛИЭЮГХНЧППКОИУЮШЫАН?НМЬУОИЧ»

Использован следующий алфавит:

«|А|Б|В|Г|Д|Е|Ж|З|И|Й|К|Л|М|Н|О|П|Р|С|Т|У|Ф|Х|Ц|Ч|Ш|Щ|Ъ|Ы|Ь|Э|Ю|Я|_|, |. |? |! |».

Известно, что был применен следующий шифрующий ключ:

, .

Найдите дешифрующий ключ и расшифруйте сообщение.

 

Задача 6. Сообщение на русском языке зашифровано аффинным шифром второго порядка: «УСКХРЖ,НЙЧЕЖ!ИЙХАЭ».

Использован следующий алфавит:

«|А|Б|В|Г|Д|Е|Ж|З|И|Й|К|Л|М|Н|О|П|Р|С|Т|У|Ф|Х|Ц|Ч|Ш|Щ|Ъ|Ы|Ь|Э|Ю|Я|_|, |. |? |! |».

Найдите ключ и расшифруйте сообщение, если известная часть предыдущего

сообщения «_МГЦЮКЭТЮПШ.» есть «ЮСТАС_АЛЕКСУ».

 

Задача 7. Сообщение на русском языке зашифровано шифром подстановки степени 38:

«ЪЫТНЙЪЕОЙЪТЙЪ ЦУТНЕЪБЕЯПЪТХТЭЪРШТ-ЧТБЯНСЪТ_ЪЩТКЪ! Р.ЦБ

ТНЪЕПЮЯБТНЕЧХАТЦТХЕЧНСЦЛБНСЦСЯЕОПЪУТЦТ!ЪЙЪХЪУТ-ЧЭЧХА,»

Использован следующий алфавит:

«|А|Б|В|Г|Д|Е|Ж|З|И|Й|К|Л|М|Н|О|П|Р|С|Т|У|Ф|Х|Ц|Ч|Ш|Щ|Ъ|Ы|Ь|Э|Ю|Я|_|, |. |? |! |-|».

Расшифруйте сообщение.

 

Задача 8. Сообщение на русском языке зашифровано шифром Полибия.

Использован следующий алфавит:

«|а|б|в|г|д|е|ж|з|и|й|к|л|м|н|о|п|р|с|т|у|ф|х|ц|ч|ш|щ|ъ|ы|ь|э|ю|я|_|. |, |? |»

Криптограмма:

«355224155115420215325115310232021324021452510125023544325115305133403214011302250240325120043231153514242003511503322420425152510203»

Расшифровать текст.

 

Задача 9. Сообщение на русском языке зашифровано шифром Полибия.

Использован следующий алфавит:

"|а|б|в|г|д|е|ж|з|и|й|к|л|м|н|о|п|р|с|т|у|ф|х|ц|ч|ш|щ|ъ|ы|ь|э|ю|я|_|. |, |? |"

Криптограмма:

«1214231403150245143141313314504523313441140314505120310131121423140351342401131533515131013021141345155331053445153453»

Расшифровать текст.

 

Задача 10. Сообщение зашифровано шифром четырех квадратов. Левый верхний квадрат имеет вид:

Х Е А Т Г Ф

П Ц М Ш Щ Ъ

Ы З Э Ю Й Н

,.? С О В

У Д Р Ж Ь И

Я К Л Ч _ Б

Учитывая, что координаты массива указанного квадрата модифицируются по правилу для правого верхнего в виде х+1 (mod 6), для левого нижнего - x+4 (mod 6)

и для правого нижнего - х+5 (mod 6), найти открытый текст.

Криптограмма: «_ИХЬБЮЦ..ШУЛУРЬДБОШУЯЖОЧИКРРЮЛПИТЧБНЦЗЧЧУЬХНШ?ПУРШЙЬ.ЙШЯПДЬДБОЦИ,ЮПИСЧУЗИЛЖЧЪЗЦЗЧЧУИ».

 

Задача 11. Сообщение зашифровано шифром четырех квадратов. Левый верхний квадрат имеет вид, причем часть его повреждена (стоят «*»):

Я Ч Ю Ж Г Д

П В Ф Ъ Ы Ш

С А * З * Н

Щ., К О *

Б М Р Т Х И

Ь? Л Е _ У

Учитывая, что координаты массива указанного квадрата модифицируются по правилу для правого верхнего в виде х+1 (mod 6), для левого нижнего - x+4 (mod 6)

и для правого нижнего - х+5 (mod 6), найти открытый текст.

Криптограмма: «УХ?ЩУМЖФНХЮБ.ОЩЖББСЙТВЧ,ЬРЗШЬИЪЪШЩББМФЬТЗШЬИР,ЮВНХЪШЬМСЙЛЬПЗБМЬТГЕЕА»

 

Раздел третий

 

1. Первичная классификация шифров.

По типу преобразования, которое совершает криптографический алгоритм над открытым текстом, шифры делят на два больших класса: шифры подстановки (замены) и шифры перестановки. Иногда, правда, применяется композиция двух видов шифров, что выводит полученный алгоритм из указанных классов. Такие шифры называют композиционными. Если отдельные фрагменты открытого текста (буквы или сочетания букв) заменяются их эквивалентами в шифртексте, то такой шифр называют шифром замены. А если криптографический алгоритм не меняет символы открытого текста, а лишь переставляет их местами, то такой шифр называют шифром перестановки.

Среди шифров замены выделяют шифры простой замены. Шифрующий алгоритм в этом случае представляет собой инъективное отображение алфавита открытых текстов в алфавит закрытых. Это отображение легко задать подстановкой соответствующей степени. Отсюда другое название этого класса шифров. К шифрам простой замены, как легко видеть, относятся шифры Цезаря-Августа, квадрат Полибия, аффинные шифры первого порядка, первая составляющая шифра ADFGVX. Но шифрами замены являются и некоторые полиграммные шифра (четырех квадратов, аффинные шифры порядка > 2 и др.). В данном случае полиграмма открытого текста заменяется полиграммой закрытого. В произвольном случае замена полиграммы может выглядеть более общо.

Для противодействия применениям частотного метода в криптоанализе были изобретены омофонные шифры замены. Идея таких шифров состоит в том, что каждый символ открытого текста может быть заменен не одним символом закрытого, а, вообще говоря, несколькими. Для каждого символа открытого текста существует множество его замещающих символов, причем для однозначной расшифровки эти множества попарно не пересекаются. Мощность каждого такого множества замещающих символов выбирается пропорциональной частоте появления замещаемого символа в открытых текстах. Если теперь при работе криптоалгоритма обеспечить равновероятный выбор замещающих символов из указанных множеств, то при применении обычного частотного метода каждый символ шифртекста будет «звучать» примерно одинаково часто, что лишает данный метод его оружия.

Более сложные замены производятся при применении полиалфавитных шифров, примером которых является шифр Виженера. Дело в том, что в этом шифре используется более одного алфавита (в простом русскоязычном варианте шифра Виженера их 33). При этом замещающий символ зависит от места, на котором стоит в открытом тексте заменяемый символ. И хотя таблица Виженера представляет собой по сути таблицу возможных сдвигов символов открытого текста, т.е. дает возможность кратного применения шифра Цезаря-Августа, простой частотный метод, который хорошо работает при однократном применении этого шифра, не срабатывает. К полиалфавитным шифрам относятся и шифры гаммирования, в основе которых лежит идея наложения т.н. гаммы на строку открытого текста. Например, пусть открытый текст представляет собой строку нулей и единиц. В качестве ключа используют случайную (псевдослучайную) строку битов соответствующей длины. Выписывают строки одну под другой и производят сложение по модулю 2. Так появляется шифртекст. Ясно, что для выявления открытого текста следует ключевую последовательность прибавить к строке шифртекста. Такие шифры ввиду их простой технической реализации и высоких криптографических качеств достаточно широко распространены.

К шифрам перестановки относятся шифр Сцитала, шифр частокола, шифр Кардано, матричный шифр обхода (вторая составляющая шифра ADFGVX) и др. Алгоритмы перемешивания могут быть самыми различными. При этом если длина открытого текста равна n, то существует, таким образом, n! вариантов расположения символов текста, т.е. ключей.

 

2. Симметричные криптосистемы.

К симметричным (или одноключевым) криптосистемам относят такие, в которых вся ключевая информация сохраняется в тайне. По принципу Керкгоффса этого должно быть достаточно для надежности всей системы. Ключ зашифрования может служить и ключом расшифрования, откуда второе название криптосистем этого типа. Но бывает, что ключи зашифрования и расшифрования различны, но тогда каждый из них должен получаться из другого «простым» вычислением (можно сказать, полиномиальным алгоритмом). Это последнее условие и не позволяет обнародовать, скажем, ключ зашифрования. Все исторические шифры являются одноключевыми. В качестве удобного примера приведем аффинный шифр. В этом шифре ключи для зашифрования и расшифрования, вообще говоря, различны (исключим из рассмотрения инволютивные матрицы, т.е. обратные к самим себе). Но знание любого из них немедленно приводит к вычислению другого простым алгоритмом обращения матриц. Симметричными являются известные современные криптосистемы DES, IDEA, ГОСТ 28147-89 и др.

 

3. Блочные шифры.

Блочными называются шифры, в которых алгоритм криптографического преобразования «работает» с последовательностью символов открытого текста фиксированной длины, например n. Такие последовательности называют блоками открытого текста. Блок есть обобщение понятия полиграммы. Для реализации процедуры шифрования блочным шифром открытый текст разбивается на блоки указанной длины, и алгоритм шифрования последовательно обрабатывает эти блоки. Например, многие современные симметричные системы работают с блоками длиной в 64 бита. После окончания шифрования блоки шифртекста собираются в единый текст. Современные же системы, построенные как блочные, часто применяют операции итерирования, при которых блок последовательно обрабатывается одним и тем же алгоритмом, но с разными входными ключами. Отдельные итерации называют при этом раундами, а используемые ключи – раундовыми подключами. Эти ключи снимаются с выхода специального генератора раундовых ключей, которые вырабатываются по определенной схеме из ключа зашифрования. Общая схема работы такого алгоритма выглядит так:

, .

где Е – алгоритм криптографического преобразования, – блок, получаемый на i -м раунде зашифрования, – подключ i -го раунда, N – число раундов зашифрования.

Процедура обратного действия – расшифрования – тогда выглядит так:

, .

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




Поделиться с друзьями:


Дата добавления: 2014-11-16; Просмотров: 1351; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.09 сек.