Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
RSA — Bibliothèque Rust pure pour la cryptographie à clé publique RSA : génération de clés, chiffrement/déchiffrement PKCS#1 v1.5 et OAEP, signatures PSS, ainsi que l'import/export de clés. | Kitploit
Outils/GitHubGitHub/rustcrypto/rsa
Outils de Chiffrement/DéchiffrementCryptographieAuthentification
GitHubrustcrypto/rsa

RSA

Bibliothèque Rust pure pour la cryptographie à clé publique RSA : génération de clés, chiffrement/déchiffrement PKCS#1 v1.5 et OAEP, signatures PSS, ainsi que l'import/export de clés.

Voir le dépôt
671187il y a 2 moisVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

RustCrypto: RSA

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

Une implémentation portable de RSA en Rust pur.

Exemple

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[..]);

Remarque : Si vous rencontrez un temps de génération de clés inhabituellement lent lors de l'utilisation de RsaPrivateKey::new, vous pouvez essayer de compiler en mode release ou d'ajouter ce qui suit à votre Cargo.toml. La génération de clés est beaucoup plus rapide lorsque la compilation est effectuée avec des niveaux d'optimisation plus élevés, mais cela augmentera un peu le temps de compilation.

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

Statut

Actuellement à la phase 1 (v) 🚧

Il y aura trois phases avant que 1.0 🚢 puisse être publiée.

  1. 🚧 Le faire fonctionner
    • Génération de nombres premiers ✅
    • Génération de clés ✅
    • PKCS1v1.5 : chiffrement et déchiffrement ✅
    • PKCS1v1.5 : signature et vérification ✅
    • PKCS1v1.5 (clé de session) : chiffrement et déchiffrement
    • OAEP : chiffrement et déchiffrement
    • PSS : signature et vérification
    • Import et export de clés
  2. 🚀 Le rendre rapide
    • Benchmarks ✅
    • comparer aux autres implémentations 🚧
    • optimiser 🚧
  3. 🔐 Le rendre sécurisé
    • Tests de fuzz
    • Audits de sécurité

⚠️Avertissement de sécurité

Cette crate a fait l'objet d'un audit de sécurité par Include Security, avec une seule constatation mineure qui a depuis été corrigée.

Consultez les [problèmes de sécurité ouverts] sur notre suivi de problèmes pour d'autres problèmes connus.

Notamment, l'implémentation de l'[exponentiation modulaire n'est pas à temps constant], mais la variabilité temporelle est masquée à l'aide d'[aveuglement aléatoire], une technique couramment utilisée. Cette crate est vulnérable à l'[attaque Marvin] qui pourrait permettre la récupération de la clé privée par un attaquant réseau (voir RUSTSEC-2023-0071).

Vous pouvez suivre notre travail sur l'atténuation de ce problème dans #390.

Version minimale de Rust prise en charge (MSRV)

Cette crate prend en charge Rust 1.85 ou supérieur.

À l'avenir, la MSRV peut être modifiée, mais cela se fera avec un changement de version mineure.

Licence

Sous l'une ou l'autre des licences suivantes :

  • Apache License, Version 2.0
  • MIT license

à votre convenance.

Contribution

Sauf indication contraire explicite de votre part, toute contribution intentionnellement soumise pour inclusion dans l'œuvre par vous, telle que définie par la licence Apache-2.0, sera sous double licence comme ci-dessus, sans conditions ni termes supplémentaires.

Télécharger l’outil