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
Herramientas/GitHubGitHub/loadingalias/rscrypto
Análisis EstáticoHerramientas de Cifrado/DescifradoAnálisis de HashFuzzingCriptografíaAutenticación
GitHubloadingalias/rscrypto

rscrypto

Cripto en Rust con cero dependencias por defecto: BLAKE3, Ed25519/X25519, hashes, MACs, KDFs, AEADs y sumas de verificación con aceleración completa SIMD/ASM.

Ver Repositorio
36hace 20h 16mRevisado 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
Sitio web

rscrypto

Crates.io Docs.rs CI RSA Gates MSRV 1.91.0 License: MIT OR Apache-2.0

rscrypto proporciona primitivas criptográficas en Rust puro, hashes criptográficos y rápidos, hash de contraseñas y sumas de verificación bajo un único modelo de características.

No tiene dependencia de C/FFI de producción, OpenSSL ni bibliotecas del sistema. Las características hoja admiten compilaciones reducidas; las características generales componen superficies más amplias.

Usa una característica hoja para una primitiva, un grupo para un subconjunto de primitivas, o full para toda la superficie de la crate. El backend portátil de Rust está siempre presente. SIMD y ASM son solo aceleradores.

Instantánea de benchmark publicada: 1.59x geomean en los runners de Linux frente a los competidores externos más rápidos, con 4,052 / 6,750 victorias y 6,101 / 6,750 victorias o empates.

Evidencia local en macOS Apple Silicon: 1.37x geomean frente a los competidores externos más rápidos, con 382 / 774 victorias y 708 / 774 victorias o empates.

Las ejecuciones en bruto, la metodología y las pérdidas conocidas están en benchmark_results/OVERVIEW.md.

Gráfico de benchmark de rscrypto: geomeans máximos coincidentes de 1.59x en Linux y 1.37x en Apple Silicon, sumas de verificación a 5.18x frente a crc-fast, crc, crc32fast, crc32c y crc64fast, además de barras de geomean por primitiva y notas sobre M1 MBP Apple Silicon.

Gráfico: tarjeta de puntuación del benchmark. Los valores por encima de 1.00x significan que rscrypto es más rápido que la implementación externa más rápida equivalente.

¿Por qué rscrypto?

  • Un único modelo de características para hashes, MACs, KDFs, hash de contraseñas, AEADs, firmas, intercambio de claves, ML-KEM, RSA y sumas de verificación.
  • Sin dependencia de OpenSSL ni de C/FFI de producción.
  • Tipos concretos, errores acotados, claves/nonces/etiquetas tipadas y fallos de verificación opacos en todas las primitivas admitidas.
  • Las implementaciones portátiles en Rust son la ruta de referencia; SIMD y ASM son aceleradores probados contra esa ruta.
  • Las compilaciones no_std, WASM, servidor, CLI, embebidas y con restricciones de auditoría usan el mismo modelo de características hoja.
  • La evidencia de validación pública cubre vectores, pruebas diferenciales, reproducción de corpus de fuzzing, Miri, equivalencia de backends y compuertas de tiempo constante acotadas en releases.

rscrypto es una crate de primitivas. No es una pila TLS, un kit de herramientas PKI, un almacén de claves ni una implementación de protocolo. No reivindica validación FIPS 140-3, auditoría de terceros, verificación formal ni comportamiento de tiempo constante para toda la crate.

Instalación

Compilación mínima no_std de SHA-2:

root@kitploit:~
[dependencies]
rscrypto = { version = "0.7.8", default-features = false, features = ["sha2"] }

Pila completa de primitivas con aleatoriedad del sistema operativo habilitada:

root@kitploit:~
[dependencies]
rscrypto = { version = "0.7.8", features = ["full", "getrandom"] }

Usa default-features = false para compilaciones no_std. Habilita getrandom solo cuando necesites APIs que generen sales, claves, nonces o entropía para generación de claves RSA desde el sistema operativo.

Inicio rápido

root@kitploit:~
use rscrypto::Sha256;

let one_shot = Sha256::digest(b"hello world");

let mut h = Sha256::new();
h.update(b"hello ");
h.update(b"world");

assert_eq!(h.finalize(), one_shot);

La forma común de la API es de un solo disparo (one-shot) cuando resulta conveniente y de streaming cuando se necesita.

Flujos de trabajo comunes

Usa docs/types.md cuando necesites el mapa completo de tipos, y docs/features.md cuando necesites el conjunto de características más pequeño.

Qué obtienes

Las banderas se organizan por capas según su uso:

  • Primitivas hoja: sha2, blake3, aes-gcm, ed25519, x25519, ml-kem, crc32, etc.
  • Familias/Grupos: hashes, checksums, macs, kdfs, password-hashing, aead, signatures, key-exchange.

Inventario completo de características: docs/features.md. Inventario público de tipos: docs/types.md.

Límites de tiempo constante

rscrypto hace afirmaciones de tiempo constante solo acotadas y vinculadas a releases para operaciones que manejan secretos, no para cada función de la crate. ct.toml registra el conjunto candidato de primitivas/configuración; no crea una afirmación pública por sí mismo. Una afirmación existe únicamente cuando la release firmada correspondiente de GitHub incluye un paquete atestiguado rscrypto-X.Y.Z-ct-evidence.tar.gz que supera todas las compuertas requeridas para esa versión, commit, objetivo, perfil y conjunto de características exactos.

Los propietarios de tamaño fijo que contienen secretos no implementan PartialEq ni Eq. Sus métodos ct_eq devuelven un CtDecision opaco; los llamadores deben consumirlo explícitamente con declassify() para obtener un bit ramificable. Las APIs de verificación mantienen ese límite interno y devuelven un único Result opaco. Esto es resistencia al mal uso en el límite de la API de Rust, no una prueba sobre el código máquina resultante.

Las principales superficies candidatas que contienen secretos en ct.toml son verificación de MAC/etiquetas, forma de fallo de autenticación AEAD, multiplicación escalar X25519, firma Ed25519 y derivación de clave pública secreta, firma a ciegas ECDSA P-256/P-384, superficies secretas de generación de claves, encapsulación y desencapsulación ML-KEM-512/768/1024, hojas de firma/descifrado privadas RSA y comparaciones seleccionadas de verificación de contraseñas.

El análisis sintáctico público, la generación de claves no listada, la aleatoriedad del SO, los hashes en bruto, las sumas de verificación, los hashes no criptográficos, las rutas de benchmark y las matemáticas de verificación de clave pública no son afirmaciones generales de tiempo constante. Consulta docs/constant-time.md para conocer el modelo exacto de afirmación y verificación, y docs/compliance.md para los límites de revisión. Las releases hasta v0.6.4 no contienen este paquete y, por lo tanto, no conllevan ninguna afirmación de tiempo constante vinculada a release.

Portabilidad y aceleración

rscrypto mantiene la ruta portátil de Rust como autoridad byte a byte. Los núcleos ISA se seleccionan solo cuando el objetivo y la CPU en tiempo de ejecución los admiten.

Matriz completa de plataformas: docs/platforms.md.

Seguridad

rscrypto hace afirmaciones de tiempo constante acotadas solo cuando una release correspondiente publica el paquete de evidencia requerido, nunca para cada API o compilación. Los propietarios de tamaño fijo de secretos mencionados en docs/secret-ownership.md sobrescriben sus bytes al liberarlos y enmascaran Debug; la afirmación no se extiende a las copias del llamador. Los fallos de verificación usan errores opacos, y las aperturas AEAD fallidas limpian los búferes de salida del llamador. Los artefactos de release están controlados por etiquetas firmadas, se publican mediante Trusted Publishing de crates.io y están cubiertos por atestaciones de procedencia de compilación de GitHub.

No se reivindica ninguna auditoría de terceros, certificado FIPS 140-3 ni prueba formal de toda la crate. Reporta vulnerabilidades a través de GitHub Private Vulnerability Reporting o de SECURITY.md, no mediante issues públicos.

Documentación

  • Inicio: docs.rs, examples/, docs/features.md, docs/types.md
  • Seguridad y revisión: SECURITY.md, THREAT_MODEL.md, docs/constant-time.md, docs/compliance.md
  • Evidencia: docs/test-vector-coverage.md, docs/platforms.md,

MSRV

Rust 1.91.0.

El nightly fijado en rust-toolchain.toml se usa para comprobaciones con Miri, fuzzing y arquitecturas exóticas.

Licencia

Doble licencia bajo Apache-2.0 o MIT, a tu elección.

Descargar herramienta
TareaCaracterísticaComenzar aquí
Sellado/apertura AEADchacha20poly1305,getrandomexamples/aead_seal_open.rs
Firmas Ed25519 y ECDSAed25519,ecdsa-p256,getrandomexamples/signatures.rs
Verificación RSA-PSSrsaexamples/rsa_pss_verify.rs
Secreto compartido ML-KEMml-kem,getrandomexamples/mlkem_encapsulation.rs
Hash de contraseñas Argon2id y scryptpassword-hashing,getrandomexamples/password_hashing.rs
NecesidadIncluidoRuta de características
Hashes criptográficosSHA-2, SHA-3, SHAKE, cSHAKE128/256, BLAKE2, BLAKE3, Ascon-Hash/XOF/CXOFhashes o características hoja
MACs y KDFsHMAC-SHA-2/SHA-3, KMAC128/256, Poly1305 independiente, HKDF-SHA-2, PBKDF2-HMAC-SHA-2auth o características hoja
Hash de contraseñasKDFs Argon2d/i/id y scrypt en bruto; registros de contraseña PHC generados y acotadosauth, argon2, scrypt, phc-strings
Primitivas de clave públicaFirma/verificación ECDSA P-256/P-384, firmas Ed25519, firma/verificación RSA/OAEP/RSAES-PKCS1-v1_5/generación de claves, intercambio de claves X25519, KEMs ML-KEM-512/768/1024auth, signatures, key-exchange, ecdsa, ecdsa-p256, ecdsa-p384, ed25519, rsa, x25519, ml-kem
Cifrado AEADAES-128/256-GCM, AES-128/256-GCM-SIV, ChaCha20-Poly1305, XChaCha20-Poly1305, AEGIS-256, Ascon-AEAD128aead o características hoja
Sumas de verificaciónCRC-16, CRC-24, CRC-32, CRC-32C, CRC-64/XZ, CRC-64/NVMechecksums o características hoja
Hashes rápidosXXH3-64/128, RapidHash V3-64xxh3, rapidhash
  • Controles de despliegue: std, alloc, getrandom, parallel, serde, portable-only; serde-secrets incluye explícitamente el material secreto en serde.
  • Familia de objetivosEjemplos de aceleración
    x86 / x86_64SSE4.2, AVX2, AVX-512, AES-NI, SHA-NI, VAES, VPCLMULQDQ
    Arm / AArch64 / Apple SiliconNEON, AES, PMULL, SHA2, SHA3, SVE2-PMULL
    IBM ZCPACF, MSA, VGFM, aritmética ML-KEM z/Vector
    POWER / ppc64leExtensiones vectoriales y criptográficas POWER8/9/10
    RISC-VRVV, Zbc, Zvkned, Zvbc
    WASMSIMD128 donde esté disponible, respaldo portátil en todas partes
    benchmark_results/OVERVIEW.md
  • Cambio de crates: docs/migration/
  • Contribuciones: CONTRIBUTING.md
  • Lanzamientos: CHANGELOG.md, docs/release.md