Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Криптоаналитическая атака методом полного перебора всех возможных ключей
Эта атака предполагает использование криптоаналитиком известного шифртекста и осуществляется посредством полного перебора всех возможных ключей с проверкой, является ли осмысленным получающийся открытый текст. Такой подход требует привлечения предельных вычислительных ресурсов и иногда называется силовой атакой. Существуют и другие, менее распространенные, криптоаналитические атаки.
9.2. Основные виды шифрования
Ключ – это конкретное секретное состояние некоторых параметров алгоритма криптографического преобразования данных, обеспечивающее выбор только одного варианта из всех возможных для данного алгоритма /1/. Основной характеристикой шифра является криптостойкость, которая определяет его стойкость к раскрытию методами криптоанализа. Обычно эта характеристика определяется интервалом времени, необходимым для раскрытия шифра. К шифрам, используемым для криптографической защиты информации, предъявляется ряд требований: · достаточная криптостойкость (надежность закрытия данных); · простота процедур шифрования и расшифрования; · незначительная избыточность информации за счет шифрования; 1. нечувствительность к небольшим ошибкам шифрования и др. В той или иной мере этим требованиям отвечают: 1. шифры перестановок; 1. шифры замены; · шифры гаммирования; 1. шифры, основанные на аналитических преобразованиях шифруемых данных.
Шифрование заменой (подстановкой) заключается в том, что символы шифруемого текста заменяются символами того же или другого алфавита в соответствии с заранее обусловленной схемой замены. Шифрование гаммированием заключается в том, что символы шифруемого текста складываются с символами некоторой случайной последовательности, именуемой гаммой шифра. Стойкость шифрования определяется в основном длиной (периодом) неповторяющейся части гаммы шифра. Поскольку с помощью ЭВМ можно генерировать практически бесконечную гамму шифра, то данный способ является одним из основных для шифрования информации в автоматизированных системах. Шифрование аналитическим преобразованием заключается в том, что шифруемый текст преобразуется по некоторому аналитическому правилу (формуле). Например, можно использовать правило умножения вектора на матрицу, причем умножаемая матрица является ключом шифрования (поэтому ее размер и содержание должны храниться в секрете), а символами умножаемого вектора последовательно служат символы шифруемого текста. Другим примером может служить использование так называемых однонаправленных функций для построения криптосистем с открытым ключом.
Рассеивание представляет собой распространение влияния одного знака открытого текста на много знаков шифртекста, что позволяет скрыть статистические свойства открытого текста. Перемешивание предполагает использование таких шифрующих преобразований, которые усложняют восстановление взаимосвязи статистических свойств открытого и шифрованного текстов. Однако шифр должен не только затруднять раскрытие, но и обеспечивать легкость зашифрования и расшифрования при известном пользователю секретном ключе. Распространенным способом достижения эффектов рассеивания и перемешивания является использование составного шифра, т.е. такого шифра, который может быть реализован в виде некоторой последовательности простых шифров, каждый из которых вносит свой вклад в значительное суммарное рассеивание и перемешивание. В составных шифрах в качестве простых шифров чаще всего используются простые перестановки и подстановки. При перестановке просто перемешивают символы открытого текста, причем конкретный вид перемешивания определяется секретным ключом. При подстановке каждый символ открытого текста заменяют другим символом из того же алфавита, а конкретный вид подстановки также определяется секретным ключом. Следует заметить, что в современном блочном шифре блоки открытого текста и шифртекста представляют собой двоичные последовательности обычно длиной 64 бита. В принципе каждый блок может принимать 264 значений. Поэтому подстановки выполняются в очень большом алфавите, содержащем до 264 » 1019 " символов".
9.3. Отечественный стандарт шифрования данных В нашей стране установлен единый алгоритм криптографического преобразования данных для систем обработки информации в сетях ЭВМ, отдельных вычислительных комплексах и ЭВМ, который определяется ГОСТ 28147-89 /1/. Стандартобязателен для организаций, предприятий и учреждений, применяющих криптографическую защиту данных, хранимых и передаваемых в сетях ЭВМ, в отдельных вычислительных комплексах и ЭВМ. Этот алгоритм криптографического преобразования данных предназначен для аппаратной и программной реализации, удовлетворяет криптографическим требованиям и не накладывает ограничений на степень секретности защищаемой информации. Алгоритм шифрования данных представляет собой 64-битовый блочный алгоритм с 256-битовымключом. При описании алгоритма используются следующие обозначения: L и R – последовательности битов; LR – конкатенация последовательностей L и R, в которой биты последовательности R следуют за битами последовательности L; Å – операция побитового сложения по модулю 2; ⊞ – операция сложения по модулю 232 двух 32-разрядных двоичных чисел;
Два целых числа a, b, где 0 £ a, b £ 232 –1, a= (a32a31... a2a1), b = (b32, b31, ..., b2, b1), представленные в двоичном виде, т.е. a= a32× 231 + a31× 230 +...+ a2× 21 + a1, b = b32× 231 + b31× 230 +...+ b2× 21 + b1, суммируются по модулю 232 (операция ⊞ ) по следующему правилу: a ⊞ b = a + b, если a + b < 232, a ⊞ b = a + b – 232, если a + b ³ 232. Правила суммирования чисел по модулю 232 – 1: a ⊞ ´ b = a + b, если a + b < 232– 1, a ⊞ ´ b = a + b – (232 – 1), если a + b ³ 232 – 1. Алгоритм предусматривает четыре режима работы: · шифрование данных в режиме простой замены; · шифрование данных в режиме гаммирования; · шифрование данных в режиме гаммирования с обратной связью; · выработка имитовставки.
Режим простой замены Для реализации алгоритма шифрования данных в режиме простой замены используется только часть блоков общей криптосистемы (рис.1.4). Обозначения на схеме: N1, N2 – 32-разрядные накопители; СМ1 – 32-разрядный сумматор по модулю 232 (⊞ ); СМ2 – 32-разрядный сумматор по модулю 2 (Å ); R – 32-разрядный регистр циклического сдвига; КЗУ – ключевое запоминающее устройство на 256 бит, состоящее из восьми 32-разрядных накопителей Х0, Х1, Х2, ..., Х7; S – блок подстановки, состоящий из восьми узлов замены (S-блоков замены) S1, S2, S3, ..., S7, S8.
9.3.1. Зашифрование открытых данных в режиме простой замены Открытые данные, подлежащие зашифрованию, разбивают на 64-разрядные блоки Т0. Процедура зашифрования 64-разрядного блока Т0 в режиме простой замены включает 32 цикла (j = 1…32). В ключевое запоминающее устройство вводят 256 бит ключа К в виде восьми 32-разрядных подключей (чисел) Кi: К=К7К6К5К4К3К2К1К0. Последовательность битов блока Т0=(a1(0), a2(0), ..., a31(0), a32(0), b1(0), b2(0),..., b31(0), b32(0)) разбивают на две последовательности по 32 бита: b(0) a(0), где b(0) – левые или старшие биты, a(0) – правые или младшие биты.
Рисунок1. 4- Схема реализации режима простой замены Эти последовательности вводят в накопители N1 и N2 перед началом первого цикла зашифрования. В результате начальное заполнение накопителя N1 a (0) = (a32(0), a31(0), ..., a2(0), a1(0)), 32, 31, ... 2, 1 номер разряда N1 начальное заполнение накопителя N2 b(0) = (b32(0), b31(0), ..., b2(0), b1(0)). 32, 31, ... 2, 1 номер разряда N2 Первый цикл (j=1) процедуры зашифрования 64-разрядного блока открытых данных можно описать уравнениями:
Здесь a(1) – заполнение N1 после 1-го цикла зашифровaния; b(1) – заполнение N2 после 1-го цикла зашифрования; f – функция шифрования. Аргументом функции f является сумма по модулю 232 числа a(0) (начального заполнения накопителя N1) и числа К0 – подключа, считываемого из накопителя Х0 КЗУ. Каждое из этих чисел равно 32 битам. Функция f включает две операции над полученной 32-разрядной суммой (a(0) ⊞ К0).
Втораяоперация – циклический сдвиг влево (на 11 разрядов) 32-разрядного вектора, полученного с выхода блока подстановки S. Циклический сдвиг выполняется регистром сдвига R. Далее результат работы функции шифрования f суммируют поразрядно по модулю 2 в сумматоре СМ2 с 32-разрядным начальным заполнением b(0) накопителя N2. Затем полученный на выходе СМ2 результат (значение a(1)) записывают в накопитель N1, а старое значение N1 (значение a(0)) переписывают в накопитель N2 (значение b(1) = a(0)). Первый цикл завершен. Последующие циклы осуществляются аналогично, при этом во втором цикле из КЗУ считывают заполнение Х1 – подключ К1, в третьем цикле – подключ К2 и т.д., в восьмом цикле – подключ К7. В циклах с 9-го по 16-й, а также в циклах с 17-го по 24-й подключи из КЗУ считываются в том же порядке: К0, К1, К2,..., К6, К7. В последних восьми циклах с 25-го по 32-й порядок считывания подключей из КЗУ обратный: К7, К6, ..., К2, К1, К0. Таким образом, при зашифровании в 32 циклах осуществляется следующий порядок выборки из КЗУ подключей: К0, К1, К2, К3, К4, К5, К6, К7, К0, К1, К2, К3, К4, К5, К6, К7, К0, К1, К2, К3, К4, К5, К6, К7, К7, К6, К5, К4, К3, К2, К1, К0.
Уравнения зашифрования в режиме простой замены имеют вид: при j=1…24, при j=25…31, при j=32, где a(j) = (a32(j), a31(j), ..., a1(j)) – заполнение N1 после j-го цикла зашифрования; b(j) = (b32(j), b31(j), ..., b1(j)) – заполнение N2 после j-го цикла зашифрования, j=1…32. Блок зашифрованных данных Тш (64 разряда) выводится из накопителей N1, N2 в следующем порядке: из разрядов 1…32 накопителя N1, затем из разрядов 1…32 накопителя N2, т.е. начиная с младших разрядов: Тш = (a1(32), a2(32), ..., a32(32), b1(32), b2(32), ..., b32(32)). Остальные блоки открытых данных зашифровываются в режиме простой замены аналогично.
9.3.2.Расшифрование в режиме простой замены Криптосхема, реализующая алгоритм расшифрования в режиме простой замены, имеет тот же вид, что и при зашифровании ( рис. 4). В КЗУ вводят 256 бит ключа, на котором осуществлялось зашифрование. Зашифрованные данные, подлежащие расшифрованию, разбиты на блоки Тш по 64 бита в каждом. Ввод любого блока Тш = (a1(32), a2(32), ..., a32(32), b1(32), b2(32), ..., b32(32))
(a32(32), a31(32), ..., a2(32), a1(32)), 32, 31, ..., 2, 1 номер разряда N1 а начальное заполнение накопителя N2 – вид (b32(32), b31(32), ..., b2(32), b1(32)). 32, 31, ..., 2, 1 номер разряда N2 Расшифрование осуществляется по тому же алгоритму, что и зашифрование, с тем изменением, что заполнения накопителей X0, Х1, ..., Х7 считываются из КЗУ в циклах расшифрования в следующем порядке: К0, К1, К2, К3, К4, К5, К6, К7, К7, К6, К5, К4, К3, К2, К1, К0, К7, К6, К5, К4, К3, К2, К1, К0, К7, К6, К5, К4, К3, К2, К1, К0. Уравнения расшифрования имеют вид: при j=1…8; при j=9…31; при j=32. Полученные после 32 циклов работы заполнения накопителей N1 и N2 образуют блок открытых данных Т0 = (a1(0), a2(0), ..., a32(0), b1(0), b2(0),..., b32(0)), соответствующий блоку зашифрованных данных Тш. При этом состояние накопителя N1 (a32(0), a31(0), ..., a2(0), a1(0)), 32, 31, ..., 2, 1 номер разряда N1 состояние накопителя N2 (b32(0), b31(0), ..., b2(0), b1(0)). 32, 31, ..., 2, 1 номер разряда N2 Аналогично расшифровываются остальные блоки зашифрованных данных.
А(Т0) = А(a (0), b(0)) = (a (32), b(32))=Тш. Следует иметь в виду, что режим простой замены допустимо использовать для шифрования данных только в ограниченных случаях – при выработке ключа и зашифровании его с обеспечением имитозащиты для передачи по каналам связи или для хранения в памяти ЭВМ. ИЗУЧЕНИЕ АЛГОРИТМА ШИФРОВАНИЯ С ОТКРЫТЫМ КЛЮЧОМ RSA
Цель работы Изучить принципы и процедурные аспекты криптосистемы RSA.
2. Рекомендуемые источники 1.Романец Ю.В., Тимофеев П.А., Шаньгин В.Ф. Защита информации в компьютерных системах и сетях /Под ред. В.Ф. Шаньгина.- 2-е изд.. перераб. и доп..-М.: Радио и связь, 2001, с. 131-138. 2.Соколов А.В., Шаньгин В.Ф. Защита информации в распределенных корпоративных сетях и системах.- М.: ДМК Пресс, 2002, с. 204-206. 3.Б. Шнайер. Прикладная криптография.-М.: Триумф, 2002, с. 521-530.
Подготовка к работе 1.Ознакомиться с алгоритмом шифрования по одному из рекомендованных источников/1-3/. 2.Ознакомиться с содержанием данной методической разработки. 3.Подготовить бланк отчета, который должен содержать: - цель работы; - основные математические соотношения формирования ключевой информации.
4. Контрольные вопросы 1.
2.Характерные особенности асимметричных криптосистем. 3.Основные требования, обеспечивающие безопасность асимметричной криптосистемы. 4.Понятие однонаправленных функций. 5.Сущность алгоритма шифрования RSA. 6.Сущность процедуры шифрования в системе RSA. 7.Сущность процедуры расшифрования в системе RSA. 8.Требования, предъявляемые к исходным параметрам системы RSA для формирования ключевой информации.
Содержание работы 1.Ознакомиться с алгоритмом RSA и его основными особенностями. 2.Изучить основные этапы шифрования на компьютерной модели. 3.Произвести установку открытых и закрытых ключей для двух абонентов. 4.Произвести двухсторонний обмен информацией.
Содержание отчета Отчет должен содержать: 1. Цель работы. 2. Структурную схему асимметричной криптосистемы с открытым ключом. 3. Основные математические соотношения формирования ключевой информации. 4. Таблицы шифрования и дешифрования. 5. Выводы о технических возможностях, особенностях, преимуществах и областях применения алгоритма RSA.
|
Последнее изменение этой страницы: 2019-10-04; Просмотров: 310; Нарушение авторского права страницы