Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
RSA — Чистая библиотека на Rust для криптографии с открытым ключом RSA: генерация ключей, шифрование/расшифровка PKCS#1 v1.5 и OAEP, подписи PSS, а также импорт/экспорт ключей. | Kitploit
Инструменты/GitHubGitHub/rustcrypto/rsa
Инструменты шифрования/дешифрованияКриптографияАутентификация
GitHubrustcrypto/rsa

RSA

Чистая библиотека на Rust для криптографии с открытым ключом RSA: генерация ключей, шифрование/расшифровка PKCS#1 v1.5 и OAEP, подписи PSS, а также импорт/экспорт ключей.

Репозиторий
6711872 месяцев назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

RustCrypto: RSA

crates.io Documentation Build Status Dependency Status Apache2/MIT licensed MSRV Project Chat

Переносимая реализация RSA на чистом Rust.

Пример

root@kitploit:~
use rsa::{Pkcs1v15Encrypt, RsaPrivateKey, RsaPublicKey};

let mut rng = rand::rng();
let bits = 2048;
let priv_key = RsaPrivateKey::new(&mut rng, bits).expect("failed to generate a key");
let pub_key = RsaPublicKey::from(&priv_key);

// Encrypt
let data = b"hello world";
let enc_data = pub_key.encrypt(&mut rng, Pkcs1v15Encrypt, &data[..]).expect("failed to encrypt");
assert_ne!(&data[..], &enc_data[..]);

// Decrypt
let dec_data = priv_key.decrypt(Pkcs1v15Encrypt, &enc_data).expect("failed to decrypt");
assert_eq!(&data[..], &dec_data[..]);

Примечание: Если вы столкнулись с необычно медленной генерацией ключей при использовании RsaPrivateKey::new, попробуйте скомпилировать в release-режиме или добавьте следующее в ваш Cargo.toml. Генерация ключей происходит гораздо быстрее при сборке с более высокими уровнями оптимизации, но это немного увеличит время компиляции.

root@kitploit:~
[profile.debug]
opt-level = 3

Статус

В настоящее время на этапе 1 (v) 🚧

Перед выпуском 1.0 🚢 будет три этапа.

  1. 🚧 Сделать работающим
    • Генерация простых чисел ✅
    • Генерация ключей ✅
    • PKCS1v1.5: шифрование и дешифрование ✅
    • PKCS1v1.5: подпись и проверка ✅
    • PKCS1v1.5 (сеансовый ключ): шифрование и дешифрование
    • OAEP: шифрование и дешифрование
    • PSS: подпись и проверка
    • Импорт и экспорт ключей
  2. 🚀 Сделать быстрым
    • Бенчмарки ✅
    • сравнение с другими реализациями 🚧
    • оптимизация 🚧
  3. 🔐 Сделать безопасным
    • Фаззинг-тестирование
    • Аудиты безопасности

⚠️Предупреждение о безопасности

Этот крейт прошёл один аудит безопасности от Include Security, в ходе которого было обнаружено лишь одно незначительное замечание, которое с тех пор было устранено.

Другие известные проблемы см. в открытых проблемах безопасности в нашем трекере задач.

Стоит отметить, что реализация [модульного возведения в степень не выполняется за постоянное время], однако колебания времени маскируются с помощью [случайного ослепления] — широко используемого метода. Этот крейт уязвим к атаке Marvin, которая может позволить сетевому злоумышленнику восстановить закрытый ключ (см. RUSTSEC-2023-0071).

Вы можете следить за нашей работой по устранению этой проблемы в #390.

Минимальная поддерживаемая версия Rust (MSRV)

Этот крейт поддерживает Rust 1.85 и выше.

В будущем MSRV может быть изменена, но это будет сделано с повышением минорной версии.

Лицензия

Лицензируется на условиях одной из следующих лицензий:

  • Apache License, Version 2.0
  • лицензия MIT

по вашему выбору.

Вклад

Если вы явно не заявите об обратном, любой вклад, намеренно представленный вами для включения в работу, как это определено в лицензии Apache-2.0, будет распространяться на условиях двойной лицензии, как указано выше, без каких-либо дополнительных условий.

Скачать инструмент