Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
fips203 — Implementación en Rust puro del borrador del estándar FIPS 203 Module-Lattice-based Key-Encapsulation Mechanism para aplicaciones de servidor, escritorio, navegador y embebidas. | Kitploit
Herramientas/GitHubGitHub/nccgroup/fips203
Seguridad de Sistemas EmbebidosHerramientas de Cifrado/DescifradoCriptografía
GitHubnccgroup/fips203

fips203

Implementación en Rust puro del borrador del estándar FIPS 203 Module-Lattice-based Key-Encapsulation Mechanism para aplicaciones de servidor, escritorio, navegador y embebidas.

Ver Repositorio
1914hace 2 añosAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

NCC Group: Estándar de Mecanismo de Encapsulación de Claves Basado en Retículos Modulares FIPS 203

crate Docs Build Status Apache2/MIT licensed Rust Version

El FIPS 203 (Borrador Público Inicial) Estándar de Mecanismo de Encapsulación de Claves Basado en Retículos Modulares está escrito en Rust puro para aplicaciones de servidor, escritorio, navegador y embebidas. El repositorio fuente incluye ejemplos que demuestran benchmarking, un objetivo embebido, mediciones estadísticas de tiempo constante, fuzzing, ejecución WASM, FFI de C y enlaces de Python.

Esta crate implementa el estándar borrador FIPS 203 en Rust puro con dependencias mínimas y convencionales, y sin ningún código inseguro. Los tres conjuntos de parámetros de seguridad están completamente soportados y probados. La implementación opera en tiempo constante (fuera de rho, que es parte de la clave de encapsulación enviada a través del límite de confianza en claro), no requiere la biblioteca estándar, p. ej. #[no_std], no tiene asignaciones en el montículo, p. ej. no necesita alloc, y opcionalmente expone el RNG, por lo que es adecuado para toda la gama de aplicaciones hasta el metal desnudo. La API está estabilizada y el código está fuertemente orientado hacia la seguridad y la corrección; se implementarán más optimizaciones de rendimiento a medida que el estándar madure. Esta crate seguirá rápidamente cualquier cambio en FIPS 203 a medida que estén disponibles.

Consulte https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.203.ipd.pdf para obtener una descripción completa de la funcionalidad objetivo.

La funcionalidad es extremadamente sencilla de usar, como se demuestra en el siguiente ejemplo.

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 Documentación de Rust se encuentra en cada Módulo correspondiente al parámetro de seguridad deseado a continuación.

Notas

  • Esta crate es totalmente funcional y corresponde al primer borrador público inicial de FIPS 203.
  • La operación en tiempo constante apunta solo al nivel del código fuente en MSRV, con confirmación mediante revisión/inspección manual, el objetivo embebido y las pruebas dinámicas dudect.
  • Tenga en cuenta que FIPS 203 impone requisitos específicos sobre la aleatoriedad según la sección 3.3, de ahí el RNG expuesto.
  • Requiere Rust 1.70 o superior. La versión mínima de Rust soportada (MSRV) puede cambiar en el futuro, pero se hará con un incremento de versión menor (cuando la versión principal sea mayor que 0).
  • Todas las características habilitadas por defecto de esta biblioteca están cubiertas por SemVer.
  • El estándar borrador FIPS 203 y este software son experimentales: ¡ÚSELO BAJO SU PROPIO RIESGO!

Licencia

Los contenidos están licenciados bajo la Licencia Apache Versión 2.0 o la licencia MIT a su elección.

Contribución

A menos que indique explícitamente lo contrario, cualquier contribución enviada intencionalmente para su inclusión en el trabajo por usted, según lo definido en la licencia Apache-2.0, se licenciará de forma dual como se indica arriba, sin términos ni condiciones adicionales.

Descargar herramienta