А,В,Соколов, 0,М, Степанюк - Скачать документы
А,В,Соколов, 0,М, Степанюк - Скачать документы
А,В,Соколов, 0,М, Степанюк - Скачать документы
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Глава 4. Криптографические методы защиты информации 367<br />
но. Поскольку в компьютерах используется исключительно цифровая информация, то<br />
далее мы будем предполагать, что сообщение, которое мы хотим криптографически<br />
преобразовать, переводится в последовательность двоичных цифр. Любая информация<br />
(письма, музыка или телевизионный сигнал) может быть представлена в двоичном<br />
коде.<br />
Надежный ключ представляет собой случайный битовый вектор. К примеру, если<br />
он имеет длину 56 бит, это значит, что в процессе его генерации с одинаковой вероятностью<br />
может получиться любой из 256 возможных ключей. Источником случайных<br />
ключей обычно служит природный случайный генератор. Кроме того, источником<br />
случайного ключа может быть криптографически надежный генератор псевдослучайных<br />
двоичных последовательностей. Лучше, чтобы процесс генерации ключей был<br />
автоматизирован.<br />
Использовать хороший генератор случайных чисел является очень важно, однако<br />
не следует слишком долго спорить о том, какой из генераторов лучше. <strong>В</strong>ажнее применять<br />
стойкие алгоритмы шифрования и надежные процедуры работы с ключами.<br />
<strong>В</strong>о всех алгоритмах шифрования имеются так называемые нестойкие ключи. Это<br />
означает, что некоторые из ключей к шифру менее надежны, чем остальные. Поэтому<br />
при генерации ключей нужно автоматически проверять их на стойкость и генерировать<br />
новые вместо тех, которые эту проверку не прошли. К примеру, в DES-алгоритме<br />
имеются всего 24 нестойких ключа из общего количества 256, и, следовательно, вероятность<br />
найти нестойкий ключ пренебрежимо мала. Кроме того, откуда криптоаналитику<br />
знать, что для зашифрования конкретного сообщения или файла был применен<br />
именно нестойкий ключ? <strong>А</strong> сознательный отказ от использования нестойких ключей<br />
дает противнику дополнительную информацию о вашей криптосистеме, что весьма<br />
нежелательно. С другой стороны, проверить ключи на нестойкость достаточно просто,<br />
чтобы этим пренебрегать.<br />
Генерировать открытые ключи сложнее, чем секретные, поскольку открытые ключи<br />
должны обладать определенными свойствами (например, произведением двух простых<br />
чисел).<br />
Рассмотрим подробнее процесс формирования различных ключей. Чтобы усложнить<br />
шифр, используется не одна-единственная таблица, с помощью которой можно<br />
по некоторому правилу переставить буквы или цифры исходного сообщения, а несколько<br />
таблиц в определенном порядке. Этот порядок и образует ключ шифрования.<br />
Если мы используем только две таблицы, обозначенные как «ключ 0» и «ключ 1», то<br />
типовым ключом может быть, например, 1101101. <strong>В</strong> связи с тем, что таблиц несколько,<br />
теперь мы будем иметь дело с многоалфавитной подстановкой. И таких таблиц<br />
теоретически может быть сколь угодно много. Относительно этого нового источника<br />
сложности в шифре возникает вопрос: можно ли упростить таблицы подстановок, сделав<br />
их меньше? Конечно же, да. Простейшая двоичная подстановка, которую только<br />
можно выполнить, — это замена одной двоичной цифры на другую. <strong>В</strong> этом случае<br />
существует всего две различные таблицы подстановок. Рассмотрим их. При этом каждая<br />
таблица будет соответствовать одному из двух основных типов ключа, как показано<br />
на рис. 4.22.<br />
<strong>М</strong>ы предположим, что таблица, помеченная «Ключ 1», заменяет нули сообщения<br />
на единицы и, наоборот, таблица, помеченная «Ключ 0», оставляет все цифры сообще-