<p>Reticulum utiliza uma suíte simples de primitivos criptográficos modernos, fortes e eficientes, com diversas implementações disponíveis que pode ser utilizados tanto em CPUs convencionais como microcontroladores. Os primitivos necessários são:</p>
<ul>
<li>Ed25519 para assinaturas</li>
<li>X22519 para trocas de chave ECDH</li>
<li>HKDF para derivação de chaves</li>
<li>AES-128 em modo CBC</li>
<li>HMAC-SHA256 para autenticação de mensagem</li>
<li>SHA-256</li>
<li>SHA-512</li>
</ul>
<p>Na configuração de instalação padrão, os primitivos <code>X25519</code>, <code>Ed25519</code> e <code>AES_128-CBC</code> são fornecidos pela <ahref="https://www.openssl.org/">OpenSSL</a> (pelo pacote <ahref="https://github.com/pyca/cryptography">PyCA/cryptography</a> ). As funções de hash <code>SHA-256</code> e <code>SHA-512</code> são fornecidas pela biblioteca Python <ahref="https://docs.python.org/3/library/hashlib.html">hashlib</a>. Os primitivos <code>HKDF</code>, <code>HMAC</code>, <code>Fernet</code>, e a função de preenchimento <code>PKCS7</code> são sempre fornecidas pelas seguintes implementações internas:</p>
<p>Reticulum também incluí a implementação completa de todos os primitivos necessários em Python puro. Se o OpenSSL & PyCA não estão disponíveis no sistema que o Reticulum é iniciado, Reticulum vai utilizar os primitivos internos. A consequência trivial disso é o desempenho, com a biblioteca OpenSSL sendo mais rápida. A consequência mais importante no entanto, é a potencial perda de segurança por utilizar primitivos que não possuem o mesmo nível de suporte, teste e revisão que o OpenSSL.</p>
<p>Se você quer utilizar primitivos internos em Python, é aconselhável que você entenda os riscos envolvidos, e tome uma decisão informada conforme os ricos são aceitáveis para você.</p>
<p>Reticulum é um software relativamente jovem, e deve ser considerado como tal. Enquanto ele é desenvolvido com as melhores práticas de criptografia em mente, ainda não foi auditado externamente, e pode haver bugs para segurança e privacidade. Se você quer ajudar, ou patrocinar uma auditoria, nos informe.</p>