算法可以及时计算,但可以快速验证计算结果

时间:2014-01-10 15:21:36

标签: algorithm

我想给用户一个随机密钥,让他对这个密钥执行算法。算法计算成本高昂。应该没有已知的解决方法来减少所需的计算时间。而且我应该能够以非代价的方式验证计算值确实是根据我给出的密钥计算的。

是否有适合此类目的的算法?

2 个答案:

答案 0 :(得分:2)

哦,是的。例如比特币使用这样的东西,它被称为Proof-of-work system,也看Hashcash

抱歉,我无法帮助您了解它的实际代码,但应该有大量的开源材料可用。 对于比特币,根据我的理解,有一个(非常小的)机会快速完成这个工作证明,但平均来说这很难。使用普通计算机需要不到几十年的时间。

答案 1 :(得分:1)

这里想到了密码学。取一个数据集A,用密钥K对其进行加密,结果为B.给用户A和B,让他恢复K.当然,你必须选择密钥大小和算法,使这个任务变得切实可行。
或者使用一个简短的随机字符串,例如10或20个字符。计算SHA1哈希值。给用户哈希,并要求他恢复原始字符串 或分解。给用户两个大素数的产品,并要求他恢复因素。