Недетерминированные методы
В основе данных методов - использование случайных физических процессов, исходы которых могут служить для дальнейшего изготовления ключей. Простейшим примером получения случайных исходов является подбрасывание игральных костей или монеты. Теоретически они вполне могли бы послужить генераторами ключевой последовательности, хотя на практике их использование неприемлемо ввиду низкой производительности.
В настоящее время широко применяются физические генераторы шума, выходные последовательности которых являются случайно распределенными (например, шумящие диоды, импульсные генераторы, счетчики Гейгера и т.д.). Снятые с этих приборов сигналы оцифровываются и представляются в виде двоичных последовательностей для дальнейшего побитового сложения в потоковых шифраторах или служат исходной последовательностью для формирования ключей.
Недетерминированные генераторы ключевой последовательности предотвращают наблюдение за работой генератора или вмешательство в нее, обеспечивают стабильность выхода генератора и контроль за смещением криптографически важных характеристик. Проверка физических генераторов шума на случайность выходного сигнала осуществляется с помощью различных статистических критериев, причем это должно происходить постоянно с учетом недетерминированного характера источника.
Приведенная выше классификация относится к генерации ключей для симметричных алгоритмов шифрования. Проблема генерации ключей для асимметричных алгоритмов связана с получением больших простых чисел и проверкой их на простоту.
Необходимо добавить, что некоторые типы алгоритмов имеют так называемые слабые ключи, использование которых значительно уменьшает криптографическую стойкость зашифрования на данных ключах. Для алгоритма DES, например, с длиной ключа 56 бит существует 16 слабых ключей. Проверка слабых ключей может производиться как экспериментальным способом, так и посредством анализа используемого алгоритма шифрования.