我需要一种算法,它可以执行一个非常具体的任务:取一个短字符串,使用一种算法加密它,这个算法可以按照摩尔定律进行缩放,/有一个工作系数的证明/非常慢,然后,随后,以同样的成本解密它。
用例是安全意识客户端为邮件列表存储的电子邮件地址列表,每封电子邮件一次解密一次;目的是使强制执行尽可能耗时。我已经调查了一些可能的候选人(AES-256,mcrypt,双人,氪星),但目前还不清楚哪一个最适合。
发布于 2021-10-18 08:41:38
对于您希望做的事情,分组密码的选择可能没有操作方式那么重要。您需要的是一种操作模式,其中加密和解密都是不可并行的,然后迭代许多次,这是麻烦的,但不是不可行的。
我的建议是使用输出反馈(OFB)模式。生成唯一的初始值;将其输入(例如)AES分组密码;然后将输出反馈到密码中,然后根据客户端需要的确切有多少时间重复,例如,重复C2时间。然后XOR未来的输出到电子邮件地址.随着摩尔定律的增加,加密/解密时间会减少,但购买更多的硬件没有好处。
现在,在解密一次之后,客户机可以简单地保存XORing之前的最后一个输出值,但同样地,它们也可以在解密后保存地址。
另一种选择是使用传播密码-块链接(PCBC)模式,但这将涉及生成与认为没有必要的迭代次数一样多的不可猜测的输入。
https://crypto.stackexchange.com/questions/95643
复制相似问题