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
fips203 — Implémentation pure en Rust du projet de norme FIPS 203 Module-Lattice-based Key-Encapsulation Mechanism pour applications serveur, desktop, navigateur et embarquées. | Kitploit
Outils/GitHubGitHub/nccgroup/fips203
Sécurité des Systèmes EmbarquésOutils de Chiffrement/DéchiffrementCryptographie
GitHubnccgroup/fips203

fips203

Implémentation pure en Rust du projet de norme FIPS 203 Module-Lattice-based Key-Encapsulation Mechanism pour applications serveur, desktop, navigateur et embarquées.

Voir le dépôt
191il y a 2 ansPas encore vérifié

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

NCC Group : Norme FIPS 203 de mécanisme d'encapsulation de clé à base de treillis modulaires

crate Docs Build Status Apache2/MIT licensed Rust Version

FIPS 203 (projet initial public) — Norme de mécanisme d'encapsulation de clé à base de treillis modulaires, écrite en Rust pur pour les applications serveur, de bureau, navigateur et embarquées. Le dépôt source comprend des exemples illustrant le benchmarking, une cible embarquée, des mesures statistiques à temps constant, le fuzzing, l'exécution WASM, la FFI C et des liaisons Python.

Ce crate implémente la norme projet FIPS 203 en Rust pur avec des dépendances minimales et courantes, et sans aucun code unsafe. Les trois ensembles de paramètres de sécurité sont entièrement pris en charge et testés. L'implémentation fonctionne à temps constant (en dehors de rho, qui fait partie de la clé d'encapsulation envoyée en clair à travers la frontière de confiance), ne nécessite pas la bibliothèque standard, par ex. #[no_std], ne fait aucune allocation sur le tas, par ex. pas besoin d'alloc, et expose optionnellement le RNG afin de convenir à toute la gamme d'applications jusqu'au bare-metal. L'API est stabilisée et le code est fortement orienté vers la sécurité et l'exactitude ; d'autres optimisations de performances seront mises en œuvre à mesure que la norme mûrira. Ce crate suivra rapidement toute modification de FIPS 203 dès qu'elle sera disponible.

Voir https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.203.ipd.pdf pour une description complète de la fonctionnalité visée.

La fonctionnalité est extrêmement simple à utiliser, comme le montre l'exemple suivant.

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 documentation Rust se trouve sous chaque module correspondant au paramètre de sécurité souhaité ci-dessous.

Notes

  • Ce crate est entièrement fonctionnel et correspond au premier projet initial public de FIPS 203.
  • Le fonctionnement à temps constant ne vise que le niveau du code source sur MSRV, avec confirmation par revue/inspection manuelle, la cible embarquée et les tests dynamiques dudect.
  • Notez que FIPS 203 impose des exigences spécifiques sur l'aléa conformément à la section 3.3, d'où le RNG exposé.
  • Nécessite Rust 1.70 ou supérieur. La version minimale de Rust prise en charge (MSRV) pourra être modifiée à l'avenir, mais cela se fera par une augmentation de version mineure (lorsque la version majeure est supérieure à 0).
  • Toutes les fonctionnalités activées par défaut de cette bibliothèque sont couvertes par SemVer.
  • Le projet de norme FIPS 203 et ce logiciel sont expérimentaux -- UTILISATION À VOS PROPRES RISQUES !

Licence

Le contenu est distribué sous licence Apache License Version 2.0 ou licence MIT, à votre choix.

Contribution

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

Télécharger l’outil