4. Криптографические методы защиты информации
Человек слаб: его можно напоить, усыпить или просто оглушить тяжелым предметом, чтобы выкрасть криптографические ключи. Его можно также соблазнить. Морские пехотинцы, охранявшие американское посольство в Москве, по просьбе своих русских любовниц пропускали в шифровальный отсек посольства сотрудников КГБ — на "экскурсию".
Это значит, что криптографические ключи нуждаются в такой же защите, как и сами данные, которые шифруются с их помощью. К сожалению, во многих коммерческих средствах шифрования часто считается достаточным провозгласить об использовании DES-алгоритма или другого достаточно стойкого шифра, а о генерации и хранении ключей к ним не говорить ни слова. Например, программа DiskLock (версия 2.1) для персонального компьютера Macintosh позволяет шифровать файлы по DES-алгоритму. Однако ключ, использованный этой программой для зашифрования, она сохраняет на носителе информации вместе с файлом. Зная, где лежит ключ, его можно оттуда извлечь и затем без особых хлопот прочесть с помощью этого ключа содержимое зашифрованного файла. В данном случае совершенно неважно, что сам алгоритм шифрования достаточно надежен. Имеет значение только то, что его реализация абсолютно никуда не годится.
Генерация случайных и псевдослучайных последовательностей
Зачем вообще нужно рассматривать вопрос о генераторах случайных и псевдослучайных последовательностей в криптографии? Ведь в руководстве по каждому компилятору описана функция, позволяющая генерировать случайные числа. Наверное, лучше не городить огород, а воспользоваться тем, что уже имеется?
Нет, не лучше. К сожалению, датчики "случайных" чисел, встроенные в компиляторы, не подходят для криптографических приложений, поскольку генерируемые ими числа недостаточно случайны. Надеяться породить нечто совершенно случайное на компьютере, который по своей природе является строго детерминированным устройством, по меньшей мере, безосновательно.
Псевдослучайные последовательности
Самое лучшее, на что способен компьютер, — это сгенерировать псевдослучайную последовательность, которая хотя и выглядит случайной, но, на самом деле, таковой не является.