From 60fc55fc21641c02e69105e482a6485854155802 Mon Sep 17 00:00:00 2001 From: nothingbutlucas <69118979+nothingbutlucas@users.noreply.github.com> Date: Mon, 22 Apr 2024 19:57:53 -0300 Subject: [PATCH] docs: Add crypto to spanish Signed-off-by: nothingbutlucas <69118979+nothingbutlucas@users.noreply.github.com> --- source/crypto_es.md | 25 +++++++++++++++++++++++++ source/start_es.md | 2 +- 2 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 source/crypto_es.md diff --git a/source/crypto_es.md b/source/crypto_es.md new file mode 100644 index 0000000..e6f4b81 --- /dev/null +++ b/source/crypto_es.md @@ -0,0 +1,25 @@ +# Primitivas Criptográficas +Reticulum utiliza un conjunto sencillo de primitivas criptográficas eficientes, potentes y modernas, con implementaciones ampliamente disponibles que pueden utilizarse tanto en CPU de propósito general como en microcontroladores. Las primitivas necesarias son: + +- Ed25519 para firmas +- X22519 para cambios de llaves ECDH +- HKDF para derivación de llaves +- AES-128 en modo CBC +- HMAC-SHA256 para autenticación de mensajes +- SHA-256 +- SHA-512 + +En la configuración de instalación por defecto, las primitivas `X25519`, `Ed25519` y `AES-128-CBC` son proporcionadas por [OpenSSL](https://www.openssl.org/) (a través del paquete [PyCA/cryptography](https://github.com/pyca/cryptography)). Las funciones hash `SHA-256` y `SHA-512` las proporciona el paquete estándar de Python [hashlib](https://docs.python.org/3/library/hashlib.html). Las primitivas `HKDF`, `HMAC`, `Fernet` y la función de relleno `PKCS7` son siempre proporcionadas por las siguientes implementaciones internas: + +- [HKDF.py](https://github.com/markqvist/Reticulum/blob/master/RNS/Cryptography/HKDF.py) +- [HMAC.py](https://github.com/markqvist/Reticulum/blob/master/RNS/Cryptography/HMAC.py) +- [Fernet.py](https://github.com/markqvist/Reticulum/blob/master/RNS/Cryptography/Fernet.py) +- [PKCS7.py](https://github.com/markqvist/Reticulum/blob/master/RNS/Cryptography/PKCS7.py) + +Reticulum también incluye una implementación completa de todas las primitivas necesarias en Python puro. Si OpenSSL y PyCA no están disponibles en el sistema cuando se inicia Reticulum, éste utilizará en su lugar las primitivas internas de Python puro. Una consecuencia trivial de esto es el rendimiento, ya que el backend OpenSSL es *mucho* más rápido. Sin embargo, la consecuencia más importante es la pérdida potencial de seguridad al utilizar primitivas que no han sido sometidas a la misma cantidad de escrutinio, pruebas y revisiones que las de OpenSSL. + +Si desea utilizar las primitivas internas de Python puro, es **altamente recomendable** que usted tenga una buena comprensión de los riesgos que esto plantea, y tomar una decisión informada sobre si esos riesgos son aceptables para usted. + +Reticulum es un software relativamente joven y debe ser considerado como tal. Aunque se ha construido teniendo muy presentes las mejores prácticas criptográficas, _no_ ha sido auditado externamente en materia de seguridad, y es muy posible que haya errores que rompan la privacidad o la seguridad. Si quieres ayudar o patrocinar una auditoría, ponete en contacto con nosotros. + +
diff --git a/source/start_es.md b/source/start_es.md index 8562b97..685c38a 100644 --- a/source/start_es.md +++ b/source/start_es.md @@ -68,7 +68,7 @@ En sistemas más inusuales, y en algunos casos raros, puede que no sea posible i Independientemente de cómo se instale e inicie Reticulum, cargará las dependencias externas sólo si son *necesarias* y están *disponibles*. Si, por ejemplo, desea utilizar Reticulum en un sistema que no admite [pyserial](https://github.com/pyserial/pyserial), es perfectamente posible hacerlo utilizando el paquete `rnspure`, pero Reticulum no podrá utilizar interfaces basadas en serial. Todos los demás módulos disponibles seguirán cargándose cuando sea necesario. -**Atenti!** Si utiliza el paquete `rnspure` para ejecutar Reticulum en sistemas que no soportan [PyCA/cryptography](https://github.com/pyca/cryptography), es importante que lea y comprenda la sección [Cryptographic Primitives](crypto_es.html) de este sitio. +**Atenti!** Si utiliza el paquete `rnspure` para ejecutar Reticulum en sistemas que no soportan [PyCA/cryptography](https://github.com/pyca/cryptography), es importante que lea y comprenda la sección [Primitivas Criptográficas](crypto_es.html) de este sitio. ## Desempeño Reticulum busca cubrir un amplio rango de desempeño utilizable, pero prioriza la funcionalidad y el desempeño sobre medios de baja capacidad de ancho de banda. El objetivo es ofrecer un entorno de desempeño dinámico que va desde 250 bit por segundo hasta 1 gigabit por segundo en hardware normal.