Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Криптоаналитическая атака методом полного перебора всех возможных ключей



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

Существуют и другие, менее распространенные, криптоаналитические атаки.

 

  9.2. Основные виды шифрования

15
Большинство средств защиты информации базируется на использовании криптографических шифров и процедур шифрования-расшифрования. В соответствии со стандартом ГОСТ 28147-89 под шифром понимают совокупность обратимых преобразований множества открытых данных на множество зашифрованных данных, задаваемых ключом и алгоритмом криптографического преобразования.

Ключ – это конкретное секретное состояние некоторых параметров алгоритма криптографического преобразования данных, обеспечивающее выбор только одного варианта из всех возможных для данного алгоритма /1/.

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

К шифрам, используемым для криптографической защиты информации, предъявляется ряд требований:

· достаточная криптостойкость (надежность закрытия данных);

· простота процедур шифрования и расшифрования;

· незначительная избыточность информации за счет шифрования;

1. нечувствительность к небольшим ошибкам шифрования и др.

В той или иной мере этим требованиям отвечают:

1. шифры перестановок;

1. шифры замены;

· шифры гаммирования;

1. шифры, основанные на аналитических преобразованиях шифруемых данных.

16
Шифрование перестановкой заключается в том, что символы шифруемого текста переставляются по определенному правилу в пределах некоторого блока этого текста. При достаточной длине блока, в пределах которого осуществляется перестановка, и сложном неповторяющемся порядке перестановки можно достигнуть приемлемой для простых практических приложений стойкости шифра.

Шифрование заменой (подстановкой) заключается в том, что символы шифруемого текста заменяются символами того же или другого алфавита в соответствии с заранее обусловленной схемой замены.

Шифрование гаммированием заключается в том, что символы шифруемого текста складываются с символами некоторой случайной последовательности, именуемой гаммой шифра. Стойкость шифрования определяется в основном длиной (периодом) неповторяющейся части гаммы шифра. Поскольку с помощью ЭВМ можно генерировать практически бесконечную гамму шифра, то данный способ является одним из основных для шифрования информации в автоматизированных системах.

Шифрование аналитическим преобразованием заключается в том, что шифруемый текст преобразуется по некоторому аналитическому правилу (формуле).

Например, можно использовать правило умножения вектора на матрицу, причем умножаемая матрица является ключом шифрования (поэтому ее размер и содержание должны храниться в секрете), а символами умножаемого вектора последовательно служат символы шифруемого текста. Другим примером может служить использование так называемых однонаправленных функций для построения криптосистем с открытым ключом.

 

17
По мнению К. Шеннона /5/, в практических шифрах необходимо использовать два основных общих принципа: рассеивание и перемешивание.

Рассеивание представляет собой распространение влияния одного знака открытого текста на много знаков шифртекста, что позволяет скрыть статистические свойства открытого текста.

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

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

В составных шифрах в качестве простых шифров чаще всего используются простые перестановки и подстановки. При перестановке просто перемешивают символы открытого текста, причем конкретный вид перемешивания определяется секретным ключом. При подстановке каждый символ открытого текста заменяют другим символом из того же алфавита, а конкретный вид подстановки также определяется секретным ключом. Следует заметить, что в современном блочном шифре блоки открытого текста и шифртекста представляют собой двоичные последовательности обычно длиной 64 бита. В принципе каждый блок может принимать 264 значений. Поэтому подстановки выполняются в очень большом алфавите, содержащем до 264 » 1019 " символов".

18
При многократном чередовании простых перестановок и подстановок, управляемых достаточно длинным секретным ключом, можно получить очень стойкий шифр с хорошим рассеиванием и перемешиванием. Рассмотренные ниже криптоалгоритмы DES, IDEA и отечественный стандарт шифрования данных построен в полном соответствии с указанной методологией.

 

9.3. Отечественный стандарт шифрования данных

В нашей стране установлен единый алгоритм криптографического преобразования данных для систем обработки информации в сетях ЭВМ, отдельных вычислительных комплексах и ЭВМ, который определяется ГОСТ 28147-89 /1/. Стандартобязателен для организаций, предприятий и учреждений, применяющих криптографическую защиту данных, хранимых и передаваемых в сетях ЭВМ, в отдельных вычислительных комплексах и ЭВМ.

Этот алгоритм криптографического преобразования данных предназначен для аппаратной и программной реализации, удовлетворяет криптографическим требованиям и не накладывает ограничений на степень секретности защищаемой информации. Алгоритм шифрования данных представляет собой 64-битовый блочный алгоритм с 256-битовымключом.

При описании алгоритма используются следующие обозначения:

L и R – последовательности битов;

LR – конкатенация последовательностей L и R, в которой биты последовательности R следуют за битами последовательности L;

Å – операция побитового сложения по модулю 2;

⊞ – операция сложения по модулю 232 двух 32-разрядных двоичных чисел;

19
⊞ ´ – операция сложения двух 32-разрядных чисел по модулю 232 –1.

Два целых числа 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.

 

20


  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) – правые или младшие биты.

 

21
 

Рисунок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).

22
Перваяоперация называется подстановкой (заменой) и выполняется блокомподстановкиS. Блок подстановки S состоит из восьми узлов замены (S-блоков замены) S1, S2,..., S8 с памятью 64 бит каждый. Поступающий из СМ1 на блок подстановки S 32-разрядный вектор разбивают на восемь последовательно идущих 4-разрядных векторов, каждый из которых преобразуется в четырехразрядный вектор соответствующим узлом замены. Каждый узел замены можно представить в виде таблицы-перестановки шестнадцати четырехразрядных двоичных чисел в диапазоне 0000…1111. Входной вектор указывает адрес строки в таблице, а число в этой строке является выходным вектором. Затем четырехразрядные выходные векторы последовательно объединяют в 32-разрядный вектор. Узлы замены (таблицы-перестановки) представляют собой ключевые элементы, которые являются общими для сети ЭВМ и редко изменяются. Эти узлы замены должны сохраняться в секрете.

Втораяоперация – циклический сдвиг влево (на 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.

23
В 32-м цикле результат из сумматора СМ2 вводится в накопитель N2, а в накопителе N1 сохраняется прежнее заполнение. Полученные после 32-го цикла зашифрования заполнения накопителей N1 и N2 являются блоком зашифрованных данных Тш, соответствующим блоку открытых данных Т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))

24
в накопители N1 и N2 производят так, чтобы начальное значение накопителя N1 имело вид

(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

Аналогично расшифровываются остальные блоки зашифрованных данных.

25
Если алгоритм зашифрования в режиме простой замены 64-битового блока Т0 обозначить через А, то

А(Т0) = А(a (0), b(0)) = (a (32), b(32))=Тш.

Следует иметь в виду, что режим простой замены допустимо использовать для шифрования данных только в ограниченных случаях – при выработке ключа и зашифровании его с обеспечением имитозащиты для передачи по каналам связи или для хранения в памяти ЭВМ.

26

Лабораторная работа №2


ИЗУЧЕНИЕ АЛГОРИТМА ШИФРОВАНИЯ С ОТКРЫТЫМ КЛЮЧОМ RSA

 

Цель работы

Изучить принципы и процедурные аспекты криптосистемы RSA.

 

  2. Рекомендуемые источники

  1.Романец Ю.В., Тимофеев П.А., Шаньгин В.Ф. Защита информации в компьютерных системах и сетях /Под ред. В.Ф. Шаньгина.- 2-е изд.. перераб. и доп..-М.: Радио и связь, 2001, с. 131-138.

    2.Соколов А.В., Шаньгин В.Ф. Защита информации в распределенных корпоративных сетях и системах.- М.: ДМК Пресс, 2002, с. 204-206.

   3.Б. Шнайер. Прикладная криптография.-М.: Триумф, 2002, с. 521-530.

 

Подготовка к работе

1.Ознакомиться с алгоритмом шифрования по одному из рекомендованных источников/1-3/.

2.Ознакомиться с содержанием данной методической

разработки.

  3.Подготовить бланк отчета, который должен содержать:

- цель работы;

- основные математические соотношения формирования ключевой информации.

 

4. Контрольные вопросы

1.

27
Изобразите обобщенную схему асимметричной криптосистемы.

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; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.056 с.)
Главная | Случайная страница | Обратная связь