Системы шифрования с частными ключами

 

Цель работы

Научиться шифровать данные, используя системы с частными ключами.

 

Краткие теоретические сведения

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

 

Перестановочные шифры

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

 

T H I S I S A
M E S S A G E
T O S E N D  

Рис. 2 Простой перестановочный шифр

 

Усовершенствование этой методики состоит в том, чтобы читать столбцы сетки в более сложном порядке, чем просто слева направо. Для указания порядка считывания столбцов можно использовать ключевое слово, алфавитное упорядочивание букв которого и определяет порядок чтения столбцов. Например, если бы ключевым словом было слово cipher, то мы вписывали бы шифруемое сообщение в 6 столбцов, а затем считывали бы столбцы в следующем порядке 1(c), 5(e), 4(h), 2(i), 3(p), 6(r). Однако такая система остается все еще очень восприимчивой к нападению по методу проб и ошибок.

 

Трансформационные шифры

Моноалфавитный шифр

Самый простой тип трансформационного шифра должен брать каждый символ в сообщении и заменять его в зашифрованном тексте другим символом. Символы для зашифрованного текста обычно берутся из того же алфавита, что и сообщения, но это не обязательно. Система называется моноалфавитной из-за того, что каждый символ сообщения всегда преобразуется в один и тот же символ зашифрованного текста. Еще Юлий Цезарь использовал систему преобразования. Он заменял каждую букву сообщения на третью букву из того же алфавита. Термин “подстановка Цезаря” теперь применяется к любому шифру с подобным сдвигом между символами сообщения и алфавитом шифра, даже если этот сдвиг не равен трем. Более безопасной является произвольная подстановка, которая изменяет порядок подстановочных символов. Проблема со всеми моноалфавитными шифрами состоит в том, что их очень просто атаковать с использованием частотного анализа.

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

 

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

 

C O D E A B F G H I J K L M N P Q R S T U V W X Y Z

Рис. 3 Шифр с подстановками Виженера

 

Полиалфавитный шифр

Одним из способов преодоления атаки частного анализа является использование разных алфавитов преобразования, зависящих от позиции символа в сообщении. Данная система называется полиалфавитным шифром Веженера. В этом случае для определения числа подстановок Цезаря, которые будут использоваться для кодирования, применяется специальное кодовое слово. Например, пусть этим кодовым словом будет “code”. Оно определяет четыре алфавита, первый – со сдвигом 2, второй – со сдвигом 14, третий – со сдвигом 3 и четвертый со сдвигом 4.

 

  a b c d e f g h i j k l m n o p q r s t u v w x y z
c d e f g h i j k l m n o p q r s t u v w x y z a b
o p q r s t u v w x y z a b c d e f g h i j k l m n
d e f g h i j k l m n o p q r s t u v w x y z a b c
e f g h i j k l m n o p q r s t u v w x y z a b c d

а

 

T H I S I S A M E S S A G E T O B E C O D E D

 

V V L W K G D Q G G V E I S W S D S F S F S G

б

 

Рис. 4 Полиалфавитный шифр Веженера:

а – таблица шифрования

б – пример кодирования

 

Одноразовое заполнение

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

 
 

сообщению.

Рис. 5 Система одноразового шифрования

 

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

 

Задания

1. Используя перестановочный шифр с глубиной сетки 8, закодируйте сообщение: “Takeover announcement will be made at noon tomorrow” (Объявление о слиянии компании будет сделано завтра утром).

2. Повторите кодирование, используя перестановочный шифр с ключевым словом “COLUMNAR” (которое используется для определения упорядочивания по столбцам).

3. Используя шифр Цезаря со сдвигом 4, закодируйте сообщение: “Now is the time for all good men to come to the aid of the part” (Для всех хороших людей настало время прийти на помощь партии).

4. Дешифруйте сообщение:

KWWS://ZZZ.DQtHQQD-PRGHOV.FRP/VHFUHt/LQGHA.htPO.

5. Используя шифр Виженера и ключевое слово “hide”, закодируйте”We must meet under the clock” (Мы должны встретиться под часами).

6. Используя поточный шифр и начальный ключ “D”, закодируйте сообщение: “The documents will be sent tomorrow” (Документы будут посланы завтра).

 

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

1. Какие системы называются системами шифрования с частными ключами?

2. Какие виды систем с частными ключами вы знаете?

3. В чем заключается подстановка Виженера?


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



php"; ?>