Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
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.

FeedsContactoPrivacidad© 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ónTop en Criptografía #19Top en Herramientas de Cifrado/Descifrado #20
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
67219488hace 4 díasRevisado 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 portátil de RSA en Rust puro, con esquemas de cifrado y firma especificados en PKCS#1 v2.2 (RFC8017).

EsquemaPropósitoEspecificación
RSAES-OAEPCifradoRFC8017 §7.1
RSAES-PKCS1-v1_5CifradoRFC8017 §7.2
RSASSA-PSSFirmasRFC8017 §8.1
RSASSA-PKCS1-v1_5FirmasRFC8017 §8.2

El cifrado PKCS#1 v1.5 se proporciona únicamente por compatibilidad con aplicaciones heredadas. Se recomienda preferir OAEP y PSS para nuevas aplicaciones de cifrado.

Consulte la advertencia de seguridad a continuación para conocer las vulnerabilidades de implementación conocidas.

Ejemplo

use rsa::{Oaep, RsaPrivateKey, RsaPublicKey};
use sha2::Sha256;

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, Oaep::<Sha256>::new(), &data[..]).expect("failed to encrypt");
assert_ne!(&data[..], &enc_data[..]);

// Decrypt
let dec_data = priv_key.decrypt_blinded(&mut rng, Oaep::<Sha256>::new(), &enc_data).expect("failed to decrypt");
assert_eq!(&data[..], &dec_data[..]);

Nota: Si experimenta tiempos de generación de claves inusualmente lentos al usar RsaPrivateKey::new, puede intentar compilar en modo release o añadir lo siguiente a su Cargo.toml. La generación de claves es mucho más rápida al compilar con niveles de optimización más altos, pero esto aumentará un poco el tiempo de compilación.

[profile.debug]
opt-level = 3

Estado

Actualmente en la Fase 1 (v) 🚧

Habrá tres fases antes de que se pueda publicar la versión 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 ya ha sido subsanado.

Consulte los [problemas de seguridad abiertos] en nuestro rastreador de problemas para conocer otros problemas conocidos.

En particular, la implementación de [la exponenciación modular no es de tiempo constante], pero la variabilidad temporal se enmascara mediante [blinding aleatorio], una técnica de uso común. Este crate es vulnerable al [Ataque Marvin], que podría permitir la recuperación de la clave privada por parte de un atacante de red (véase RUSTSEC-2023-0071).

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

Versión mínima de Rust compatible (MSRV)

Este crate es compatible con Rust 1.85 o superior.

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

Licencia

Con licencia bajo cualquiera de las siguientes

  • Apache License, Version 2.0
  • MIT license

a su elección.

Contribución

A menos que usted indique explícitamente lo contrario, cualquier contribución enviada intencionalmente para su inclusión en el trabajo por usted, tal como se define en la licencia Apache-2.0, tendrá doble licencia como se indica arriba, sin términos o condiciones adicionales.

Descargar herramienta