跳转到主要内容

热门内容

今日:


总体:


最近浏览:


Chinese, Simplified

category

  • 小。Sloaccount的代码不到2000行,小到足以进行审计。二进制文件可以低于50KB,对于许多嵌入式目标来说足够小。
    易于部署。只需将monoypher.c和monoypher.h添加到您的项目中即可。它们可以编译为C99或C++,并且专用于公共领域(CC0-1.0,或者2条款BSD)。
  • 便携式。没有依赖关系,甚至对libc也没有。
  • 诚实。API是小型的、一致的,并且在正确输入时不会失败。
  • 直接。抽象是最小的。具有应用密码学经验的开发人员可以在几分钟内高效工作。
  • 快。这些原语一开始就很快,性能也没有被不必要地牺牲。Monocypher对libsodium的抵抗力很强,尽管其大小更接近TweetNaCl(见更详细的基准)
     

特征

  • 使用XChaCha20和Poly1305(RFC 8439)进行身份验证加密,非随机数足够大。还实施了常规ChaCha20。
    使用BLAKE2b进行哈希运算,它与SHA-3一样安全,与MD5一样快。
  • Argon2i的密码哈希,赢得了密码哈希竞赛。
  • X25519公钥密码学(Diffie-Hellman密钥交换)。X25519使用公钥来计算可用于身份验证加密的对称密钥。
  • 使用EdDSA的公钥签名(RFC 8032)。默认情况下,EdDSA使用BLAKE2b和Edwards25519。Ed25519(SHA-512和Edwards25519)可作为选项提供。
  • Elligator 2支持隐写术。Elligator可以将短暂的公钥隐藏为随机噪声,这更容易被审查人员和其他此类对手隐藏。
  • 密码认证密钥交换(PAKE)支持Elligator 2(映射到点)和标量反转(隐式伪随机函数)。

开始使用


下载最新的Monocypher并运行测试套件:

$ tar -xzf monocypher-4.0.2.tar.gz 

$ cd monocypher-4.0.2 

$ make test
您可以选择在系统上生成并安装二进制文件:

$ make 

$ sudo make install


或者,您可以将Monocypher源文件集成到您的项目中:

$ cp src/monocypher.c path/to/your/source/folder 

$ cp src/monocypher.h path/to/your/include/folder


用户手册中记录了Monocypher的API。如果您还不熟悉密码学,请参加入门课程。我们目前推荐Crypto101。

客户见证


Monocypher使我能够使用现代密码学开发具有安全固件更新的Joulescope小型微控制器引导程序。Monocypher体积小、速度快、易于使用,没有依赖性,在微控制器上表现出色。

Matt Liberty,Joulescope的首席工程师和创建者
Jet鲈鱼有限责任公司

我们发现monoypher很容易与ArduPilot代码集成。由此节省的代码大小使我们能够在我们支持的许多板上的现有引导加载程序扇区中安装对安全引导的支持。python绑定使编写相关的用户工具变得非常容易。强烈推荐!

本文地址
最后修改
星期日, 一月 26, 2025 - 18:20
Article