#private-key #public-key #key-derivation #key-pair #signature-verification #hash #message

lsig

这个crate提供了生成私钥和公钥对以及使用这些密钥签名消息的功能。

4个版本

0.1.3 2024年4月7日
0.1.2 2024年4月6日
0.1.1 2024年4月5日
0.1.0 2024年4月5日

#2063 in 加密学

Download history 2/week @ 2024-04-13 5/week @ 2024-05-18 1/week @ 2024-05-25 28/week @ 2024-06-29 35/week @ 2024-07-27

每月 59 次下载

MIT许可证

10KB
144

LSIG是如何工作的

LSIG是Lamport签名的一个简单实现,旨在用于量子抗性的数字签名。以下是其工作原理:

  1. 私钥生成:

    • 私钥是随机生成的。
  2. 公钥推导:

    • 通过使用安全的哈希函数对私钥进行哈希处理来推导公钥。
    • 这确保了公钥是安全地从私钥推导出来的,提供了一个单向映射。
  3. 消息签名:

    • 为了签名一个消息,首先使用安全的哈希函数(例如,SHA-256)对其进行哈希处理。

    • 然后使用哈希值根据消息的位表示来揭示预映像。

    • 这些预映像作为签名块。

  4. 签名验证:

    • 为了验证签名,对签名中的每个块进行哈希处理。
    • 比较得到的哈希值与公钥中相应的块。
    • 如果哈希值匹配,则认为签名有效,确认消息的真实性。

限制

  • 密钥重用:使用相同的密钥对多个消息进行签名可能会导致泄露大量私钥信息。

依赖关系

~1–1.7MB
~37K SLoC