Размер ключа


В криптографии размер ключа , длина ключа или пространство ключей относятся к количеству битов в ключе , используемом криптографическим алгоритмом (например, шифром ).

Длина ключа определяет верхнюю границу безопасности алгоритма (т. е. логарифмическую меру самой быстрой известной атаки на алгоритм), поскольку безопасность всех алгоритмов может быть нарушена атаками грубой силы . В идеале нижняя граница безопасности алгоритма по замыслу равна длине ключа (то есть безопасность полностью определяется длиной ключа, или, другими словами, конструкция алгоритма не снижает степень безопасности, присущую алгоритму). длина ключа). Действительно, большинство алгоритмов с симметричным ключом рассчитаны на обеспечение безопасности, равной длине их ключа. Однако после проектирования может быть обнаружена новая атака. Например, Triple DES был разработан для использования 168-битного ключа, но атака сложности 2112 теперь известен (т.е. Triple DES теперь имеет только 112 бит безопасности, а из 168 битов в ключе атака сделала 56 «неэффективными» с точки зрения безопасности). Тем не менее, пока безопасность (понимаемая как «количество усилий, которые потребуются для получения доступа») достаточна для конкретного приложения, совпадение длины ключа и безопасности не имеет значения. Это важно для алгоритмов с асимметричным ключом , поскольку неизвестно ни одного такого алгоритма, удовлетворяющего этому свойству; Криптография на эллиптических кривых подходит ближе всего с эффективной безопасностью примерно в половину длины ключа.

Ключи используются для управления работой шифра, так что только правильный ключ может преобразовать зашифрованный текст (зашифрованный текст ) в открытый текст . Многие шифры на самом деле основаны на общеизвестных алгоритмах или имеют открытый исходный код , поэтому только сложность получения ключа определяет безопасность системы при условии отсутствия аналитической атаки (т. е. «структурной слабости» в алгоритмах или протоколах). используется) и предполагая, что ключ недоступен иным образом (например, в результате кражи, вымогательства или компрометации компьютерных систем). Широко распространенное представление о том, что безопасность системы должна зависеть только от ключа, было четко сформулировано Огюстом Керкхоффсом (в 1880-х гг.) иКлод Шеннон (в 1940-е годы); эти утверждения известны как принцип Керкхоффа и максима Шеннона соответственно.

Следовательно, ключ должен быть достаточно большим, чтобы атака грубой силой (возможная против любого алгоритма шифрования) была бы невозможна, т.е. ее выполнение заняло бы слишком много времени. Работа Шеннона по теории информации показала, что для достижения так называемой « совершенной секретности » длина ключа должна быть не меньше длины сообщения и использоваться только один раз (этот алгоритм называется одноразовым блокнотом ). В свете этого, а также практической сложности управления такими длинными ключами, современная криптографическая практика отказалась от понятия совершенной секретности как требования к шифрованию и вместо этого сосредотачивается на вычислительной безопасности , при которой вычислительные требования для взлома зашифрованного текста должны быть соблюдены. невыполнимой для злоумышленника.

Системы шифрования часто группируются в семейства. Общие семейства включают симметричные системы (например, AES ) и асимметричные системы (например , RSA ); в качестве альтернативы они могут быть сгруппированы в соответствии с используемым центральным алгоритмом (например , криптография на основе эллиптических кривых ).

Поскольку каждый из них имеет разный уровень криптографической сложности, обычно для одного и того же уровня безопасности используются разные размеры ключей , в зависимости от используемого алгоритма. Например, безопасность, доступная при использовании 1024-битного ключа с использованием асимметричного RSA , считается примерно равной безопасности 80-битного ключа в симметричном алгоритме. [1]