查看原文
其他

解读区块链加密算法

2017-10-26 平行区块链

 

数据加密:数据加密的基本过程就是对原来为明文的文件或数据按某种算法进行处理,使其成为不可读的一段代码,通常称为“密文”,使其只能在输入相应的密钥之后才能显示出本来内容,通过这样的途径来达到保护数据不被非法人窃取、阅读的目的。 该过程的逆过程为解密,即将该编码信息转化为其原来数据的过程。


根据数据加密的定义,我们会发现数据加密是需要一个解密过程的,则有些算法在加密后变成密文,但是无法逆推就不能被真正定义为加密算法。


MD5的特点:MD5(Message Digest Algorithm MD5),消息摘要算法第五版。MD5以512位分组来处理输入的信息,且每一分组又被划分为16个32位子分组,经过了一系列的处理后,算法的输出由四个32位分组组成,将这四个32位分组级联后将生成一个128位散列值。那么在计算开始就对信息进行了填充,并且压缩,最简单的例子,你在网络上下载东西是通过MD5验证,那么下载源何其多,但是MD5是128位,你可以计算MD5值的总数,无限对有限,这就是一个不可逆的过程,所以严格来说MD5就是一种算法而不是加密算法。


 

这里讨论的加密算法计算过程都是基于传统计算机来说明。


加密算法目前大致分为对称加密算法和非对称加密算法,对算法历史就不在讨论了。


对称加密算法


DES(Data Encryption Standard):对称算法,数据加密标准,速度较快,适用于加密大量数据的场合。DES算法的入口参数有三个:Key、Data、Mode。其中Key为7个字节共56位,是DES算法的工作密钥;Data为8个字节64位,是要被加密或被解密的数据;Mode为DES的工作方式,有两种:加密或解密,密钥事实上是56位参与DES运算(第8、16、24、32、40、48、56、64位是校验位, 使得每个密钥都有奇数个1)分组后的明文组和56位的密钥按位替代或交换的方法形成密文组的加密方法。


3DES:使用3条56位的密钥对数据进行三次加密。是DES的一个更安全的变形。它以DES为基本模块,通过组合分组方法设计出分组加密算法。比起最初的DES,3DES更为安全。该方法使用两个密钥,执行三次DES算法,加密的过程是加密-解密-加密,解密的过程是解密-加密-解密。


 

AES:高级加密标准(AES,Advanced Encryption Standard)为最常见的对称加密算法,加密解密使用密钥相同,一般配合非对称加密把密钥传输,然后通过加密函数E,C = E(K, P),其中P为明文,K为密钥,C为密文。解密函数D,P = D(K, C),其中C为密文,K为密钥,P为明文。AES涉及复杂的算法有兴趣可以参考:

http://blog.csdn.net/qq_28205153/article/details/55798628


 

3DES和AES算法的比较:


 

 

非对称加密


非对称加密算法:对称加密算法在加密和解密时使用的是同一个秘钥;而非对称加密算法需要两个密钥来进行加密和解密,这两个秘钥是公开密钥(public key,简称公钥)和私有密钥(private key,简称私钥)。


1.乙方生成一对密钥(公钥和私钥)并将公钥向其它方公开。


2.得到该公钥的甲方使用该密钥对机密信息进行加密后再发送给乙方。


3.乙方再用自己保存的另一把专用密钥(私钥)对加密后的信息进行解密。乙方只能用其专用密钥(私钥)解密由对应的公钥加密后的信息。

   

 

常用的非对称算法比较:


 

两种加密算法的特点总结


1.目前来看非对称加密比对称加密来的更加安全,因为密钥的不同,对常理来说更加安全一些,因为在通讯传输开始,传输的是公开的公钥,但是从密钥保管来说,也就是一个私钥,需要对密钥保管更加用心,但是考虑到未来量子计算的发展,相对来说两种加密算法的强度算法还有待验证。


2.加密时间效率问题,相对来说非对称加密所花费时间较长,但是这个根本还是算法决定,不同算法不同的实现机制,选择应用最为匹配的算法才是最合适的。

   

图片来自:http://blog.csdn.net/jiht594/article/details/6954155



往期文章推荐

区块链为智能立法 从比特币看智能资产

最终幻想:区块链与人工智能创建未来城市

浅析区块链中的HASH算法

区块链技术、架构与价值互联网

什么是以太坊大都会:终极指南

解读区块链:密码学

平行区块链之数据篇:数字签名

平行区块链之数据篇:Merkle Patricia Tree详解

平行区块链之共识篇:PoS共识算法探讨

平行区块链之共识篇:分布式一致性与Raft共识协议

平行区块链之共识篇:RPCA算法

平行区块链之共识篇:PBFT算法

平行区块链之共识篇:Paxos机制

平行区块链之共识篇:Casper共识协议

平行区块链之共识篇:PoW

平行区块链Parallel Blockchain

注:本文转载自公众号“投河自尽的鱼”,原文作者:投河自尽的虾,点击阅读原文可跳转至原文链接。

扫描上方二维码,关注公众号“平行区块链”,获取更多精彩内容!

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存