Sobre el proyecto
tc_rust es un espacio de trabajo de criptografía en Rust puro, portado desde la biblioteca Bouncy Castle C#. Sirve como un proyecto personal de aprendizaje para estudiar Rust, algoritmos criptográficos y diseño de API. El proyecto está explícitamente marcado como una reimplementación independiente y no oficial que no está afiliada ni respaldada por Legion of the Bouncy Castle Inc. Debido a su estado como trabajo en progreso con API inestables y sin auditoría de seguridad, no es adecuado para aplicaciones de seguridad en producción o en el mundo real.
La biblioteca proporciona un conjunto integral de primitivas criptográficas organizadas en crates modulares. La compatibilidad con cifrados de bloque incluye 28 motores públicos como AES, ARIA, Camellia, DES y SM4, con pruebas de respuesta conocida. Los motores de cifrado de flujo cubren RC4, ChaCha, Salsa20 y HC-128/256. El proyecto también implementa ocho familias de modos de cifrado de bloque, incluidos ECB, CBC, CTR y GCTR, aunque no se proporciona relleno ni autenticación. La compatibilidad con digest es extensa y cuenta con 45 tipos exportados, incluidos SHA-2/3, BLAKE2/3, MD5 y variantes de RIPEMD.
Los fundamentos matemáticos incluyen números enteros de precisión arbitraria, aritmética de campo binario y operaciones de curva elíptica para curvas SEC y SM2. Admite intercambio de claves X25519/X448 y firmas Ed25519/Ed448 con modos de verificación estrictos. Las implementaciones de envolturas de claves siguen los estándares RFC 3394, RFC 5649 y DSTU 7624. La arquitectura enfatiza la compatibilidad `no_std`, con crates que van desde solo núcleo hasta aquellos que requieren `alloc` o `std` para optimizaciones de rendimiento como aceleración AES-NI y AVX2. El gráfico de dependencias está diseñado para ser acíclico, lo que permite a los usuarios seleccionar solo las capas necesarias. El proyecto tiene licencia bajo MIT o Apache-2.0.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.