Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
RSA — Libreria Rust pura per la crittografia a chiave pubblica RSA: generazione di chiavi, cifratura/decifratura PKCS#1 v1.5 e OAEP, firme PSS, più importazione/esportazione di chiavi. | Kitploit
Strumenti/GitHubGitHub/rustcrypto/rsa
Strumenti di Crittografia/DecrittografiaCrittografiaAutenticazione
GitHubrustcrypto/rsa

RSA

Libreria Rust pura per la crittografia a chiave pubblica RSA: generazione di chiavi, cifratura/decifratura PKCS#1 v1.5 e OAEP, firme PSS, più importazione/esportazione di chiavi.

Vedi Repository
6711872 mesi faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

RustCrypto: RSA

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

Un'implementazione RSA portabile in puro Rust.

Esempio

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

Nota: Se riscontri un tempo di generazione delle chiavi insolitamente lento usando RsaPrivateKey::new, puoi provare a compilare in modalità release oppure aggiungere quanto segue al tuo Cargo.toml. La generazione delle chiavi è molto più veloce compilando con livelli di ottimizzazione più alti, ma questo aumenterà leggermente il tempo di compilazione.

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

Stato

Attualmente alla Fase 1 (v) 🚧

Ci saranno tre fasi prima che 1.0 🚢 possa essere rilasciato.

  1. 🚧 Farlo funzionare
    • Generazione dei numeri primi ✅
    • Generazione delle chiavi ✅
    • PKCS1v1.5: Cifratura e decifratura ✅
    • PKCS1v1.5: Firma e verifica ✅
    • PKCS1v1.5 (chiave di sessione): Cifratura e decifratura
    • OAEP: Cifratura e decifratura
    • PSS: Firma e verifica
    • Importazione ed esportazione delle chiavi
  2. 🚀 Renderlo veloce
    • Benchmarks ✅
    • confronto con altre implementazioni 🚧
    • ottimizzazione 🚧
  3. 🔐 Renderlo sicuro
    • Fuzz testing
    • Audit di sicurezza

⚠️ Avviso di sicurezza

Questa crate ha ricevuto un security audit da Include Security, con un solo riscontro minore che è stato successivamente affrontato.

Consulta gli open security issues nel nostro issue tracker per altri problemi noti.

In particolare, l'implementazione dell'[elevamento a potenza modulare non è a tempo costante], ma la variabilità temporale è mascherata tramite random blinding, una tecnica comunemente usata. Questa crate è vulnerabile al Marvin Attack che potrebbe consentire il recupero della chiave privata da parte di un attaccante di rete (vedi RUSTSEC-2023-0071).

Puoi seguire il nostro lavoro sulla mitigazione di questo problema in #390.

Versione minima supportata di Rust (MSRV)

Questa crate supporta Rust 1.85 o versioni successive.

In futuro l'MSRV potrebbe cambiare, ma verrà modificato con un incremento di versione minore.

Licenza

Concesso in licenza secondo una delle seguenti

  • Apache License, Version 2.0
  • MIT license

a tua scelta.

Contributi

Salvo dichiarazione contraria esplicita, qualsiasi contributo intenzionalmente inviato per l'inclusione nel lavoro da parte tua, come definito dalla licenza Apache-2.0, sarà concesso in doppia licenza come sopra, senza ulteriori termini o condizioni.

Scarica lo strumento