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
RSA — Biblioteca escrita íntegramente en Rust para criptografía de clave pública RSA: generación de claves, cifrado/descifrado PKCS#1 v1.5 y OAEP, firmas PSS, además de importación/exportación de claves. | Kitploit
Herramientas/GitHubGitHub/rustcrypto/rsa
Herramientas de Cifrado/DescifradoCriptografíaAutenticación
GitHubrustcrypto/rsa

RSA

Biblioteca escrita íntegramente en Rust para criptografía de clave pública RSA: generación de claves, cifrado/descifrado PKCS#1 v1.5 y OAEP, firmas PSS, además de importación/exportación de claves.

Ver Repositorio
671187hace 2 mesesRevisado por Kitploit

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

RustCrypto: RSA

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

Una implementación portable de RSA en Rust puro.

Ejemplo

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: Si experimentas un tiempo de generación de claves inusualmente lento al usar RsaPrivateKey::new, puedes intentar compilar en modo release o añadir lo siguiente a tu Cargo.toml. La generación de claves es mucho más rápida cuando se compila con niveles de optimización más altos, pero esto aumentará un poco el tiempo de compilación.

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

Estado

Actualmente en la Fase 1 (v) 🚧

Habrá tres fases antes de que se pueda publicar 1.0 🚢.

  1. 🚧 Hacer que funcione
    • Generación de primos ✅
    • Generación de claves ✅
    • PKCS1v1.5: Cifrado y descifrado ✅
    • PKCS1v1.5: Firma y verificación ✅
    • PKCS1v1.5 (clave de sesión): Cifrado y descifrado
    • OAEP: Cifrado y descifrado
    • PSS: Firma y verificación
    • Importación y exportación de claves
  2. 🚀 Hacer que sea rápido
    • Benchmarks ✅
    • comparar con otras implementaciones 🚧
    • optimizar 🚧
  3. 🔐 Hacer que sea seguro
    • Pruebas de fuzzing
    • Auditorías de seguridad

⚠️Advertencia de seguridad

Este crate ha recibido una auditoría de seguridad por parte de Include Security, con solo un hallazgo menor que desde entonces se ha abordado.

Consulta los problemas de seguridad abiertos en nuestro rastreador de incidencias para ver otros problemas conocidos.

Cabe destacar que la implementación de la exponenciación modular no es de tiempo constante, pero la variabilidad temporal se enmascara mediante ofuscación aleatoria (blinding), una técnica muy utilizada. Este crate es vulnerable al Marvin Attack, lo que podría permitir la recuperación de la clave privada por parte de un atacante de red (consulte RUSTSEC-2023-0071).

Puedes seguir nuestro trabajo para mitigar este problema en #390.

Versión Mínima Soportada de Rust (MSRV)

Este crate es compatible con Rust 1.85 o superior.

En el futuro, la MSRV puede cambiar, pero se hará con un incremento de versión menor.

Licencia

Licenciado bajo cualquiera de las siguientes opciones:

  • Apache License, Version 2.0
  • Licencia MIT

a tu elección.

Contribución

A menos que indiques explícitamente lo contrario, cualquier contribución que envíes intencionalmente para su inclusión en el trabajo, 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