#transcript #flexible #traits #format #hash #definition #merlin

flexible-transcript

简单的转写特质定义,以及可行的选项

7 个版本

0.3.2 2023年8月8日
0.3.1 2023年3月21日
0.2.0 2022年11月5日
0.1.3 2022年7月12日
0.1.2 2022年6月28日

#453 in 密码学

Download history 28/week @ 2024-03-11 27/week @ 2024-03-18 35/week @ 2024-03-25 65/week @ 2024-04-01 21/week @ 2024-04-08 68/week @ 2024-04-15 30/week @ 2024-04-22 33/week @ 2024-04-29 37/week @ 2024-05-06 29/week @ 2024-05-13 51/week @ 2024-05-20 31/week @ 2024-05-27 32/week @ 2024-06-03 31/week @ 2024-06-10 38/week @ 2024-06-17 42/week @ 2024-06-24

143 每月下载量
15 crates 中使用

MIT 许可证

16KB
234

灵活转写

灵活转写是一个提供

  • Transcript 的crate,它提供了一个转写应该实现的特质。
  • DigestTranscript,一个针对提供的哈希函数实例化的有能力的转写格式。
  • MerlinTranscript,一个将 merlin 包装到特质中的包装器(通过 merlin 功能可用)。
  • RecommendedTranscript,一个推荐在应用程序中使用转写的转写。目前,这是 DigestTranscript<Blake2b512>(通过 recommended 功能可用)。

在开发一个定义了非常简单的转写格式的IETF草案时创建了该特质。协议的扩展很快就需要一个更强大的格式,但实现指定的格式是满足规范所必需的。因此,实现草案的库定义了一个 IetfTranscript,删除了标签且不允许连续挑战,但由于特质的引入,允许在协议之上构建的协议根据需要提供自己的转写格式。

DigestTranscript 接受任何实现了 Digest 的哈希函数,在其周围提供了一个安全的转写格式。所有项都以前缀标志开头,表示其类型和长度。

MerlinTranscript 被用来证明API,如果 DigestTranscript 存在任何问题,则启用回退。它也被视为与现有使用 merlin 的Rust项目兼容的一种方式。

该库在2023年3月由Cypher Stack进行了审计,审计结果在提交 669d2dbffc1dafb82a09d9419ea182667115df06 中体现。任何后续更改都没有经过审计。

该库可以在无_std环境下使用。

依赖项

~340–580KB
~13K SLoC