关于数字签名方案的测试??

btc2005 2005-05-22 11:38:14
大致要求过程:1 设计一个随机函数f生成一些随机数si

2 对于每一个si有 f(si)=Fs(0)

3 公开公钥以便校验者校验,这里共钥.
4 G是一个哈希函数的集合,随机的从G中取一个哈希函Gh,计算Gh(si),寻找两个相的值,以形成签名(si,sj),

5 校验者得到签名后,利用公钥检验签名.

这就是大致方案.第四步是难点.

以下是英文大致过程: Signature Generation
To sign a message m, the signer first computes the hash h = H( m ). The signer then computes the hash function Gh (as we describe at the beginning of this section) to all the SEALs s1, &ldots;, st. The signer looks for a two-way collision of two SEALs: Gh(si) = Gh(sj), with si ≠sj. The pair si, sj forms the signature. Figure 1 shows an example. It is now clear why the BiBa acronym stands for Bins and Balls signature: the bins correspond to the range of the hash function Gh, and the balls correspond to the SEALs.



Figure 1: Basic BiBa scheme



We exploit the asymmetric property that the signer has more SEALs than the adversary, and hence the signer can easily generate the BiBa signature with high probability. On the other hand, an adversary only knows the few disclosed SEALs and hence has a low probability to find a valid BiBa signature

Signature Verification
The verifier receives message M and the BiBa signature si, sj . We assume for now that the verifier has an efficient method to authenticate the SEALs si, sj. To verify the BiBa signature the verifier computes h=H(m), checks that si ≠sj, and Gh( si ) = Gh(sj).

Note that the verification is very light-weight: Without considering the SEAL authentication, the verification only requires one hash function computation and two hash function computations.

算法是biba算法 一个美国教授搞的,不知道怎么用c++模拟,高手给个思路 ,或者帮帮忙啊
...全文
58 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

64,646

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧