reticulum_website/source/crypto_zh-cn.md
2023-12-26 09:12:14 +00:00

2.1 KiB
Raw Blame History

密码学原语

Reticulum 使用了一系列高效、健壮、现代的密码学原语(cryptographic primitives)。它们都有着被广泛使用的现成的实现,且在一般的 CPU 或是微控制器上都可以运行。这些必要的原语是:

  • Ed25519 用于签名
  • X22519 用于 ECDH 密钥交换
  • HKDF 用于密钥派生
  • AES-128 CBC 模式
  • HMAC-SHA256 用于消息认证
  • SHA-256
  • SHA-512

在默认安装下,X25519Ed25519AES-128-CBC 都由 OpenSSL 提供(通过 PyCA/cryptography)。散列函数 SHA-256SHA-512 由 Python 标准库 hashlib 提供。HKDFHMACFernet 原语与 PKCS7 填充函数总是由以下内部实现提供:

Reticulum 还包含了所有所需密码学原语的纯 Python 实现。如果 OpenSSL 和 PyCA 在系统上不可用的话Reticulum 会使用自带的纯 Python 实现。这时最明显的影响是速度——OpenSSL作为后端会快的多。然而最严重的后果可能是使用这些实现带来的安全性问题,毕竟它们没有经受过与 OpenSSL 同级别的安全审查、测试与评估。

如果你想使用自带的纯 Python 实现,我十分建议你先充分了解可能的风险,并仔细思考这些风险是否适用于你。

Reticulum 目前还十分年轻,这一点必须牢记于心。虽说 Reticulum 的开发尽量遵守了密码学的最佳实践,但它还没有受过外部的安全审计,而且很可能会有破坏隐私或是安全性的 Bug。如果你愿意帮忙或是愿意赞助进行安全审计欢迎联系开发者。

下一个主题: 致谢与署名