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
fips203 — Implementazione in Rust puro dello standard (bozza) FIPS 203 per il meccanismo di incapsulamento delle chiavi basato su reticoli modulari, per applicazioni server, desktop, browser ed embedded. | Kitploit
Strumenti/GitHubGitHub/nccgroup/fips203
Sicurezza Sistemi EmbeddedStrumenti di Crittografia/DecrittografiaCrittografia
GitHubnccgroup/fips203

fips203

Implementazione in Rust puro dello standard (bozza) FIPS 203 per il meccanismo di incapsulamento delle chiavi basato su reticoli modulari, per applicazioni server, desktop, browser ed embedded.

Vedi Repository
1912 anni faNon ancora revisionato

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

NCC Group: Standard FIPS 203 per meccanismo di incapsulamento della chiave basato su reticoli modulari

crate Docs Build Status Apache2/MIT licensed Rust Version

Il FIPS 203 (bozza pubblica iniziale) Standard per meccanismo di incapsulamento della chiave basato su reticoli modulari è scritto in Rust puro per applicazioni server, desktop, browser ed embedded. Il repository sorgente include esempi che dimostrano benchmark, un target embedded, misurazioni statistiche a tempo costante, fuzzing, esecuzione WASM, FFI C e binding Python.

Questa crate implementa lo standard FIPS 203 in bozza in Rust puro con dipendenze minime e comuni, e senza alcun codice unsafe. Tutti e tre i set di parametri di sicurezza sono completamente supportati e testati. L'implementazione opera a tempo costante (a eccezione di rho, che fa parte della chiave di incapsulamento inviata in chiaro attraverso il confine di fiducia), non richiede la libreria standard, ad es. #[no_std], non ha allocazioni sull'heap, ad es. non è necessario alloc, ed espone opzionalmente l'RNG, così da essere adatta all'intera gamma di applicazioni, fino al bare-metal. L'API è stabilizzata e il codice è fortemente orientato alla sicurezza e alla correttezza; ulteriori ottimizzazioni delle prestazioni saranno implementate man mano che lo standard matura. Questa crate seguirà rapidamente qualsiasi modifica a FIPS 203 non appena disponibile.

Vedi https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.203.ipd.pdf per una descrizione completa della funzionalità prevista.

La funzionalità è estremamente semplice da usare, come dimostra l'esempio seguente.

root@kitploit:~
// Use the desired target parameter set.
use fips203::ml_kem_512; // Could also be ml_kem_768 or ml_kem_1024. 
use fips203::traits::{Decaps, Encaps, KeyGen, SerDes};

// Alice runs `try_keygen()` and then serializes the encaps key `ek` for Bob (to bytes).
let (alice_ek, alice_dk) = ml_kem_512::KG::try_keygen().unwrap();
let alice_ek_bytes = alice_ek.into_bytes();

// Alice sends the encaps key `ek_bytes` to Bob.
let bob_ek_bytes = alice_ek_bytes;

// Bob deserializes the encaps `ek_bytes` and then runs `encaps() to get the shared 
// secret `ssk` and ciphertext `ct`. He serializes the ciphertext `ct` for Alice (to bytes).
let bob_ek = ml_kem_512::EncapsKey::try_from_bytes(bob_ek_bytes).unwrap();
let (bob_ssk_bytes, bob_ct) = bob_ek.try_encaps().unwrap();
let bob_ct_bytes = bob_ct.into_bytes();

// Bob sends the ciphertext `ct_bytes` to Alice
let alice_ct_bytes = bob_ct_bytes;

// Alice deserializes the ciphertext `ct` and runs `decaps()` with her decaps key
let alice_ct = ml_kem_512::CipherText::try_from_bytes(alice_ct_bytes).unwrap();
let alice_ssk_bytes = alice_dk.try_decaps(&alice_ct).unwrap();

// Alice and Bob will now have the same secret key
assert_eq!(bob_ssk_bytes, alice_ssk_bytes);

La Documentazione Rust si trova in ogni Modulo corrispondente al parametro di sicurezza desiderato, di seguito.

Note

  • Questa crate è completamente funzionante e corrisponde alla prima bozza pubblica iniziale di FIPS 203.
  • L'operazione a tempo costante è garantita a livello di codice sorgente soltanto su MSRV, con conferma tramite revisione/ispezione manuale, il target embedded e i test dinamici dudect.
  • Nota: FIPS 203 impone requisiti specifici sulla casualità secondo la sezione 3.3, da cui l'RNG esposto.
  • Richiede Rust 1.70 o superiore. La versione minima supportata di Rust (MSRV) potrebbe cambiare in futuro, ma ciò avverrà con un incremento della versione minore (quando la versione major è maggiore di 0).
  • Tutte le funzionalità attive per impostazione predefinita di questa libreria sono coperte da SemVer.
  • Lo standard in bozza FIPS 203 e questo software sono sperimentali -- USALO A TUO RISCHIO!

Licenza

I contenuti sono concessi in licenza, a tua scelta, secondo la Apache License Version 2.0 o la MIT license.

Contributi

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

Scarica lo strumento