LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 新闻观点 > 零极ZOL:揭秘区块链的核心技术之「哈希与加密算法 」

零极ZOL:揭秘区块链的核心技术之「哈希与加密算法 」

2019-10-14 Maywa 来源:区块链网络

谈区块链离不开密码学。密码学流传已久,有几千年历史,在军事、外交、情报等领域有广泛的的应用。在区块链领域,也大量应用了密码学算法。我们都知道区块链中有四项不可缺的核心技术,分别是分布式存储、共识机制、密码学原理和智能合约。今天我们来讲区块链中的密码学

640 wx_fmt=jpeg

什么是密码学密码学作为一门古老的学科,有着悠久而奇妙的历史。它用于保护军事和外交通信可追溯到几千年前文字刚刚产生的上古时期。凯撒密码是一种最简单且最广为人知的加密技术,这种加密方法,甚至沿用到今天。它是一种替换加密的技术,明文中的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后被替换成密文。例如,当偏移量是3的时候,所有的字母A将被替换成D,B变成E,以此类推。比如Abroad,凯撒在用密文写信的时候,就被替换为Deurdg,这样就得到了敌人看不懂的密文。

640 wx_fmt=png

现在看来这种加密方式可能稍显幼稚,但作为历史上文字记载的最早使用加密密钥的案例:由发件人和收件人共享加密密钥,标志了现代密码学的发端。可以说,从凯撒密码,到20世纪公共密钥被发明之前的这几千年时间里,密码学的原理都是一样的。比特币和区块链的加密方式,跟凯撒密码的原理区别,也就是多了公钥而已。密码学是研究如何隐密地传递信息的学科。在现代特别指对信息及其传输的数学性研究,常被认为是数学和计算机科学的分支,和信息论也密切相关。密码学中应用最广的三类算法是哈希算法、对称算法和非对称算法。在区块链中,核心技术就是哈希算法和非对称算法。

哈希算法哈希算法,俗称Hash算法,也叫散列算法或数据摘要,它是一种常见的单向加密算法,它将一串数据加密生成一串二进制,但不能由二进制还原为原来的数据。简单来说就是把任意数据(二进制)变为固定长度的二进制,小到一个数字“1”,大到一个视频文件,只要是最终以二进制形式存储的数据,就能通过hash算法变为固定长度的一串数据。

640 wx_fmt=jpeg

一个优秀的hash算法有以下四个特点:正面快速:就是说加密的速度要在有限时间和有限资源内完成,且越快越好。逆向困难:就是说给你一个加密后的hash值数据,要想逆向破解获得加密前的明文是极其困难的。输入敏感:明文只要发生哪怕一点点改变,进行hash运算后的值都会产生很大的改变。冲突避免:不同的明文,他们进行hash运算后的hash值基本不可能一样。冲突避免又叫做“抗碰撞性”,如果给你一个明文,得到hash值后,你无法找到另外一个明文的hash值与他一样,那么就叫做“抗弱碰撞性”。要是你自己随便找两个明文,让他们的hash值一样,如果做不到,那么叫做“抗强碰撞性”,也就是说具有更强的“抗碰撞性”。 现在比较流行的就是MD5和SHA-1算法。但是由于这两种算法不够安全,也就是在“抗碰撞性”上做得不够好,于是又有了SHA-224、SHA-256,SHA-512等算法。 比特币采用的SHA-256 hash算法,共有256位,也就是2的256次方个结果(这个数字十分巨大),产生新区快时候,由于hash逆向困难,矿工就要用哪一个值去跟新区块的hash的值碰撞,谁先猜对,就让谁在新的区块中写入信息,并且获得新区快中的奖励btc。640 wx_fmt=jpeg非对称加密 区块链中有一个很关键的点就是账户问题,但比特币中是没有账户概念的,那大家是怎么进行转账交易的呢?这里就得先介绍区块链中的非对称加密技术了。非对称加密技术有很多种,代表算法有:RSA(不够安全)、Elgamal、背包算法、Rabin、D-H、ECC(椭圆曲线加密算法)、ECDSA以及国家商用密码SM2算法,比特币中是使用的ECDSA 算法。ECDSA 是美国政府的标准,是利用了椭圆曲线的升级版,这个算法经过了数年的细致密码分析,被广泛认为是安全可靠的。 对称加密又快又方便,但是有个很大的坑——密码本容易被偷或被破解。怎么能够防止这种情况呢?1977年三位数学家Rivest、Shamir 和 Adleman 设计了一种算法(所以叫RSA),把密钥分成两个,一个自己持有叫私钥(Private Key),另一个发给对方,还可以公开,叫公钥(Public Key),实现用公钥加密的数据只能用私钥解开: ▲加密: E公钥(P) = C▲解密: D私钥(C) = P 640 wx_fmt=jpeg非对称加密(也叫公钥加密),顾名思义,加密密钥和解密密钥是不同的,分别称为公钥和私钥。公钥一般是公开的,人人可获取的,私钥一般是个人自己持有,不能被他人获取。 这下就不用再头痛如何把密码本给对方或被破解了,私钥由自己保管,敌方拦截到密文也没有办法。非对称算法核心原理其实就是设计一个数学难题,使得用公钥和明文推导密文很容易,但是很难根据公钥、明文和密文推导私钥。

非对称加密的优点是公私钥分开,不安全通道也可使用;多方通信所需密钥少,维护简单。缺点是加解密速度慢,一般比对称加解密算法慢两到三个数量级;同时加密强度相比对称加密要差。

640 wx_fmt=png

但在量子计算机诞生后,给密码学带来冲击。在量子计算机面前,这些加密技术可能会败下阵来。所以,这里要再次为大家介绍,零极的抗量子计算加密算法。抗量子密码(QuantumResistant Cryptography,QRC)本质上都是指“能够抵御量子计算机攻击的数学密码”。目前可用于密码破译的量子计算算法主要有Grover算法和Shor算法,对于密码破译来说,Grover算法的作用相当于把密码的秘钥长度减少一半。而Shor算法则可以对目前广泛使用的RSA、DSA、ECC公钥密码和DH秘钥协商协议进行有效的攻击。这说明在量子计算环境下,传统区块链所采用的密码算法将不再安全。存在多种密码体制是可以抵抗量子计算机攻击的,例如基于HASH函数的密码、基于纠错码的密码、基于格的密码、多变量二次方程组密码等等,但因为其秘钥长度和签名信息十分冗长,运算时间过长等原因,这些密码体制并不适用于区块链应用,尤其是基于移动设备节点的移动区块链。零极采用改进的512位SHA3哈希函数的一次性签名方案,解决了秘钥和签名信息过长和计算速度过慢的问题,特别适合移动节点的部署。基于该项抗量子计算机攻击的数字签名方案的两项专利获得了相关国家知识产权局的审查和通过。常用算法比较640 wx_fmt=png

—-

编译者/作者:Maywa

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

LOADING...
LOADING...