是否有一种(简单的)方法来加密数据,以便解密它需要一定数量的 cpu 小时?也许是一系列具有短密钥长度的加密、一个可变的单向函数或任何东西?
它可能没有多大用处,但是如何调用这种加密方案并且有工具吗?
编辑:
为了使蛮力中断时间没有变化的结果,我不应该使用多轮和异或反馈吗?
我刚刚想出了这个算法(对于具有相等值和密钥长度的对称分组密码)......也许这是无意义的
第1轮 创建一个零块 创建一个随机块 1 加密值:带密钥的零块:random-block1 => 给出 lock-output-1 第二轮 创建一个零块 创建一个随机块 2 加密值:带密钥的零块:随机块 2 => 给出温度 xor temp with random-block-1 => 给出 lock-output-2 等等
与 random-block-1 的 xor 操作将在那里,因此解锁例程必须先找到 random-block-1,然后才能开始对 lock-output-2 进行暴力破解。
lock-output-1 + lock-output-2 .. lock-output-N 将是完整的锁定输出。当解锁例程发现 N 个密钥块在所有锁定输出块上每个都为零时,它可以将 N 个密钥块作为一个整体来解密实际数据。
然后,我还需要一个公式来计算多少轮数会产生最大变化,例如所需 CPU 小时数的 10%。
我想那里一定存在一个类似的算法。