Перейти к содержимому
>_ITDITDПлатформа веб-безопасности

Глоссарий

Что такое криптография с открытым ключом — шифрование и подпись парой ключей

Криптография с открытым ключом использует пару ключей: открытый ключ шифрует и проверяет подписи, закрытый — расшифровывает и подписывает. Разбираем, как это лежит в основе TLS (HTTPS), цифровых подписей и passkey, и практическую защиту: не изобретайте свою криптографию, берегите закрытый ключ.

Опубликовано 2026-07-04 Обновлено 2026-07-04 3 мин чтения

Слова «открытый ключ» и «закрытый ключ» встречаются повсюду — TLS (HTTPS), цифровые подписи, passkey. Здесь нет шагов атаки — только сама идея криптографии с открытым ключом и та практическая защита, которую стоит знать.

Роли открытого и закрытого ключа

Ключи идут в паре и имеют противоположные роли — в этом весь смысл.

public
Можно раздавать. Шифрует / проверяет подписи
private
Хранится только у владельца. Расшифровывает / создаёт подписи
if leaked
Утечка закрытого ключа открывает путь к выдаче себя за другого и расшифровке → немедленно отзовите и перевыпустите
Открытый ключ можно раздавать. То, что запер открытый ключ, откроет только парный закрытый. Подписи работают в обратную сторону.

Для чего это используется

Шифрование (частный обмен)

  • шифруете открытым ключом получателя
  • расшифровать может только держатель парного закрытого ключа
  • в TLS используется, чтобы безопасно передать симметричный ключ

Цифровые подписи (доказательство подлинности)

  • отправитель подписывает своим закрытым ключом
  • получатель проверяет открытым ключом — личность + целостность
  • используется для сертификатов TLS, распространения ПО, аутентификации passkey

Настоящий TLS (HTTPS)гибридный: криптография с открытым ключом безопасно передаёт симметричный ключ, а дальше всё остальное защищает быстрый симметричный шифр. Passkey подписывают закрытым ключом, который хранится на вашем устройстве, и проверяют открытым ключом сервера — аутентификация, устойчивая к фишингу.

Что важно сделать правильно

1

Не изобретайте свою криптографию

Даже верную теорию ломают детали реализации — качество случайности, отступы (padding), различия во времени выполнения. Используйте стандартные протоколы и проверенные библиотеки; избегайте самописных реализаций.

2

Берегите закрытый ключ

Не держите закрытые ключи в коде и репозиториях. Изолируйте их в хранилище ключей / менеджере секретов и выстройте работу так, чтобы при утечке можно было отозвать и перевыпустить (ротация) (→ не держите секреты в публичных каталогах).

3

Держите длину ключа и алгоритмы актуальными

Рекомендации со временем меняются. Не оставляйте старые длины ключей или устаревшие алгоритмы. Автоматически обновляйте сертификаты с помощью Let's Encrypt и подобных сервисов.

Взгляд этого сайта: задача пользователя — управление ключами

Сама по себе криптография с открытым ключом сильна — ломать её редко имеет смысл. Реальные инциденты связаны не с математикой, а с тем, где живёт закрытый ключ, можно ли его отозвать и какие устаревшие настройки остались. Этот сайт изолирует закрытые ключи за пределами публичной поверхности и делает ротацию при малейшем подозрении на утечку, исходя из принципа «считаем, что его прочитали». Не изобретайте своё, опирайтесь на стандарты — это самый безопасный короткий путь.

Читать дальше

FAQ

QЧем криптография с открытым ключом отличается от симметричной (с общим ключом)?
A

Симметричная криптография использует один и тот же ключ для шифрования и расшифровки — это быстро, но нужно безопасно передать этот ключ другой стороне. Криптография с открытым ключом использует пару из открытого и закрытого ключей, и открытый ключ можно раздать кому угодно. На практике TLS (HTTPS) гибридный: криптография с открытым ключом безопасно передаёт симметричный ключ, а затем основной объём данных защищается быстрым симметричным шифром.

QКак цифровая подпись доказывает подлинность?
A

Отправитель создаёт подпись над данными своим закрытым ключом, а получатель проверяет её открытым ключом отправителя. Поскольку закрытый ключ есть только у владельца, успешная проверка означает: «это подписал держатель того открытого ключа, и содержимое не подделано». На этом механизме подписи держатся сертификаты TLS и подлинность распространяемого ПО.

QМожно ли реализовать свою криптографию?
A

Не стоит. Даже верную теорию ломают детали реализации — слабая случайность, отступы (padding), различия во времени выполнения. Правило простое: «не изобретайте своё; используйте проверенные библиотеки и стандартные протоколы». Продумайте, как ключи генерируются, хранятся и отзываются (ротация), и держите длину ключей и алгоритмы на уровне текущих рекомендаций.