RSA с подзаголовком OAEP. Асимметричный: шифрование с помощью общедоступного ключа, расшифровка с помощью закрытого ключа.
Как это работает
Асимметричная криптография использует пару ключей: открытый, которым делятся, и закрытый, который держат в секрете. То, что обработано одним ключом, разрешается другим.
В зависимости от алгоритма можно шифровать и расшифровывать (RSA-OAEP, X25519) или подписывать и проверять (RSA-PSS, ECDSA, Ed25519). Сгенерируйте пару ключей или вставьте свои в формате PEM, выберите режим — всё обрабатывается в браузере.
Для шифрования вы используете открытый ключ получателя, и только его закрытый ключ может расшифровать. Для подписи вы используете свой закрытый ключ, и любой проверяет вашим открытым ключом, подтверждая авторство и целостность сообщения.
Примеры
RSA-OAEP · 2048 bitsШифрование открытым ключом → расшифровка закрытым ключом.Ed25519Подпись закрытым ключом → проверка открытым ключом.Ed25519 использует 32-байтовые ключи и 64-байтовые подписи; он очень быстрый и безопасный, рекомендуется для новых приложений.ECDSA · P-256Подпись на эллиптической кривой, компактнее RSA при эквивалентной безопасности.Сценарии использования
- Отправить сообщение, которое сможет прочитать только получатель, зашифровав его открытым ключом получателя.
- Подписать документ или сообщение, чтобы любой мог убедиться, что оно от вас и не было изменено.
- Проверить подпись файла или сообщения с помощью открытого ключа его автора.
- Генерировать тестовые пары ключей (RSA, ECDSA, Ed25519, X25519) при разработке криптографического процесса.
Часто задаваемые вопросы
Чем оно отличается от симметричного шифрования?
Симметричное использует один общий ключ; асимметричное — пару открытый/закрытый. Асимметричное решает проблему обмена ключами, но медленнее, поэтому его обычно сочетают с симметричным шифрованием.
Что такое ключ в формате PEM?
Это текстовое представление ключа, закодированное в Base64 между заголовками вроде -----BEGIN PUBLIC KEY----- и -----END PUBLIC KEY-----. Это обычный формат для экспорта и импорта ключей.
Когда использовать RSA, а когда эллиптические кривые?
Эллиптические кривые (ECDSA, Ed25519) дают гораздо меньшие ключи и лучшую производительность при эквивалентной безопасности. RSA остаётся актуальным в основном из-за совместимости с существующими системами.
В чём разница между шифрованием и подписью?
Шифрование защищает конфиденциальность: открытый ключ шифрует, закрытый — расшифровывает. Подпись подтверждает подлинность: закрытый ключ подписывает, открытый проверяет, что сообщение подлинное и не изменялось.
Могу ли я шифровать большие файлы с помощью RSA?
Не напрямую: RSA шифрует только небольшие данные. На практике применяют гибридное шифрование: содержимое шифруют симметричным алгоритмом, а с помощью RSA защищают только этот ключ.
Отправляются ли мои ключи на сервер?
Нет. Генерация ключей, шифрование, подпись и проверка происходят полностью в браузере; ключи никогда не покидают ваше устройство.