rscrypto: pila criptográfica en Rust puro con aceleración SIMD y ASM

Fuentes: rscrypto: a single Rust crypto primitives stack with SIMD and ASM acceleration
Imagen generada por IA con el prompt: Abstract visualization of glowing cryptographic lock mechanisms and hexagonal hash patterns floating in a dark digital void, with neon blue and green circuit lines, minimalist editorial style, no text
Imagen generada con IA

rscrypto es una biblioteca criptográfica escrita en Rust puro que agrupa primitivas como RSA, Ed25519, X25519, cifrados AEAD, funciones hash, KDF, hash de contraseñas y CRCs en un único crate, sin requerir de forma predeterminada dependencias en C, OpenSSL u otras bibliotecas de sistema. Su objetivo es ofrecer un único conjunto coherente de primitivas para proyectos que priorizan el tamaño binario, el control de despliegue y la velocidad de ejecución.

El proyecto se organiza en torno a un sistema de features flags estratificado: el usuario puede activar primitivas individuales (sha2, blake3, aes-gcm, ed25519, x25519, crc32, etc.), familias completas (hashes, checksums, macs, kdfs, password-hashing, aead, signatures, key-exchange) o el conjunto total con la feature "full". El backend portable en Rust es siempre la implementación de referencia; las rutas SIMD y ensamblador actúan como aceleradores. La biblioteca soporta arquitecturas x86/x86_64, Arm/AArch64, Apple Silicon, IBM Z, IBM POWER, RISC-V y WASM, todas con fallback portable cuando no hay kernels optimizados disponibles. El target no_std es de primera clase, lo que permite usar el mismo crate en servidores, CLI, sistemas embebidos, bare-metal y WebAssembly.

La versión 0.3.1 incorpora RSA como primitiva de primer nivel, con importación y exportación DER estrictas, RSA-PSS, RSASSA-PKCS1-v1_5, OAEP, RSAES-PKCS1-v1_5, generación de claves, mapeo de perfiles X.509/JWT/COSE/TLS, operaciones privadas con cegado y APIs de scratch reutilizables. La disciplina de seguridad del proyecto incluye errores opacos de verificación, comparación en tiempo constante, tipos secretos con zeroize, aritmética estricta, vectores oficiales, fuzzing, Miri e integración continua en múltiples CPUs.

Los benchmarks publicados provienen de dos pasadas: en Linux CI del 27 de mayo de 2026, rscrypto alcanza una geomean 1,61x más rápida que la línea base Rust más rápida por caso, con 3.545 victorias de 5.832 pares y 5.210 empates o victorias. En Apple Silicon (MBP M1, 1 de junio de 2026), la geomean es 1,25x con 235 victorias de 463 pares y 450 empates o victorias; las dos tarjetas se recopilaron en commits y alcances diferentes y no deben combinarse.

Casos de uso típicos incluyen verificación de firmas en pipelines de publicación, derivación de claves, hash de contraseñas con Argon2id o scrypt, y cifrado autenticado con ChaCha20-Poly1305 o AES-GCM. Como consideraciones, rscrypto es un crate de primitivas: no es una pila TLS, ni un toolkit PKI, ni una implementación de protocolo, ni un módulo validado FIPS 140-3. Las features getrandom, serde y rayon son opt-in, y portable-only fuerza el dispatch al backend portable en tiempo constante.