27.05.2014 Views

А,В,Соколов, 0,М, Степанюк - Скачать документы

А,В,Соколов, 0,М, Степанюк - Скачать документы

А,В,Соколов, 0,М, Степанюк - Скачать документы

SHOW MORE
SHOW LESS

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», оставляет все цифры сообще-

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!