LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 行情分析 > 可以抵抗量子计算的算法,是如何运用到TCP上的

可以抵抗量子计算的算法,是如何运用到TCP上的

2019-11-03 牛二兄 来源:区块链网络

早期的区块链项目如比特币、莱特币、以太坊采用了存在设计缺陷(但不是致命的)的SHA系列哈希算法,最近新的区块链项目都采用以美国国家标准与技术研究院SHA-3计划系列算法为代表的新哈希算法。

0bc85b10-0054-448a-b680-67a76cb902d6

量子计算机下针对哈希算法目前最有效的攻击方法是GROVER算法,该算法可以将对Hash算法的攻击复杂度从0(2n)降为0(2n/2),因此,目前比特币系统采用的哈希算法PIREMD160算法由于输160出长度只有比特,在量子攻击下是不安全的。

抵抗量子攻击的有效手段是通过增加哈希算法的输出长度来有效降低GROVER算法威胁,目前普遍认为只要哈希算法输出长度不少于256比特时,是可以有效抵抗量子攻击的。另外,除了量子攻击威胁外,一系列在实践中被广泛应用的Hash函数如MD4、MD5、SHA-1和HAVAL等受到差分分析、模差分和消息修改方法等传统方法的攻击,因此区块链中的哈希算法也需要考虑的是对传统攻击的抵抗能力。

1a5e3e6f-e4ce-4c5e-8e10-6bbe7f3c7932

TCP采用SHA-3计划的胜出算法Keccak512,与经典Hash函数的Merkle-Damgard(MD)结构不同,Keccak512算法采用了海绵(Sponge)结构,该算法蕴涵许多杂凑函数和密码算法最新的设计理念和思想,且设计方式简单,非常方便硬件实现。算法是GuidoBertoni,JoanDaemen,MichaelPeters,和GilesVanAssche在2008年10月提交的,Keccak512算法采用了标准的sponge结构,可将任意长度的输入比特映射成固定长度的输出比特,该算法速度非常快速。

在挤压阶段,可以通过迭代24次循环产生R比特固定输出长度的Hash值,每个循环只有最后一步轮常数不同,但是该轮常数在碰撞攻击时经常被忽略不计。该算法被证明具有很好的差分性质,至目前为止第三方密码分析没有显示Keccak512有安全弱点。量子计算机下针对Keccak512算法的第一类原像攻击复杂度是2256,量子计算机下针对Keccak512算法的第二类原像攻击复杂度是2128,因此采用Keccak512算法的TCP可以抵抗量子计算下的GROVER算法攻击。

1f93c153-47d9-428a-a925-3feb4cdfde93

哈希算法可以保证交易数据不被篡改,但是无法保证对数据和摘要同时的替换攻击,同时也不能保证交易数据的不可否认性,数字签名算法涉及到公钥、私钥和钱包等工具,它有两个作用:一是证明消息确实是由信息发送方签名并发出来的,保证不可否认性,二是确定消息的完整性。数字签名技术是将摘要信息用发送者的私钥加密,与原文一起传送给接收者。接收者只有用发送者的公钥才能解密被加密的摘要信息,然后用哈希算法对收到的原文产生一个摘要信息,与解密的摘要信息对比。

目前事实已经证明NTRUSign-251签名算法的安全性最终等价于求一个502维整数格中的最短向量问题,而对于格中最短向量问题SHOR攻击算法是无效的,在量子计算机下也没有其他的求解快速算法,目前最好的启发式算法也是指数级的,攻击NTRUSign-251签名算法的时间复杂度约为2168,因此采用NTRUSign-251算法的TCP可以抵抗量子计算下的SHOR算法攻击。

—-

编译者/作者:牛二兄

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...