Что такое открытый и закрытый ключи?
В этой статье разбираются ключевые различия между открытым и закрытым ключами (шифрование/дешифрование, публичность/конфиденциальность), подробно объясняется логика их генерации на основе алгоритмов RSA/ECC, рассматриваются практические сценарии применения в SSL-сертификатах и цифровых подписях, а также объясняется, как с помощью инфраструктуры открытых ключей (PKI) обеспечивается безопасность передачи данных.
Обзор открытого ключа
Открытый ключ (Public Key) — это сокращённое название публичного ключа. Он представляет собой большое числовое значение, используемое для шифрования данных, и является одним из ключей в паре криптографии с открытым ключом. Открытый ключ генерируется программным обеспечением либо предоставляется доверенной уполномоченной организацией (например, центром сертификации CA) и становится доступным всем через общедоступное хранилище или каталог. Открытому ключу обычно соответствует закрытый ключ, известный только владельцу открытого ключа. Открытый ключ в основном используется для шифрования данных и проверки цифровых подписей.
Обзор закрытого ключа
Закрытый ключ (Private Key) — это сокращённое название приватного ключа. В криптографии он представляет собой переменную, используемую для шифрования и дешифрования данных, и является вторым ключом в паре открытый/закрытый ключ. Закрытый ключ обычно представляет собой длинную последовательность случайно или псевдослучайно сгенерированных битов и может быть передан только генератору ключа или сторонам, имеющим право на расшифровку данных. Закрытый ключ в основном используется для дешифрования данных и создания цифровых подписей.
Различия между открытым и закрытым ключами
| Открытый ключ | Закрытый ключ | |
|---|---|---|
| Доступность | Публичный доступен любому | Конфиденциальный известен только владельцу |
| Тип ключа | Асимметричный | Асимметричный |
| Генерация | Генерируется вместе с закрытым ключом | Генерируется вместе с открытым ключом |
| Используемый алгоритм | Основан на алгоритмах шифрования RSA, ECC и других | Основан на том же алгоритме, что и открытый ключ |
| Функциональное назначение | Шифрование данных, проверка цифровой подписи | Дешифрование данных, создание цифровой подписи |
| Требования к безопасности | Особых требований нет | Должен быть строго конфиденциальным, исключать утечку |
| Место хранения | Хранится в цифровых сертификатах, исходящих электронных письмах и исполняемых файлах | Хранится на авторизованных устройствах и непубличных серверах |
| Типичные случаи использования | SSL-сертификаты, блокчейн | Безопасные транзакции, проверка подлинности |