作为软件开发和密码学的新手,我想我应该使用otr协议编写一个简单的p2p加密聊天应用程序,详见此处:https://otr.cypherpunks.ca/Protocol-v3-4.0.0.html。
但是,我在计算g^x和g^y时遇到问题。
如协议所述,对于特定的1536位素数,我有g =2。但是当我试图计算g**x时,其中x是一个随机的320位数(我用random.getrandbits(320)生成),那么python将花费很长的时间来计算它。
我是不是漏掉了什么重要的东西?我意识到我在试图计算一个绝对庞大的数字,但我非常困惑,因为我认为我所做的正是协议所规定的。谁能给我指出正确的方向,让我了解一下我做错了什么?
发布于 2014-07-03 07:09:04
你忽略了“所有的指数都是由一个特定的1536位素数完成的”。
https://crypto.stackexchange.com/questions/17977
复制相似问题