Об этом инструменте
RSA — это асимметричный алгоритм: он создаёт математически связанную пару ключей — открытый ключ, который можно свободно распространять, и закрытый ключ, которым никогда нельзя делиться. То, что зашифровано одним ключом, может расшифровать только другой — а то, что подписано закрытым ключом, может проверить открытый. Эта асимметрия лежит в основе TLS-сертификатов, аутентификации SSH, PGP-почты и множества схем подписи в интернете.
Этот генератор создаёт такую пару полностью в вашем браузере с помощью WebCrypto API — того же проверенного криптографического движка, встроенного в каждый современный браузер, а не переработанной на JavaScript реализации RSA. Выберите размер ключа (2048 бит — текущий базовый уровень, 3072 или 4096 бит для долгосрочного использования или повышенной надёжности) и режим использования: подпись (RSASSA-PKCS1-v1_5 с SHA-256, для проверки подлинности) или шифрование (RSA-OAEP с SHA-256, для конфиденциальности). Ключи никогда не покидают ваше устройство — ничего не загружается, а при закрытии вкладки они безвозвратно удаляются, поэтому скопируйте или скачайте их перед уходом со страницы.
Оба ключа экспортируются в стандартном формате PEM: открытый ключ — как блок SPKI, закрытый — как PKCS8, в той же кодировке, что создаёт OpenSSL, готовые для файла `.pem`, конфигурационного файла или любой библиотеки, ожидающей стандартные данные RSA-ключа.
Частые вопросы
Какой размер ключа выбрать?
2048 бит — это текущий широко принятый минимум, подходящий для большинства случаев как минимум на ближайшее десятилетие; выбирайте 3072 или 4096 бит для более долгосрочных нужд или повышенной безопасности, ценой более медленной генерации ключей и чуть более медленных операций.
В чём разница между ключами подписи и шифрования?
Ключ подписи (RSASSA-PKCS1-v1_5) подтверждает подлинность и целостность — вы подписываете данные приватным ключом, а другие проверяют их вашим публичным ключом. Ключ шифрования (RSA-OAEP) делает противоположное — другие шифруют данные вашим публичным ключом, и расшифровать их может только ваш приватный ключ. Они используют разные алгоритмы WebCrypto, и их не следует смешивать.