Скачать 255.74 Kb.
|
Лабораторная работа №2 Тема: Базовые алгоритмы шифрования. Цель: Изучить базовые алгоритмы шифрования и написать программу, выполняющую шифрование текста с помощью одного из базовых алгоритмов, выполнив предварительно модификацию базового алгоритма шифрования. Методические указания к лабораторной работеРассматриваемые простейшие методы кодирования заключаются в видоизменении информации таким образом, чтобы при попытке ее прочитать, злоумышленник не увидел ничего, кроме бессмысленной последовательности символов, а при попытке подделать или переделать документ, читатель, увидев ту же бессмыслицу, сразу понял бы это. Это и называется шифрованием или криптографией. Зашифровав текст, его можно переправлять любым доступным способом, но никто не сможет узнать содержимое послания. Хотя, последнее не совсем верно, так как злоумышленник может попытаться раскрыть код. Наука о раскрытии шифров – криптоанализ – всегда развивалась параллельно шифрованию. В последнее время, обе науки начали опираться на серьезный математический анализ, что только усилило их противоборство. Не всегда криптоанализ используется злоумышленником. Дело в том, что преступная организация также может зашифровать послание. Тогда, дешифрация сообщения может оказаться жизненно важной. Поэтому, употреблять слово злоумышленник, говоря о шифровании, не совсем корректно, тем более, что в военном конфликте понятия прав и виноват весьма и весьма относительны. Но если сообщение шифруется, всегда есть опасность попытки его дешифрации. Именно поэтому появился термин криптостойкость, то есть устойчивость алгоритма к криптоанализу. Прежде чем говорить о более сложных алгоритмах шифрования, рассмотрим базовые алгоритмы, которые частично используются в современных алгоритмах шифрования. К простейшим алгоритмам шифрования относятся:
- шифр Виженера; - шифр Плейфера;
Многие криптосистемы, как простые, так и сложные основываются на принципах подстановки, перестановки и гаммировании. Прежде чем рассматривать простейшие алгоритмы шифрования, опишем в чем суть подстановок, перестановок и гаммирования, так как эти принципы являются базовыми. Перестановки.Перестановкой набора целых чисел (0,1,...,N-1) называется его переупорядочение. Для того чтобы показать, что целое i перемещено из позиции i в позицию (i), где 0 (i) < n, будем использовать запись =((0), (1),..., (N-1)). Число перестановок из (0,1,...,N-1) равно n!=1*2*...*(N-1)*N. Введем обозначение для взаимно-однозначного отображения (гомоморфизма) набора S={s0,s1, ...,sN-1}, состоящего из n элементов, на себя. : S S : si s(i), 0 i < n Будем говорить, что в этом смысле является перестановкой элементов S. И, наоборот, автоморфизм S соответствует перестановке целых чисел (0,1,2,.., n-1). Криптографическим преобразованием T для алфавита Zm называется последовательность автоморфизмов: T={T(n):1n<} T(n): Zm,nZm,n, 1n< Каждое T(n) является, таким образом, перестановкой n-грамм из Zm,n. Поскольку T(i) и T(j) могут быть определены независимо при ij, число криптографических преобразований исходного текста размерности n равно (mn)! (Здесь и далее m - объем используемого алфавита.). Оно возрастает непропорционально при увеличении m и n: так, при m=33 и n=2 число различных криптографических преобразований равно 1089!. Отсюда следует, что потенциально существует большое число отображений исходного текста в шифрованный. Практическая реализация криптографических систем требует, чтобы преобразования {Tk: kK} были определены алгоритмами, зависящими от относительно небольшого числа параметров (ключей). Системы подстановок.Определение Подстановкой на алфавите Zm называется автоморфизм Zm, при котором буквы исходного текста t замещены буквами шифрованного текста (t): Zm Zm; : t (t). Набор всех подстановок называется симметрической группой Zm è будет в дальнейшем обозначаться как SYM(Zm). Утверждение SYM(Zm) c операцией произведения является группой, т.е. операцией, обладающей следующими свойствами:
: t1(2(t)).
(12)3=1(23)
1= 1=i. Число возможных подстановок в симметрической группе Zm называется порядком SYM(Zm) и равно m! . Определение. Ключом подстановки k для Zm называется последовательность элементов симметрической группы Zm: k=(p0,p1,...,pn-1,...), pnSYM(Zm), 0n< Подстановка, определяемая ключом k, является криптографическим преобразованием Tk, при помощи которого осуществляется преобразование n-граммы исходного текста (x0 ,x1 ,..,xn-1) в n-грамму шифрованного текста (y0 ,y1 ,...,yn-1): yi=p(xi), 0i где n – произвольное (n=1,2,..). Tk называется моноалфавитной подстановкой, если p неизменно при любом i, i=0,1,..., в противном случае Tk называется многоалфавитной подстановкой. Примечание. К наиболее существенным особенностям подстановки Tk относятся следующие: 1. Исходный текст шифруется посимвольно. Шифрования n-граммы (x0 ,x1 ,..,xn-1) и ее префикса (x0 ,x1 ,..,xs-1) связаны соотношениями Tk(x0 ,x1 ,..,xn-1)=(y0 ,y1 ,...,yn-1) Tk(x0 ,x1 ,..,xs-1)=(y0 ,y1 ,...,ys-1) 2. Буква шифрованного текста yi является функцией только i-й компоненты ключа pi и i-й буквы исходного текста xi. В потоковых шифрах, т. е. при шифровании потока данных, каждый бит исходной информации шифруется независимо от других с помощью гаммирования. Гаммирование - наложение на открытые данные гаммы шифра (случайной или псевдослучайной последовательности единиц и нулей) по определенному правилу. Обычно используется "исключающее ИЛИ", называемое также сложением по модулю 2 и реализуемое в ассемблерных программах командой XOR. Для расшифровывания та же гамма накладывается на зашифрованные данные. При однократном использовании случайной гаммы одинакового размера с зашифровываемыми данными взлом кода невозможен (так называемые криптосистемы с одноразовым или бесконечным ключом). В данном случае "бесконечный" означает, что гамма не повторяется. В некоторых потоковых шифрах ключ короче сообщения. Так, в системе Вернама для телеграфа используется бумажное кольцо, содержащее гамму. Конечно, стойкость такого шифра не идеальна. Понятно, что обмен ключами размером с шифруемую информацию не всегда уместен. Поэтому чаще используют гамму, получаемую с помощью генератора псевдослучайных чисел (ПСЧ). В этом случае ключ - порождающее число (начальное значение, вектор инициализации, initializing value, IV) для запуска генератора ПСЧ. Каждый генератор ПСЧ имеет период, после которого генерируемая последовательность повторяется. Очевидно, что период псевдослучайной гаммы должен превышать длину шифруемой информации. Генератор ПСЧ считается корректным, если наблюдение фрагментов его выхода не позволяет восстановить пропущенные части или всю последовательность при известном алгоритме, но неизвестном начальном значении. При использовании генератора ПСЧ возможно несколько вариантов: 1. Побитовое шифрование потока данных. Цифровой ключ используется в качестве начального значения генератора ПСЧ, а выходной поток битов суммируется по модулю 2 с исходной информацией. В таких системах отсутствует свойство распространения ошибок. 2. Побитовое шифрование потока данных с обратной связью (ОС) по шифртексту. Такая система аналогична предыдущей, за исключением того, что шифртекст возвращается в качестве параметра в генератор ПСЧ. Характерно свойство распространения ошибок. Область распространения ошибки зависит от структуры генератора ПСЧ. 3. Побитовое шифрование потока данных с ОС по исходному тексту. Базой генератора ПСЧ является исходная информация. Характерно свойство неограниченного распространения ошибки. 4. Побитовое шифрование потока данных с ОС по шифртексту и по исходному тексту. Чтобы получить линейные последовательности элементов гаммы, длина которых превышает размер шифруемых данных, используются датчики ПСЧ. На основе теории групп было разработано несколько типов таких датчиков. Конгруэнтные датчикиВ настоящее время наиболее доступными и эффективными являются конгруэнтные генераторы ПСП. Для этого класса генераторов можно сделать математически строгое заключение о том, какими свойствами обладают выходные сигналы этих генераторов с точки зрения периодичности и случайности. Одним из хороших конгруэнтных генераторов является линейный конгруэнтный датчик ПСЧ. Он вырабатывает последовательности псевдослучайных чисел T(i), описываемые соотношением T(i+1) = (A*T(i)+C) mod m, где А и С - константы, Т(0) - исходная величина, выбранная в качестве порождающего числа. Очевидно, что эти три величины и образуют ключ. Такой датчик ПСЧ генерирует псевдослучайные числа с определенным периодом повторения, зависящим от выбранных значений А и С. Значение m обычно устанавливается равным 2n , где n - длина машинного слова в битах. Датчик имеет максимальный период М до того, как генерируемая последовательность начнет повторяться. По причине, отмеченной ранее, необходимо выбирать числа А и С такие, чтобы период М был максимальным. Как показано Д. Кнутом, линейный конгруэнтный датчик ПСЧ имеет максимальную длину М тогда и только тогда, когда С - нечетное, и А mod 4 = 1. Для шифрования данных с помощью датчика ПСЧ может быть выбран ключ любого размера. Например, пусть ключ состоит из набора чисел x(j) размерностью b, где j=1, 2, ..., n. Тогда создаваемую гамму шифра G можно представить как объединение непересекающихся множеств H(j). Шифрование с помощью датчика ПСЧ является довольно распространенным криптографическим методом. Во многом качество шифра, построенного на основе датчика ПСЧ, определяется не только и не столько характеристиками датчика, сколько алгоритмом получения гаммы. Один из фундаментальных принципов криптологической практики гласит, даже сложные шифры могут быть очень чувствительны к простым воздействиям. Рассмотрим базовые алгоритмы подробнее. Шифр Полибия. Самый, пожалуй, древний из всех известных, хотя и не такой распространенный, как шифр Цезаря. Полибий, греческий историк, умер за тридцать лет до появления Цезаря. Суть его метода в том, что составляется прямоугольник (Доска Полибия), например такой, как представлен на рисунке 1.1.
Рисунок 1.1 – Доска Полибия Каждая буква может быть представлена парой букв, указывающих строку и столбец, в которых расположена данная буква. Так, представлением букв П, О будут ВГ, ВВ соответственно, а сообщение ШИФР ПОЛИБИЯ зашифруется как ДАБВГВВДЕЕВГВВБЕБВАББВЕБ. Хоть эта система и является более древней, но устойчивость к раскрытию у нее гораздо выше, несмотря на то, что наблюдается увеличение количества символов зашифрованного текста. Шифр Цезаря. Первый документально подтвержденный шифр: Гай Юлий Цезарь, желая защитить свои записи, заменял каждую букву следующей по алфавиту. Можно расширить этот алгоритм, поставив в соответствие каждой букве, какую либо другую букву, разумеется, без повторений. Можно даже заменять буквы совершенно сторонними символами, это не повлияет на криптостойкость. Во времена Цезаря, когда мало кто умел читать, да и статистика не была особенно развитой, такой шифр было почти невозможно взломать. Но теперь этот способ шифрования используют только в качестве головоломок. Объяснить это легко. Посчитав вхождение каждого символа в тексте, и зная статистические особенности языка, то есть частоту появления каждого символа в текстах, можно смело заменить часть символов на настоящие. Остальной текст можно получить исходя из избыточности текстов на естественных языках. Очевидно также, что шифр Цезаря можно использовать только для текстов. Это один из самых старых шифров, имеющий ряд серьезных недостатков. Огромное семейство подстановок Цезаря названо по имени римского императора Гая Юлия Цезаря, который поручал Марку Туллию Цицерону составлять послания с использованием 50-буквенного греческого алфавита со сдвигом в 3 знака и дальнейшей подстановкой. Информация об этом дошла к нам от Светония. Попробуем воспроизвести этот метод шифрования для русского алфавита. Для этого создадим таблицу соответствия (рис. 1.2): Рисунок 1.2 – Пример таблицы соответствия букв русского алфавита Шифр Ришелье. Совершенно “естественно” выглядит криптотекст, полученный с помощью криптосистемы Ришелье. Соответственно, защищенность этого алгоритма гораздо выше предыдущих. В основе лежит “замешивание” по определенным законам исходного текста в “мусоре”, или посторонних символах. Зашифрованный текст получается гораздо длиннее исходного, причем эта разница и определяет реальную криптостойкость системы. Суть метода Ришелье в следующем. Создается подобная решетка с прорезями вместо крестов (рис. 1.3):
Рисунок 1.3 – Пример решетки Ришелье Далее в прорезях отверстий пишется текст, решетка снимается и все оставшееся пространство заполняется “мусором”, затем для усложнения расшифровки криптотекст можно выписать в ряд. Для длинных сообщений этот метод применяется несколько раз. Кстати говоря, выходной криптотекст можно оформить с помощью “мусора” и в виде смыслового послания. Выполнить обратное преобразование в исходный текст можно, зная размер блока и имея аналогичную решетку. Перестановочные шифры. Этот шифр тоже является одним из первых, он предполагает разбиение текста на блоки, а затем перемешивание символов внутри блока. Это можно сделать разными методами. В первых вариантах этого шифра использовалась таблица, которую заполняли по строкам исходными данными, а зашифрованные данные читали по столбцам. Криптостойкость этого шифра также оставляет желать лучшего. Дело в том, что филологи уже давно установили, что для прочтения текста не важен порядок букв в слове, достаточно чтобы на месте были первая и последняя буквы слова. Конечно, размер блока не может совпадать с размерами всех слов текста, то есть перемешивание будет более серьезным, но научится читать такой текст не очень сложно. Рассмотрим этот метод на несложном алгоритме простой столбцевой перестановки. Предварительно условимся, что число столбцов равно пяти. Допустим, имеется текст, который требуется зашифровать: “ПРОСТЫЕ ПЕРЕСТАНОВКИ ВНОСЯТ СУМЯТИЦУ”. Запишем этот текст слева направо, сверху вниз, заполняя последовательно пять столбцов (рис 1.4):
Рисунок 1.4 – Пример простой столбцевой перестановки Теперь зададимся ключом, например 35142, и выпишем в ряд столбцы, начиная с третьего, в соответствии с ключом: “О СВН Т ТЕАИСУЦ ПЫРН ЯМУСПТКОСИ РЕЕОВТЯ”. Получилось довольно неплохо. Для расшифровки требуется количество символов зашифрованного текста разделить на 5 и сформировать столбцы в соответствии с ключом. В итоге получится исходная таблица, из которой можно прочитать текст построчно. Криптостойкость увеличится, если к полученному зашифрованному тексту применить повторное шифрование с другим размером таблицы и ключом или с перестановками не столбцов, а рядов. Перестановочные шифры очень хорошо сочетать с другими, таким образом повышая криптостойкость. Шифр Виженера. Наиболее известной и по праву одной из старейших многоалфавитных (одному шифруемому символу соответствует более одного символа) криптосистем является система известного французского криптографа графа Блейза Виженера (1523-1596). Для преобразования строится алфавитный квадрат с построчным сдвигом символов в каждом последующем ряду (рисунок 1.5) Рисунок 1.5 – Квадрат Виженера Далее выбирается ключ. Затем пишется шифруемая фраза, а под ней циклически записывается ключ. Преобразование производится так: шифруемому символу соответствует символ, находящийся на пересечении буквы ключа (столбец) и буквы исходного текста (строка). Одним и тем же буквам исходного текста соответствуют не всегда одинаковые символы, то есть символы могут принимать различные значения, что является несомненным плюсом в плане криптостойкости зашифрованного текста. Далее выбирается ключ, например “ГРАФДРАКУЛА”. Затем пишется шифруемая фраза, а под ней циклически записывается ключ. Для примера возьмем фразу “ОТРЯД ЖДЕТ УКАЗАНИЙ” и исключим из нее пробелы: “ОТРЯДЖДЕТУКАЗАНИЙ” – исходный текст, “ГРАФДРАКУЛАГРАФДР” – циклический ключ. Преобразование производится так: шифруемому символу соответствует символ, находящийся на пересечении буквы ключа (столбец) и буквы исходного текста (строка). Получим: “СВРУИЦДПЕЮКГЧАБМЩ”. Как видно, одним и тем же буквам исходного текста соответствуют не всегда одинаковые символы, то есть символы могут принимать различные значения, что является несомненным плюсом в плане криптостойкости зашифрованного текста. Квадрат может быть каким угодно, главное, чтобы он был легко воспроизводимым и левый столбец, так же как и верхний ряд, соответствовали всему алфавиту. В качестве альтернативного варианта это может быть известный квадрат Френсиса Бьюфорта, где строки – зеркальное отражение строк квадрата Виженера. Для усложнения строки могут быть переставлены местами в определенном порядке и т. д. Усложненной разновидностью этого метода является метод шифрования с автоключом, предложенный математиком Дж. Кардано (XVI в.). Суть его в том, что, кроме циклического ключа, есть еще один, записываемый однократно перед циклическим ключом – первичный ключ. Этот нехитрый прием придает дополнительную стойкость алгоритму. Шифр Плейфейра. Назван так в честь своего разработчика. Алгоритм заключается в следующем: сначала составляется равносторонний алфавитный квадрат. Для русского алфавита подойдет квадрат 5х6. Задается ключевая фраза без повторов букв, например “БАРОН ЛИС”. Фраза вписывается в квадрат без пробелов, далее последовательно вписываются недостающие буквы алфавита в правильной последовательности. Одну букву придется исключить для выполнения условия равносторонности. Пусть это будет Ъ. Примем допущение, что Ъ=Ь. Итак, получился квадрат, который легко восстановить по памяти: Теперь условия для преобразования:
Рисунок 1.6 – Пример алфавитного квадрата для шифрования методом Плейфера Правила преобразования: Если биграмма не попадает в одну строку или столбец, то мы смотрим на буквы в углах прямоугольника, образованного рассматриваемыми буквами. Например: “ДИ” = “ЛЕ”, “ЬУ” = “МЮ” и т. д. Если биграмма попадает в одну строку (столбец), мы циклично смещаемся на одну букву вправо (вниз). Например, “ЛС”=“ИВ”, “ТЭ”=“ЧР”. Итак, мы готовы преобразовать текст. Приступим к шифрованию: “СОВЕЩАНИЕ СОСТОИТСЯ В ПЯТНИЦУ” – первоначально преобразуется в биграммы: “СО ВЕ ЩА НИ ЕС ОС ТО ИТ СЯ ВП ЯТ НИ ЦУ”. Выполнив преобразование по вышеизложенным правилам, получим биграммы: “РВ ЗИ НЦ ГА ИЖ ВР РУ ПС ЭГ УИ ФЭ ГА ПШ”. Обратите внимание на то, что одинаковые буквы на входе дали разные буквы на выходе криптосистемы, а одинаковые буквы на выходе совсем не соответствуют одинаковым на входе. Таким образом, криптотекст “РВЗИНЦГАИЖВРРУПСЭГУИ” выглядит гораздо более “симпатично”, чем после прямой замены моноалфавитной криптосистемы. Правила преобразования могут значительно варьироваться. Алфавит может быть упрощен до логического минимума с целью сокращения квадрата. Например, можно переводить текст в транслитерацию и писать латинскими буквами, тогда квадрат будет размером 5х5. Шифрование с ключом. Этот метод относится к современному периоду. Текст представляется в двоичном формате, создается двоичный код некоторого размера (ключ), двоичный текст разбивается на блоки того же размера и каждый блок суммируется по модулю два с ключом. Обратное преобразование выполняется тем же методом. Фактически, это «современный шифр Цезаря», просто подстановка выполняется не посимвольно, а словами. Правда, понятие слова здесь несколько иное – это блок заданной длины. Криптостойкость этого метода намного выше, чем у предыдущих шифров. Без использования специальных методов криптоанализа его будет очень сложно взломать. Но в настоящее время этот метод используют только для не очень важных документов, так как криптоанализ, в совокупности с современными вычислительными средствами, позволяет не только прочесть текст сообщения, но и во многих случаях получить ключ, что губительно для системы безопасности. Система Вернама. В 1949 году, Шеннон сформулировал и доказал свою «пессимистическую теорему»: шифр является абсолютно криптостойким тогда и только тогда, когда энтропия ключа больше либо равна энтропии исходного текста. Из теоремы следует, что длина ключа должна быть соразмерна с длиной текста. Если быть более точным, длина ключа должна равняться длине текста. На основе этой теоремы построена система Вернама. Каждый бит ключа этой системы равновероятно равен 0 либо 1. Длина ключа равна длине текста. Ключ используется только один раз. Доказано, что этот шифр абсолютно не вскрываем. Не будем этого доказывать, но обоснуем. Для вскрытия шифрованного сообщения необходимо перебрать все возможные комбинации ключей (это единственный способ, так как ключ используется лишь единожды), и среди полученных значений текста выбрать исходный, пусть это будет текст на русском языке. Допустим, что злоумышленник может это сделать мгновенно, то есть опустим временную сложность такой задачи. Для текста любой длины, будет много бессмысленных результатов и их можно отбросить, но злоумышленник получит все возможные тексты заданной длины, в том числе наш текст. Но ничто и никогда не укажет на то, какой из текстов является исходным. Рассмотрим это на примере четырех буквенных имен. Пусть зашифровано имя «Даша», а ключ «АБВГ». Если используется кодировка ASCII, то зашифрованный текст выглядит следующим образом: ♦!j#. Как говорилось ранее, единственный способ дешифровать текст, полный перебор всех возможных ключей. Но очевидно, что существует такой ключ, суммирование с которым зашифрованного текста даст в результате «Маша», или даже «Миша». Но действительно, невозможно ответить на вопрос, какое из имен является исходным. Возможно, что аналитик знает часть текста, например, он знает что это договор на продажу недвижимости, но не знает цену. В результате перебора, если на это хватит времени, он получит все возможные цены «заданной длины». То есть если цена трехзначная, аналитиком будет получена девятьсот одна различная цена. Таким образом, взлом системы Вернама не приведет к получению новой информации и является абсолютно невскрываемым. Недостаток этой системы – длина ключа. Сам Вернам предлагал пересылать ключ курьером. При этом если курьер не довез ключ, можно сгенерировать новый ключ и снова его отправить. Однако такой механизм чрезвычайно неудобен, поэтому эта система не используется в настоящее время. Этот шифр при его идеальности лишен помехоустойчивости, потому как изменение одного бита, практически невозможно отследить. Шифры, основанные на системе Вернама. Если мы не можем использовать очень длинный ключ, следует использовать короткий, удлиняя его по некоторому правилу. Было предпринято много попыток создать шифр, как можно более приближенный к системе Вернама. Первой попыткой было использование ключа в качестве параметров генератора псевдослучайных последовательностей. На деле все системы сводились именно к этому. Но в некоторых случаях ключ получали за счет его преобразований, например, с помощью нелинейной функции. Рисунок 1.7 - Генерация ключа, для имитации системы Вернама Наиболее удачной была схема, в которой ключ подавался на вход блоку преобразований (рисунок 1.7) одновременно с выходом двоичного счетчика, подключенного к таймеру. Для передачи сообщения правда требовалась большая синхронизация, нежели для системы Вернама, но вполне приемлемая. Шифр «Люцифера». Этот шифр изначально разрабатывался для аппаратной реализации. Именно при его создании одновременно использовались новейшие достижения в математике и теории кодирования и опыт веков. «Люцифер» был создан фирмой IBM и долго использовался для внутренних нужд, так как аппаратная реализация системы шифрования имеет некоторые недостатки. Авторы шифра предложили совместить два основных подхода к шифрованию: подстановки и перестановки. Сначала, текст разбивается на блоки по n бит. Затем они поступают на вход мультиплексора, который раскладывает блок по модулю 2^n. Биты перемешиваются, и обрабатываются демультиплексором, который собирает биты в блок длиной n бит. Рисунок 1.8 - Подстановки «Люцифера» Преимущество таких постановок (Рисунок 1.8) заключается в нелинейности преобразований. По большому счету, можно любой входной поток превратить в любой выходной, но, разумеется, это производится на этапе разработки. Выполнив подстановку, следует выполнить перестановки. Это делается соответствующей схемой, в которой просто перемешиваются биты (рисунок 1.9). Рисунок 1.9 - Подстановки «Люцифера» Узнать коммутацию такого блока довольно легко, достаточно подавать ровно одну единицу на вход, и получать ровно одну единицу на выходе. Однако, совместив оба подхода, и создавая как бы несколько итераций, можно очень сильно запутать аналитика (рисунок 1.10). Легко увидеть, что если на вход подать одну единицу, на выходе получается больше единиц, чем нулей. Криптоаналитик, получивший текст, зашифрованный «Люцифером» будет поставлен в тупик. Рисунок 1.10 - «Люцифер» Для этого шифра очень важно правильно подобрать параметры преобразований обоих типов. Дело в том, что при неудачном выборе параметров преобразований, они могут свестись к простой перестановке, которую легко раскрыть. Поэтому в аппаратную реализацию шифра встроили «сильные параметры. Однако, аппаратная реализация шифра не позволяет его широкого применения, так как блок подстановок выполняет преобразование, схожее с суммированием с ключом, а суммирование с одним и тем же ключом ставит шифр под удар. С одной стороны, все, кто имеет доступ к системе, знают ключ, поэтому может произойти утечка, с другой стороны, аналитик, получивший достаточно много шифровок сможет таки дешифровать сообщение. Было несколько попыток избавиться от этого недостатка, но наиболее удачная из них заключалась в том, чтобы каждый блок подстановок заменить двумя, при этом для шифрования, пользователь указывает первый или второй вид подстановок выполнять, создавая двоичный ключ (рисунок 1.11). Такая реализация шифра была гораздо более криптостойкой и использовалась некоторое время. Рисунок 1.11 - «Люцифер» с ключом Задание к лабораторной работе В соответствии с вариантом задания написать программу, реализующую один из базовых алгоритмов шифрования, при этом произвести некоторую модификацию выбранного алгоритма. Программа должна выполнять чтение файла, просмотр, его шифрование, расшифровывание, просмотр зашифрованного, расшифрованного документа. Отчет по лабораторной работе должен включать в себя: краткое словесное описание базового алгоритма с его частичной модификацией, пример работы алгоритма, листинг программы, результаты работы программы. Варианты заданий: № по журналу Базовый алгоритм
Контрольные вопросы к лабораторной работе: 1) Что такое криптоанализ? 2) Что такое криптоскойкость алгоритма? 3) В чем суть перестановочных шифров? 4) В чем суть подстановочных шифров? 5) Назначение гаммирования. 6) Какой из рассмотренных базовых алгоритмов является по Вашему мнению наиболее криптостойким? Объяснить, почему. 7) Как, по Вашему мнению, можно увеличить криптостойкость алгоритма с использованием перестановок? |
Радиофизический факультет Содержание курса направлено на ознакомление студентов с математическими основами теории шифрования, историей развития криптографии,... | Урока Тема урока Количество часов «Зарождение и предмет кибернетики», «Компьютер и управление», «Управление и алгоритмы», «Линейные алгоритмы управления без обратной... | ||
Реферат по дисциплине «Информационная безопасность» Тема: «Стандарты... Российский государственный университет инновационных технологий и предпринимательства (ргуитп) | Реферат по информатике и икт по теме: «Алгоритмы» Я выбрал тему учебно-методического комплекса «Алгоритмы», так как она является одной из главной тем в информатике | ||
Реферат по информатике и икт по теме: “ Разветвляющиеся алгоритмы” Я выбрал тему: «Разветвляющиеся алгоритмы», потому что они очень часто применяются в алгоритмизации и программировании. Без знания... | Тема: Циклические алгоритмы Выполнить дополнительное задание и задания без звездочки на листочке и принести на урок 14 ноября | ||
Программа по формированию навыков безопасного поведения на дорогах... Иметь представление об алгоритмах, свойствах алгоритмов и записи алгоритмов. Приводить примеры алгоритмов из жизни. Применять готовые... | Еще с девятого класса мы изучаем алгоритмы. И вот перейдя из десятого... Целью нашей работы является раскрыть, что такое алгоритмы, их виды и назначения, в чем заключается смысл работы с алгоритмом | ||
Контрольная работа по курсу «Информатика» включает следующие блоки:... Используя алгоритмы перевода из одной системы счисления в другую, представить предложенные в вашем варианте числа в указанных системах... | Рабочая программа дисциплины «Алгоритмы и процессоры цифровой обработки сигналов» ... | ||
Тема урока: Циклические алгоритмы Цель урока: сформировать представление об алгоритмах с ветвлениями и выработать навыки их разработки | План-конспект урока тема урока: «Алгоритмы. Типы алгоритмов» Организация фронтальной эвристической беседы и направление учащихся на постановку проблемы | ||
Тема: «Какими бывают алгоритмы» 5 класс ... | Урока: онз тема: «Решение уравнений» Оборудование, демонстрационный материал: интерактивная доска; раздаточный материал (эталоны для самопроверки, алгоритмы); слайды | ||
Грамотрицательные неферментирующие бактерии алгоритмы лабораторной... Тема: Грамотрицательные неферментирующие бактерии – алгоритмы лабораторной диагностики. Значение в патологии человека и санитарной... | Тема: Виды алгоритмов. Линейные алгоритмы (45 минут) Базовый учебник: Н. Д. Угринович. Информатика и икт. Учебник для 8 класса. Издательство: бином. Лаборатория знаний |