实施公平硬币翻转

时间:2010-10-22 06:29:47

标签: c encryption cryptography

我感到无聊所以我开始关注密码学。我对这个Fair-Coin Flipping协议感兴趣。该协议适用于公钥加密,但要求算法通勤(我猜这样的RSA)。我认为用C或C ++编写它会很有趣,并且想知道人们通常如何在C或C ++中进行这种公钥加密。例如,协议的前几个步骤是:

  1. Alice和Bob都生成公钥/私钥对(这是可交换的秘密)
  2. Alice生成两条消息,一条指示头部,另一条指示尾部,并使用她的密钥加密它们并将它们发送给Bob。
  3. ...
  4. ...
  5. 现在,对于消息,我将使用一个字符串,但是有没有用于生成公钥/私钥和加密给定字符串等的好库?

2 个答案:

答案 0 :(得分:4)

查看crypto++之类的内容,而不是自己进行加密。还有其他商业图书馆,但这应该会给你一个良好的开端。

答案 1 :(得分:1)

我写了一个加密库,作为组合学大学任务的一部分。我使用GMP(GNU Multiple Precision)库生成随机数字(计算机可以处理的任意位数。所以4096位数很容易!)