Ключ (криптография): различия между версиями

[непроверенная версия][непроверенная версия]
Содержимое удалено Содержимое добавлено
Уточнение
Строка 1:
{{Значения|Ключ (значения){{!}}Ключ}}
'''Ключ''' — это секретная [[информация]], используемая криптографическим [[алгоритм]]ом при [[Шифрование|зашифровании]]/расшифровании сообщений, постановке и проверке [[Электронная цифровая подпись|цифровой подписи]], вычислении [[Код аутентичности|кодов аутентичности]] ([[Message Authenticationauthentication Codecode|MAC]]). При использовании одного и того же алгоритма результат шифрования зависит от ключа. Для современных алгоритмов сильной криптографии утрата ключа приводит к практической невозможности расшифровать информацию.
 
<!-- Я пишу фамилию так, как привык. В Обсуждении статьи «Керхгоффс, Огюст» приведены все варианты перевода -->
Строка 8:
Количество информации в ключе, как правило, измеряется в [[бит]]ах.
 
Для современных симметричных алгоритмов ([[Advanced Encryption Standard|AES]], [[CAST5]], [[IDEA]], [[Blowfish]], [[Twofish]]) основной характеристикой криптостойкости является длина ключа. Шифрование с ключами длиной 128 бит и выше считается ''сильным'', так как для расшифровки информации без ключа требуются годы работы мощных суперкомпьютеров. Для асимметричных алгоритмов, основанных на проблемах теории чисел (проблема [[Факторизация|факторизации]]  — [[RSA]], проблема [[Дискретный логарифм|дискретного логарифма]]  — [[Elgamal]]) в силу их особенностей минимальная надёжная длина ключа в настоящее время  — 1024 бит. Для асимметричных алгоритмов, основанных на использовании теории эллиптических кривых ([[ECDSA]], [[ГОСТ Р 34.10-2001]], [[ДСТУ 4145-2002]]), минимальной надёжной длиной ключа считается 163 бит, но рекомендуются длины от 191 бит и выше.
 
== Классификация ключей ==
Криптографические ключи различаются согласно алгоритмам, в которых они используются.
* '''Секретные (Симметричные) ключи'''  — ключи, используемые в симметричных алгоритмах (шифрование, выработка кодов аутентичности). Главное свойство симметричных ключей: для выполнения как прямого, так и обратного криптографического преобразования (шифрование/расшифровывание, вычисление MAC/проверка MAC) необходимо использовать один и тот же ключ (либо же ключ для обратного преобразования легко вычисляется из ключа для прямого преобразования, и наоборот). С одной стороны, это обеспечивает более высокую конфиденциальность сообщений, с другой стороны, создаёт проблемы распространения ключей в системах с большим количеством пользователей.
* '''Асимметричные ключи'''  — ключи, используемые в [[Криптосистема с открытым ключом|асимметричных алгоритмах]] (шифрование, [[Электронная цифровая подпись|ЭЦП]]). Более точно, они являются '''ключевой парой''', поскольку состоят из двух ключей:
** '''[[Закрытый ключ]]''' ([[:en:Private key]])  — ключ, известный только своему владельцу. Только сохранение пользователем в тайне своего закрытого ключа гарантирует невозможность подделки злоумышленником документа и цифровой подписи от имени заверяющего.
** '''Открытый ключ''' ([[:en:Public key]])  — ключ, который может быть опубликован и используется для проверки подлинности подписанного документа, а также для предупреждения мошенничества со стороны заверяющего лица в виде отказа его от подписи документа. Открытый ключ подписи вычисляется, как значение некоторой функции от закрытого ключа, но знание открытого ключа не дает возможности определить закрытый ключ.
Главное свойство ключевой пары: по секретному ключу легко вычисляется открытый ключ, но по известному открытому ключу практически невозможно вычислить секретный.
В алгоритмах ЭЦП подпись обычно ставится на секретном ключе пользователя, а проверяется на открытом. Таким образом, любой может проверить, действительно ли данный пользователь поставил данную подпись. Тем самым асимметричные алгоритмы обеспечивают не только целостность информации, но и её аутентичность. При шифровании же наоборот, сообщения шифруются на открытом ключе, а расшифровываются на секретном. Таким образом, расшифровать сообщение может только адресат и больше никто (включая отправителя).
Использование асимметричных алгоритмов снимает проблему распространения ключей пользователей в системе, но ставит новые проблемы: достоверность полученных ключей. Эти проблемы более-менее успешно решаются в рамках [[инфраструктура открытых ключей|инфраструктуры открытых ключей]] (PKI).
* '''Сеансовые (сессионные) ключи'''  — ключи, вырабатываемые между двумя пользователями, обычно для защиты канала связи. Обычно сеансовым ключом является ''общий секрет''  — информация, которая вырабатывается на основе секретного ключа одной стороны и открытого ключа другой стороны. Существует несколько протоколов выработки сеансовых ключей и общих секретов, среди них, в частности, [[алгоритм Диффи — Хеллмана]].
* '''Подключи'''  — ключевая информация, вырабатываемая в процессе работы криптографического алгоритма на основе ключа. Зачастую подключи вырабатываются на основе специальной [[Процедура развёртывания ключа|процедуры развёртывания ключа]].
 
== См. также ==