抗量子计算机破解的算法主要有四种:基于编码的算法,基于哈希的签名,多变量算法和基于格的算法。当然还有郭同学最中意的但没有什么用的超奇异椭圆曲线。
基于编码的签名Code-based Algorithm,最早出现于1978年,主要用于加密算法,著名算法有McEliece。
基于哈希的签名Hash-based Signature,最早出现于1979年,只可用于数字签名,著名的算法很多比如David Chaum和V神都喜欢的Lamport签名。
关于基于哈希的签名,由于量子计算机不擅长特别高效地解哈希函数,找到哈希函数的碰撞,所以输出足够长的哈希构造是可以抗量子计算机破解的。基于哈希的签名的算法安全性并不依赖一个特定的哈希函数,即使目前用的哈希函数被破解,可以用更安全的哈希函数直接代替被破解的就好,如果用在数字货币方面唯一的缺点是签名长度太大。
多变量签名Multivariate Algorithm最早出现于1988年,可用于数字签名、加密、密钥交换等,著名算法如Rainbow Signature彩虹签名,
多变量算法用有限域多变量二次多项式组来构建加密算法,签名算法,和密钥交换算法。其安全性在于多变量二次多项式问题。这个问题已经被证明是非确定性多项式时间困难即NP Hard问题。
目前暂时还没有已知的经典和量子算法,能够快速求解多变量二次多项式。和基于数论问题的如RSA算法比,多变量计算速度快,但公钥长度大,适用于不需频繁进行公钥传输的如物联网设备等,比如一贯喜欢吹牛的IOT的A。当然IOT的A也没有能力用。
基于格的算法Lattice-based Algorithm,最早出现在1996年,用途非常广泛,可用在加密、数字签名、密钥交换,以及众多密码学应用如伪随机函数同态加密等。代表算法有NTRU系列,被人欺负的NewHope系列。
基于格的算法计算速度快、通信小,能用于各类算法和应用,因此被认为是最有希望的抗量子计算机破解的算法。以及除这四种外,还有基于超奇异椭圆曲线,量子随机漫步等技术的算法。
可用于区块链或数字货币应用的签名,对签名长度有较高要求,目前一般只能用多变量签名。而基于哈希的,基于格的签名因签名长度大,目前还不稳定,一般来说并不适用于设计成长期的安全的数字货币。
美国国家技术标准局NIST近10年的抗量子计算机破解算法准备和遴选,最关心最基础,最广泛应用的密码学算法:公钥加密、密钥交换和数字签名。现有的26个算法,用
以上4 种不同的实现方法,来实现这 3
个功能。
在未来三年,这些抗量子计算机破解算法中的一部分,可直接代替现有的公钥加密、数字签名、密钥交换算法,主要包括:RSA加密和签名,Diffie-Hellman的密钥交换,以及椭圆曲线加密和签名等。
包括比特币在内的几乎所有数字货币,都架构在椭圆曲线签名基础上,如不能更换成抗量子计算机破解的签名,将会面临被量子计算机破解的潜在风险。目前所有9个签名算法中,稳定而且400字节以内的签名只有彩虹签名。
感恩的规则
昨天的公众号ABCardO文章《无视规则将会承担相应后果》,读者朋友以为是谈游泳的那哥们SY,其实我只是谈规则本身。
规则有不同的层级,比如大熊猫,只吃竹子,繁殖能力低,按照物竞天择的自然法则,不人为保护大熊猫就可能灭绝,为什么重点保护大熊猫,而不保护其他濒危动物呢?人为的规则干涉了,或高于生态自然选择的法则吗?
再说个笑话,某大国的知识分子有五个原则,或者规则:1,什么都别思考;2,一定要思考就别说;3,思考了还要说就别写;4,思考了要说要写就别落款签名;5,如果以上规则都不遵守就别觉得吃惊。
嗯!我说的是前苏联。
感谢斯大林同志!
感恩!
我去年买了块表