Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Общие принципы построения симметричных систем шифрования




Симметричные криптосистемы (с секретным ключомsecret key systems) –построены на основе сохранения в тайне ключа шифрования. Процессы зашифрования и расшифрования используют один и тот же ключ. Секретность ключа является постулатом. Основная проблема при применении симметричных криптосистем для связи заключается в сложности передачи обоим сторонам секретного ключа. Однако данные системы обладают высоким быстродействием. Раскрытие ключа злоумышленником грозит раскрытием только той информации, что была зашифрована на этом ключе. Американский и Российский стандарты шифрования DES и ГОСТ 28.147-89, а также новый стандарт AES Rijndael – все эти алгоритмы являются представителями симметричных криптосистем.

Симметричные криптосистемы в настоящее время принято подразделять на блочные и поточные.

Блочные криптосистемы разбивают текст сообщения на отдельные блоки и затем осуществляют преобразование этих блоков с использованием ключа.

Поточные криптосистемы работают несколько иначе. На основе ключа системы вырабатывается некая последовательность – так называемая гамма, которая затем накладывается на текст сообщения. Таким образом, преобразование текста осуществляется как бы потоком по мере выработки гаммы.

 

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

 

 

 

 

Рис. 13. Структура симметричной криптосистемы

 

Здесь М – открытый текст, К – секретный ключ, передаваемый по закрытому каналу, Ек(М) – операция зашифрования, а Dk(M) – операция расшифрования.

 

 

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

  • рассеивание (diffusion) – изменение любого знака открытого текста или ключа влияет на большое число знаков шифротекста, что скрывает статистические свойства открытого текста;
  • перемешивание (confusion) – использование преобразований, затрудняющих получение статистических зависимостей между шифротектстом и открытым текстом.


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

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

Сети Фейстеля
Наибольшую популярность имеют шифры, реализованные по принципу “сети Фейстеля" (Feistel):

 

- входной блок для каждого преобразования разбивается на две половины: p=(l,r), где l левая, r правая;

- используется преобразование вида Fi (l, r)=(r, l Å fi (r)),

- где fi зависящая от ключа Ki функция, а Å операция XOR.

 

Функция fi называется цикловой функцией, а ключ Ki, используемый для получения функции fi называется цикловым ключом. Как можно заметить, с цикловой функцией складывается только левая половина блока, а правая остается неизменной. Затем обе половины меняются местами. Это преобразование осуществляется в несколько циклов и выходом шифра является получившаяся в конце пара (l,r)

Графически сеть Фейстеля представлена на рис.14.

 

 

 

Рис. 14. Сеть Фейстеля

 

 

В качестве функции fi выступает некая комбинация перестановок, подстановок, сдвигов, добавлений ключа и прочих преобразований. Так, при использовании подстановок информация проходит через специальные блоки, называемые S-блоками (S-боксами, S-boxes), в которых значение группы битов заменяется на другое значение. По такому принципу построены многие симметричные алгоритмы шифрования, например: DES, FEAL.
В других симметричных алгоритмах используются несколько иные принципы. Так, например, алгоритмы, построенные по SP-принципу (SP-сети) осуществляют преобразование, пропуская блок через последовательность подстановок (Substitutions) и перстановок (Permutations). Отсюда и название – SP-сети, то есть сети "подстановок-перстановок". Примером такого алгоритма служит новый американский стандарт симметричного шифрования AES Rijndael.

 

Блочный шифр DES

 

Стандарт шифрования данных DES (Data Encryption Standard) опубликован в 1977 г. Национальным бюро стандартов США. Стандарт DES предназначен для защиты от несанкционированного доступа к важной, но несекретной информации в государственных и коммерческих организациях США. К настоящему времени DES является наиболее распространенным алгоритмом, используемым в системах защиты коммерческой информации.

Основные достоинства алгоритма DES:

· используется только один ключ длиной 56 бит;

· зашифровав сообщение с помощью одного пакета программ, для расшифровки можно использовать любой другой пакет программ, соответствующий стандарту DES;

· относительная простота алгоритма обеспечивает высокую скорость обработки;

· достаточно высокая стойкость алгоритма.

DES осуществляет шифрование 64-битовых блоков данных с помощью 64-битового ключа, в котором значащими являются 56 бит (остальные 8 бит – проверочные биты для контроля на четность). Дешифрование в DES является операцией, обратной шифрованию, и выполняется путем повторения операций шифрования в обратной последовательности. Обобщенная схема процесса шифрования в алгоритме DES показана на рис.15. Процесс шифрования заключается в начальной перестановке битов 64-битового блока, шестнадцати циклах шифрования и, наконец, в конечной перестановке битов.

 

 

Рис. 15. Обобщенная схема шифрования в алгоритме DES

 

Следует сразу отметить, что все приводимые таблицы являются стандартными и должны включаться в реализацию алгоритма DES в неизменном виде.

Все перестановки и коды в таблицах подобраны разработчиками таким образом, чтобы максимально затруднить процесс расшифровки путем подбора ключа. При описании алгоритма DES (рис. 16) применены следующие обозначения:

L и R – последовательности битов (левая (left) и правая (right));

 

 

 

Рис. 16. Структура алгоритма DES

 

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

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

 

Пусть из файла исходного текста считан очередной 64-битовый (8-байтовый) блок Т. Этот блок Т преобразуется с помощью матрицы начальной перестановки P (табл. 5.1).

 

Таблица 5.1

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...