Для чего нужна Асимметричная криптография?
Продвинутые темы
Асимметричная криптография нужна для безопасного обмена данными без предварительного обмена секретным ключом: используется пара ключей — публичный (для шифрования/проверки) и приватный (для расшифровки/подписи).
Принцип
Два связанных ключа:
- Публичный ключ — известен всем, шифрует данные или проверяет подпись.
- Приватный ключ — секретный, расшифровывает или создаёт подпись.
Что зашифровано публичным — расшифровывается только приватным, и наоборот для подписи.
Для чего нужна
Шифрование без обмена секретом
Отправитель шифрует публичным ключом получателя; расшифровать может только владелец приватного ключа. Не нужно заранее делиться секретом (проблема симметричного шифрования).
Цифровая подпись
Подписывают приватным ключом, проверяют публичным — гарантия подлинности и целостности:
Подпись = sign(hash, приватный ключ)
Проверка = verify(подпись, hash, публичный ключ) → true/falseОбмен ключами
TLS/HTTPS использует асимметрию для безопасной передачи симметричного ключа сессии.
Где применяется
- HTTPS/TLS — установка защищённого соединения.
- JWT (RS256) — подпись приватным, проверка публичным.
- SSH, PGP, цифровые сертификаты.
Асимметричная против симметричной
- Симметричная — один ключ, быстрая, но нужно безопасно передать ключ.
- Асимметричная — пара ключей, решает обмен ключами, но медленнее.
На практике комбинируют: асимметрия для обмена ключом, симметрия для данных.
Коротко для собеседования
Асимметричная криптография использует пару ключей: публичный (шифрует/проверяет подпись) и приватный (расшифровывает/подписывает). Решает обмен без предварительного секрета и даёт цифровые подписи. Применяется в HTTPS/TLS, JWT (RS256), SSH. Медленнее симметричной, поэтому комбинируют: асимметрия для обмена ключом, симметрия для данных.