Первичный криптоанализ и распараллеливание нового алгоритма шифрования
Предложен новый алгоритм симметричного шифрования, получивший название CMN89. Проведен его анализ с точки зрения его криптостойкости по отношению к некоторым видам атак и возможности распараллеливания производимых в ходе его применения вычислений.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | статья |
Язык | русский |
Дата добавления | 15.01.2019 |
Размер файла | 510,1 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Первичный криптоанализ и распараллеливание нового алгоритма шифрования
Чистяков Павел Петрович
Санкт-Петербургский государственный университет
Математико-механический факультет
Кафедра параллельных алгоритмов
Рассмотрен новый алгоритм симметричного шифрования, проведено изучение его криптостойкости по отношению к некоторым видам атак, предложен способ эффективного распараллеливания проводимых преобразований.
Аннотация: Предложен новый алгоритм симметричного шифрования, получивший название CMN89. Проведён его анализ с точки зрения его криптостойкости и возможности распараллеливания производимых в ходе его применения вычислений. Установлено, что алгоритм имеет высокий запас криптостойкости против атак таких видов, как сдвиговые атаки, атаки методами “грубой силы”, “встреча посередине” и интерполяции. Выявлено ускорение при использовании крупномодульного распараллеливания вычислений.
Существует много алгоритмов шифрования высокой стойкости (таких, как ГОСТ 28147-89, семейство RC и др.). Однако вследствие постоянного развития криптоанализа всё чаще стали проводиться успешные атаки на существующие алгоритмы, что приводит к необходимости разрабатывать и изучать новые алгоритмы шифрования. Целью данной работы является описание предлагаемого автором алгоритма шифрования, определение возможности для оптимизации вычислений в ходе его применения, в том числе за счёт распараллеливания, а также предварительная оценка криптостойкости алгоритма по отношению к некоторым видам атак.
По результатам проведённых исследований можно сделать следующие выводы: алгоритм CMN89 имеет высокий запас криптостойкости против атак методом “грубой силы” вследствие очень большой длины ключа; из-за наличия преобразований, которые вносят отличия между любыми двумя подряд идущими раундами, сдвиговая атака на алгоритм не может быть проведена; проведение атак вида “встреча посередине”, целью которых обычно является разбиение ключа на две половины, поиск которых можно вести изначально независимо друг от друга, не оправдано, поскольку из-за использования ключа целиком на любом раунде алгоритма желаемого сокращения области перебора не происходит.
Экспериментальным путём установлено, что при крупномодульном распараллеливании вычислений в ходе применения алгоритма на двухъядерном процессоре максимальное достигаемое ускорение равно 2. По всем рассмотренным диапазонам размера открытого текста ускорение составило в среднем 32%; что касается зависимости ускорения от количества выполняемых раундов алгоритма, то здесь наблюдалась стабилизация значения ускорения около отметки в 1.5 с увеличением числа раундов.
Актуальность проблемы. В последние десятилетия в криптографии как в науке о защите информации наблюдается огромный прогресс, связанный с непрерывным развитием вычислительных систем и постоянной необходимостью в защите компьютерной информации. В настоящее время криптографические методы доступны не только государственным структурам, но и обычным людям и организациям; сама разработка криптографических алгоритмов также осуществляется зачастую частными лицами.
Криптографические методы в современном мире используются не только для защиты информации, но и в качестве основы многих новейших информационных технологий, таких, как, например, электронный документооборот, электронные деньги и многих других.
Краткий обзор некоторых теоретических аспектов.
Базовая модель криптографии. Сообщения передаются от отправителя к получателю по открытому каналу, к которому имеет доступ «противник». Он либо только прослушивает канал (пассивный перехват сообщений), либо модифицирует передаваемые сообщения и посылает свои (активный перехват сообщений). Перед отправкой сообщения в открытый канал отправителю необходимо подвергнуть исходную информацию специальному преобразованию (зашифровыванию), позволяющему скрыть её истинное содержание; соответственно после приёма на другом конце нужно выполнить обратное преобразование (расшифровывание). Открытый текст - информация, подающаяся на вход шифратора, шифртекст - информация на входе дешифратора.
Три категории криптоалгоритмов. Существуют бесключевые, одноключевые (общий секретный ключ для отправителя и получателя) и двухключевые (на разных этапах вычислений применяются два вида ключей: для зашифровывания информации, предназначенной конкретному получателю, отправитель использует уникальный открытый ключ адресата-получателя; для расшифровывания получатель использует парный секретный ключ) алгоритмы.
Общая схема шифрования.
1). Зашифровывание: . 2). Расшифровывание: . От ключа зависит результат работы алгоритма.
Основные структура алгоритмов симметричного шифрования.
1). Сеть Фейстеля.
2). Подстановочно-перестановочная сеть.
3). “Квадрат”.
3.2 Режимы работы алгоритмов.
1). ECB (электронная кодовая книга).
2). CBC (сцепление блоков шифра).
3). CFB (обратная связь по шифртексту).
4). OFB (обратная связь по выходу).
Эффективность криптоалгоритма - отношение временных затрат криптоаналитика на вскрытие шифровки к временным затратам криптографа на создание шифровки.
Структура алгоритма CMN89.
Алгоритм CMN89 имеет смешанную структуру; она представляет собой модификацию сети Фейстеля, на каждом раунде которой производятся преобразования (в том числе подстановки и перестановки) с блоками данных, представленными в виде квадратного массива байтов.
Алгоритм шифрует данные блоками длиной 64 байта, подающимися на вход шифратора по 4 одновременно в виде единой 256-байтной строки открытого текста. Часть параметров являются переменными: количество раундов может варьироваться от 0 до 255, секретный ключ может иметь длину от 0 до 255 байтов. Далее в статье для обозначения этих величин используются переменные R и Lange, соответственно.
Перед шифрованием выполняются следующие преобразования: производится постепенное удвоение длины ключа за счёт приписывания в конец его копии до того момента, пока длина не превысит 256 байтов, затем оставляются только первые 256 байтов, они разбиваются на 16 16-байтных подключей (K0…K15) раундов.
64-байтный блок открытого текста разделятся на 4 субблока (N1, N2, N3, N4) по 16 байтов. После с ними производятся 16*R подраундов преобразований (R раундов, в каждом по 16 подраундов для полного перемешивания входных данных). Каждый из них состоит из следующих операций:
1. Перестановка байтов местами внутри субблока. В данной версии алгоритма она имеет вид (5, 2, 11, 6, 8, 15, 12, 1, 14, 3, 0, 7, 9, 4, 13, 10) и применяется к субблокам N1 и N4.
2. Наложение подключа на результат перестановки с использованием операции XOR: номер подключа определяется остатком от деления на 16 глобального номера текущего подраунда. Таким образом, при зашифровывании используется прямой циклический порядок наложения подключей: от K0 до K15.
3. Далее субблоки N1 и N4 представляются в виде матриц размера 4*4. Для каждой из них производится циклический сдвиг байтов вправо в каждой из строк на количество позиций, определяемое глобальным номером kkk текущего подраунда и собственным номером строки sn (от 1 до 4): kkk%4+sn-1.
4. Побайтная табличная замена в субблоках N1 и N4. Текущий вариант таблицы заимствован из алгоритма Camellia.
5. Наложение субблоков друг на друга с помощью операции XOR, перемена их местами. Итог наложения результата преобразований 1-4 субблока N1 на субблок N3 становится первым cубблоком нового формируемого 64-байтного блока, вторым субблоком становится начальный субблок N1, третим - начальный субблок N4, четвёртым - итог наложения результата преобразований 1-4 субблока N4 на субблок N2.
6. Разложение блока на две составляющие, при этом номер байта, с помощью которого формируется вторая составляющая, определяется как kkk%64, где kkk - глобальный номер текущего подраунда.
7. Составление нового 64-байтного блока из двух полученных составляющих и его разделение на 16-байтные субблоки либо для осуществления преобразований 1-6 на следующем подраунде, либо составления из них очередной 64-байтной части выходной 256-байтной строки. криптоанализ распараллеливание алгоритм шифрование
В конце зашифровывания производится увеличение всех байтов на Lange%5.
При расшифровывании операции производятся также с 256-байтными строками. Сначала выполняется уменьшение всех байтов на Lange%5. Далее эти строки разбиваются на 4 блока по 64 байта, которые обрабатываются по отдельности. Порядок операций на каждом из 16*R подраундов следующий:
1. Восстановление блока: номер восстанавливаемого байта определяется как kkk%64, где kkk - глобальный номер текущего подраунда. Важно отметить, что при расшифровывании глобальная нумерация подраундов идёт в обратном порядке.
2. Разбиение 64-байтного блока на 4 субблока (N1, N2, N3, N4) по 16 байтов. Перестановка байтов местами внутри субблоков N2 и N3 (такая же, как и при зашифровывании).
3. Наложение подключа на результат перестановки с помощью операции XOR: номер подключа определяется остатком от деления на 16 глобального номера текущего подраунда. При расшифровывании нумерация подраундов идёт в обратном порядке и используется обратный циклический порядок наложения подключей: от K15 до K0.
4. Субблоки N2 и N3 представляются в виде матриц размера 4*4. Для каждой из них производится циклический сдвиг байтов вправо в каждой из строк на количество позиций, определяемое глобальным номером текущего подраунда и собственным номером строки (так же, как и при зашифровывании, но при обратной нумерации подраундов).
5. Побайтная табличная замена в тех же субблоках с помощью той же таблицы, что и при зашифровывании.
6. Наложение субблоков друг на друга с помощью операции XOR и их перестановка местами. Первым субблоком нового формируемого 64-байтного блока становится начальный субблок N2, вторым - итог наложения результата преобразований 2-5 субблока N3 на субблок N4, третим - итог наложения результата преобразований 2-5 субблока N2 на субблок N1, четвёртым - первоначальный субблок N3.
7. Составление единого преобразованного 64-байтного блока из 16-байтных субблоков либо для осуществления преобразований 1-6 на следующем подраунде, либо записи всего этого блока как очередной 64-байтной части выходной 256-байтной строки.
Схемы зашифровывания и расшифровывания представлены ниже.
Функция f() при зашифровывании соответствует преобразованиям 1-4, а при расшифровывании - преобразованиям 2-5.
1. Полученные результаты.
Разработана программная реализация предлагаемого алгоритма на языке программирования C#. В результате работы программы при наличии часто повторяющихся блоков исходного текста получается шифртекст с таким же количеством одинаковых блоков, что соответствует теоретическим результатам.
Численный эксперимент позволил оценить время шифрования и ускорение при распараллеливании в зависимости от длины входных данных и от количества раундов преобразований алгоритма.
Разделение по длине входных данных соответствует структуре работы алгоритма CMN89: данные шифруются блоками по 64 байта, подающимися на вход шифратора по 4 вместе в виде единой 256-байтной строки открытого текста. Измерения проводились при работе на 2-хъядерном процессоре Intel(R) Core(TM)2 Duo CPU.
Использование встроенных методов класса System.Threading.Tasks для распараллеливания вычислений позволило достичь определённого ускорения работы алгоритма. Полученные значения подтверждают, что зачастую применение мелкомодульного распараллеливания, при котором выполняется параллельная обработка каждого из множества небольших циклов по отдельности (например, при расширении ключа, его наложении на субблоки, табличной замене, перестановках и т.п.), является неэффективным. Причина заключается в том, что накладные расходы на создание и уничтожение потоков вносят большой вклад в суммарное время работы алгоритма, существенно снижая положительный эффект от непосредственного параллельного выполнения этих циклов.
На основании полученных значений построены графики зависимости времени выполнения алгоритма CMN89 в последовательном режиме и в режиме крупномодульного распараллеливания и достигнутого ускорения от размера открытого текста, подвергающегося шифрованию (красным показано время шифрования без распараллеливания, фиолетовым - с распараллеливанием, голубым - ускорение, достигнутое при распараллеливании):
Из приведённых выше графиков видно, что во всех случаях крупномодульного распараллеливания вычислений, когда каждому из ядер назначалась полная обработка одного из 64-байтных блоков открытого текста, было достигнуто ускорение вычислений. Оптимальным на рассматриваемой системе можно считать шифрование (с помощью алгоритма CMN89) открытых текстов размером от 513 до 768 байтов в режиме крупномодульного распараллеливания (в этом случае ускорение достигает более 45%). Наименьший положительный эффект от распараллеливания наблюдается при размере исходного текста от 257 до 512 байтов, когда в среднем алгоритм работает быстрее не более чем на 20%. В среднем по всем указанным диапазонам длин исходных данных ускорение составило примерно 32%.
Время выполнения алгоритма и получаемое при распараллеливании вычислений ускорение зависит от количества раундов преобразований. Далее приведены графики соответствующих зависимостей (зелёным отмечено время шифрования без распараллеливания, голубым - с распараллеливанием, оранжевым - ускорение, достигнутое при распараллеливании). Как видно, при малом количестве раундов может происходить уменьшение скорости работы алгоритма при его распараллеливании (даже в его крупномодульном варианте): даже в случае распределения целых 64-байтных блоков на одно ядро процессора при небольшом числе раундов затраты на создание и уничтожение потоков велики, а также существенное влияние оказывает последовательная часть кода.
С увеличением количества раундов R преобразований алгоритма среднее значение наблюдаемого ускорения устанавливается в окрестности 1.5. Если приводить конкретных значений, то наиболее интересны некоторые точки локальных экстремумов: при R=2,11,12 ускорение достигло своего абсолютного максимума, равного 2; R=9 - единственный случай, при котором наблюдалось заметное ухудшение (замедление в 2 раза) работы алгоритма при распараллеливании; во второй половине диапазона возможных значений числа раундов локальный максимум был достигнут при R=190, когда параллельная версия отработала более чем в 1.7 раза быстрее последовательной, что, скорее всего, объясняется оптимальной загрузкой вычислительных ядер на протяжении всего выполнения алгоритма в этом случае, а также эффективным использованием быстрой кэш-памяти.
Оценка криптостойкости. При анализе возможности проведения атак на алгоритм CMN89 были получены следующие оценки:
1. В методе “грубой силы” предполагается наличие у криптоаналитика некоторого шифрующего устройства; ему необходимо узнать “прошитый” в нём ключ; у него также есть нужное количество пар (открытый текст, соответствующий шифртекст) для произведения атаки с известным открытым текстом. В этом методе производится перебор всевозможных вариантов ключа до нахождения искомого. Перед зашифровыванием исходного открытого текста с помощью алгоритма CMN89 производится процедура расширения ключа. В результате “удлинённый” до 256 байтов исходный ключ разбивается на шестнадцать 16-байтных подключей. Каждый из этих подключей используется на определённом подраунде всех раундов преобразований. Таким образом, все биты расширенного ключа задействованы уже в первом раунде обработки 64-байтного блока исходных анных и у “противника” нет возможности найти искомый секретный ключ “по частям”, не внося изменений в алгоритм, что предполагается невозможным (у него есть доступ к шифратору, но не к исходному коду).
В данном случае необходимо найти ключ длиной 8*256=2048 битов, существует его вариантов. Искомый ключ будет обязательно найден в результате перебора в среднем за тестовых операций шифрования. Предположим, что в распоряжении криптоаналитика будет один из самых мощных суперкомпьютеров современности, например, суперкомпьютер Sequoia, занимающий одну из первых строчек в списке TOP500 на начало 2013 года и имеющий производительность 16,32 петафлопс на 1572864 ядрах в тесте LINPACK. В результате подсчётов было установлено, что в среднем при шифровании всего вычислительной системе необходимо совершить 163840* операций с плавающей точкой для нахождения искомого ключа методом “грубой силы”. Потому в случае использования указанного суперкомпьютера время, необходимое на вскрытие среднестатистического варианта алгоритма (нахождение искомого ключа), можно приближённо оценить в секунд, что составляет около 3,1688* лет. Полученная оценка свидетельствует о невозможности осуществления атаки методом “грубой силы” на алгоритм CMN89 за разумное время на текущий момент развития вычислительных систем.
Стоит отметить, что решающий вклад в высокую стойкость алгоритма против атак методом “грубой силы” вносит большая длина ключа.
2. Сдвиговая атака в первоначальном виде на алгоритм CMN89 не применима. На каждом из раундов алгоритма весь ключ шифрования используется полностью, однако раунды не являются идентичными за счёт применения выходного “отбеливания” блока данных (которое заключается в изменении и перемещении байта, положение которого в блоке зависит от номера текущего подраунда: номер байта определяется как kkk%64, где kkk - глобальный номер текущего подраунда); следовательно, в двух подряд выполняемых раундах алгоритма производятся преобразования с байтами на дизъюнктных множествах позиций.
Получается, что необходимые для проведения атаки соотношения между результирующими байтами после двух последовательных раундов составить не получится. Можно сделать вывод о том, что применение указанного преобразования в некоторой степени повышает криптостойкость алгоритма к этому виду атак.
3. Атака вида “встреча посередине” может быть осуществлена только при известном количестве раундов преобразований, выполненных при зашифровывании. Однако стоит отметить, что в отличие от её применения к алгоритму Double DES, когда при первом проходе шифрования одинарным алгоритмом DES используется первая половина секретного ключа, а при втором - вторая, в алгоритме CMN89 на каждом из раундов используется весь ключ. Потому выигрыша, получающегося при проведении подобной атаки на алгоритм Double DES (и заключающегося в возможности разбиения ключа на 2 вдвое меньшие по длине части, которые можно в дальнейшем просто перебрать методом “грубой силы”), здесь получить не удастся: уменьшения области перебора не произойдёт.
4. Метод интерполяции служит для нахождения некоторого алгоритма, эквивалентного зашифровыванию данных на данном секретном ключе.
Он заключается в построении полинома, связывающего открытый текст и соответствующий ему шифртекст. Процесс построения часто опирается на особенности используемых преобразований. Обычно используется интерполяционная формула Лагранжа:
,
которая обладает следующим свойством: при всех i=1…n, где и - заданные значения, причём все различны. При криптоанализе качестве и берутся соответствующие байты исходного текста и его шифртекста. Для осуществления такой атаки необходимо только n тестовых операций шифрования при наличии n известных открытых текстов, но при условии, что число n ненулевых коэффициентов многочлена не превосходит для рассматриваемого алгоритма.
Исследование преобразований позволяет сделать вывод о том, что самые сложные действия, которые необходимо выполнить криптоаналитику для вскрытия алгоритма методом интерполяции, заключаются в построении полинома 63-й степени. Его коэффициенты можно найти методом Гаусса при распараллеливании вычислений. Но важно то, что действие построенного полинома будет распространяться исключительно на данный открытый текст, и алгоритм зашифровывания на его основе никак нельзя считать эквивалентным исходному. Так получается, поскольку все вышеуказанные преобразования производятся 16 раз в течение 1 раунда, причём на каждом новом подраунде в них задействован результат наложения того 16-байтного субблока, который не участвовал в преобразованиях на предыдущем подраунде, на результат этих самых преобразований с другим субблоком, и предполагается невозможность внесения изменений в алгоритм.
Изучение конкретных примеров составления полиномов позволило сделать несколько выводов. Во-первых, в общем случае нельзя пытаться уменьшить степень полинома, т.к. все байты отдельно зашифровываемого 64-байтного блока влияют на результат шифрования. Во-вторых, между отдельными байтами открытого текста и шифртекста, занимающими одинаковые позиции (по номеру от начала текста), невозможно установить биективного соответствия: различные байты могут отображаться в один, и наоборот, образ одного и того же байта в разных текстах может быть различным. В-третьих, подтверждено, что использование указанной интерполяционной формулы Лагранжа при вскрытии алгоритма CMN89 возможно только для каждой конкретной пары открытого текста и соответствующего шифртекста, и полученный многочлен в общем случае будет служить аналогом зашифровывания на рассматриваемом ключе только этого открытого текста.
Дальнейшее развитие и исследования. В настоящее время большой интерес представляет создание алгоритмов шифрования, структура преобразований которых сочетает в себе несколько видов, таких, например, как сеть Фейстеля, “квадрат”, подстановочно-перестановочная сеть, и их исследование на предмет выявления уязвимостей в плане криптостойкости, а также приспособляемости к различным параллельным вычислительным системам.
Структура алгоритма CMN89 представляет собой как раз такую комбинацию, а именно, модификацию сети Фейстеля, на каждом раунде которой выполняются подстановки, перестановки и другие преобразования с блоками данных, представленными в виде квадратного массива байтов.
На данный момент описанный в работе алгоритм шифрования ещё недостаточно изучен. В будущем желательно провести исследование его криптостойкости к линейному криптоанализу, дифференциальному криптоанализу и его усилению - методу бумеранга. Также возможно приспособление программных реализаций алгоритма к конкретным параллельным архитектурам и проведение подробного анализа их эффективности.
Литература
[1] Панасенко С.П. Алгоритмы шифрования. Специальный справочник. СПб.: БХВ-Петербург, 2009. - 576 с.: ил.
[2] Винокуров А. Алгоритм шифрования ГОСТ 28147-89, его использование и реализация для компьютеров платформы Intel x86.
[3] Aoki K., Ichikawa T., Kanda M., Matsui M., Moriai S., Nakajima J., Tokita T. Camellia: A 128-Bit Block Cipher Suitable for Multiple Platforms. http://www.mirrors.wiretapped.net - July 13, 2000.
[4] Jakobsen T., Knudsen L.R. The Interpolation Attack on Block Ciphers http://citeseer.ist.psu.edu - 1997.
Размещено на Allbest.ru
...Подобные документы
История возникновения алгоритма симметричного шифрования, условия и особенности его применения на современном этапе. Принципы и функции исследуемой технологии. Анализ главных преимуществ и недостатков использования алгоритма, оценка его уязвимости.
курсовая работа [301,9 K], добавлен 29.10.2017Симметричные криптосистемы как способ шифрования, в котором для шифрования и расшифровывания применяется один и тот же криптографический ключ. Разбор и реализация шифрования алгоритма: простая и двойная перестановка, перестановка "магический квадрат".
курсовая работа [3,3 M], добавлен 11.03.2013Комбинированное использование симметричного и асимметричного шифрования. Зависимость между открытым и закрытым ключами. Основные недостатки симметричного шифрования. Схема двухстороннего конфиденциального обмена. Концепция шифрования по алгоритму DES.
презентация [1,4 M], добавлен 20.12.2012История появления симметричных алгоритмов шифрования. Роль симметричного ключа в обеспечении степени секретности сообщения. Диффузия и конфузия как способы преобразования бит данных. Алгоритмы шифрования DES и IDEA, их основные достоинства и недостатки.
лабораторная работа [335,9 K], добавлен 18.03.2013Сравнение производительности программных реализаций алгоритмов шифрования с оптимизациями под языки С и Java. История разработки, сущность, принципы шифрования и успехи в криптоанализе таких алгоритмов шифрования как AES, RC4, RC5, RC6, Twofish и Mars.
реферат [1,3 M], добавлен 13.11.2009Исследование системы распределения ключей на основе линейных преобразований. Описание компонентов сети конфиденциальной связи. Характеристика отечественного алгоритма шифрования данных. Обзор результатов расчетов криптостойкости алгоритма шифрования.
контрольная работа [56,5 K], добавлен 26.09.2012Особенности шифрования данных, предназначение шифрования. Понятие криптографии как науки, основные задачи. Анализ метода гаммирования, подстановки и метода перестановки. Симметрические методы шифрования с закрытым ключом: достоинства и недостатки.
курсовая работа [564,3 K], добавлен 09.05.2012Симметричные и асиметричные методы шифрования. Шифрование с помощью датчика псевдослучайных чисел. Алгоритм шифрования DES. Российский стандарт цифровой подписи. Описание шифрования исходного сообщения асимметричным методом с открытым ключом RSA.
курсовая работа [101,1 K], добавлен 09.03.2009Понятие и значение информационной безопасности, принципы и методы ее обеспечения. Главные понятия и определения криптографии. Модели симметричного шифрования данных и их функциональные особенности. Криптосистема DES как одна из современных и популярных.
курсовая работа [326,8 K], добавлен 09.06.2014Реализация алгоритма DES и режимов шифрования для любой длины сообщения и любой длины ключа. Шифрование сообщений различной длины и ключа с замериванием времени и скорости шифрования. Реализация алгоритма RSA. Сохранение зашифрованного файла на диск.
курсовая работа [398,4 K], добавлен 26.01.2010Статистический анализ текстов, созданных программой симметричного шифрования. Реализация симметричного криптоалгоритма. Основные шаги в использовании криптосистемы PGP. Генерация ключей, шифрование и расшифровка сообщений. Защита от сетевых атак.
лабораторная работа [1,7 M], добавлен 06.07.2009Стандарт шифрования Advanced Encryption Standard как официальный стандарт правительства США для симметричного шифрования. Таблицы подстановки для S-Box и InvS-Box. Преобразование MixColumns, SubWord, RotWord. Процедура расширения ключа 128, 192, 256 бит.
презентация [2,2 M], добавлен 12.12.2013Симметричные криптосистемы; алгоритмы шифрования и дешифрования данных, их применение в компьютерной технике в системах защиты конфиденциальной и коммерческой информации. Основные режимы работы алгоритма DES, разработка программной реализации ключа.
курсовая работа [129,6 K], добавлен 17.02.2011Появление шифров, история эволюции криптографии. Способ приложения знаний особенностей естественного текста для нужд шифрования. Критерии определения естественности. Способ построения алгоритмов симметричного шифрования. Криптосистема с открытым ключом.
реферат [452,2 K], добавлен 31.05.2013История алгоритмов симметричного шифрования (шифрования с закрытым ключом). Стандарты на криптографические алгоритмы. Датчики случайных чисел, создание ключей. Сфера интересов криптоанализа. Системы электронной подписи. Обратное преобразование информации.
краткое изложение [26,3 K], добавлен 12.06.2013Возможности создания и обработки графики. Алгоритм шифрования текста в графику. Изменения цветовых каналов. Инициализация объектов html-сущностей. Формирование декодированной строки. Инструменты для обработки массивов, текстовых данных и графики.
курсовая работа [50,5 K], добавлен 26.11.2013Выбор шифров перестановки для проведения анализа. Анализ алгоритма двух различных шифров, построение блок-схемы алгоритма и программы, разработка общего интерфейса. Сравнение шифров перестановки по результатам шифрования и криптоанализа текстов.
курсовая работа [2,8 M], добавлен 14.01.2014Алгоритм ГОСТ 28147-89 симметричного шифрования на основе сети Фейстеля, основные режимы его работы. Атаки на системы защиты информации. Метод грубой силы. Атаки класса "встреча посередине". Характеристики ГОСТ 28147-89 и американского шифра Rijndael.
курсовая работа [510,7 K], добавлен 17.01.2012Принцип программной реализации классических криптографических методов. Метод шифрования с использованием таблицы Виженера. Создание текстового редактора "Блокнот", содержащего методы шифрования. Вербальный алгоритм и программа для методов шифрования.
курсовая работа [2,0 M], добавлен 20.01.2010История криптографии. Сравнение алгоритмов шифрования, применение в операционной системе. Анализ продуктов в области пользовательского шифрования. Включение и отключение шифрования на эллиптических кривых. Использование хеш-функции. Электронная подпись.
курсовая работа [492,6 K], добавлен 18.09.2016