<返回更多

解读“高大上”的加密算法

2019-07-26    
加入收藏

解读“高大上”的加密算法

 

·什么是加密算法?它的应用领域和应用地位是什么?

算法加密是目前信息互联行业前后端开发必须应用的算法,它的目的就是是信息在传输和解读上的安全性提高,让设定的群体读到我传递的内容,而不被别人窃取到我的传递信息。

算法加密和数字签名是前后端开发绕不开的技术问题。它要解决的是用户登入、交易、信息通讯、oauth等应用场景提出的技术问题,给使用者提供更完善的服务。

·当前有哪些加密算法类型?它们有什么特点?

1、数字签名

数字签名,简单来说就是通过提供可鉴别的数字信息验证自身身份的一种方式。一套数字签名通常定义两种互补的运算,一个用于签名,另一个用于验证。分别由发送者持有能够代表自己身份的私钥 (私钥不可泄露),由接受者持有与私钥对应的公钥能够在接受到来自发送者信息时用于验证其身份。

私钥与公钥相对的解密方式,通常也被看作是非对称加密验证过程,严格说来,它在分类上还不算另作一大类。但是数字签名的加密过程和普通的公钥加密存在很大的差异,所以它的归类也存在人际和领域差异。

---------------------

2、对称性加密算法

何谓对称性加密算法呢?

简单说来就是加密明文,生成编译密文和逆向的解密过程,即将编译信息转换成可读信息需要相同的密钥。是应用较早的加密算法,又称为共享密钥加密算法。通常称之为“Session Key”这种加密技术目前被广泛采用。

常见的对称加密算法则包含DES、3DES、AES等。

对称式加密使用便捷,效率高,但也有其缺陷:

密钥长度不够,推荐1024Bit或更高。

明文存储密使用弱随机数,攻击者很容易猜测。

3、非对称加密算法与区块链非对称加密算法

非对称加密(也称为公钥加密)。Public-key Cryptography)就是加密和解密所使用的不是同一个密钥,通常有两个密钥,称为“公钥(publickey)”和“私钥(privatekey)”,它们两个必需配对使用,否则不能打开加密文件。这里的“公钥”指的是公共密钥可以公布的,“私钥”不仅可以通过持有人了解。这就是优点所在,因为如果加密文件是通过网络传输的,对称加密可能很难告诉它的密钥,而且任何人都可以窃听它,不管使用什么方法。非对称加密方法有两个密钥,并且“公钥”可以公开,因此接收者只能在解密时使用他的私钥。这样就避免了密钥传输的安全问题。

区块链加密算法运用了哈希函数和椭圆曲线公钥密码技术在内的大量现代密码学技术。这些密码学技术被用于设计基于工作量证明的共识算法并识别用户。

哈希函数:是一类数学函数,可以在有限合理的时间内,将任意长度的消息压缩为固定长度的二进制串,其输出值称为哈希值,也称为散列值。

 以哈希函数为基础构造的哈希算法,在现代密码学中扮演着重要的角色,常用于实现数据完整性和实体认证,同时也构成多种密码体制和协议的安全保障。

碰撞是与哈希函数相关的重要概念,体现着哈希函数的安全性,所谓碰撞是指两个不同的消息在同一个哈希函数作用下,具有相同的哈希值。

哈希函数的安全性是指在现有的计算资源(包括时间、空间、资金等)下,找到一个碰撞是不可行的。

常见的此类算法有RSA、ECC等。

值得一提的是RSA基于素数因式分解数学理论的困难度,安全性非常高。

但是此类算法安全性虽高,但是读取速度慢,只适用小数据量的加密存取。

4、散列加密算法

是一个密码散列函数家族,是FIPS所认证的安全散列算法。能计算出一个数字消息所对应到的,长度固定的字符串(又称消息摘要)的算法。且若输入的消息不同,它们对应到不同字符串的机率很高。代表算法即是SHA算法系列和MD5等。

由于算法的特殊性,哈希算法多用于验证加密信息的完整性。

·加密手段

1、同态加密

同态加密是一种特殊的加密方法,它允许对密文进行处理,结果仍然是加密的,即直接处理密文,其结果与明文相同。从代数的角度讲,即同态性。

在代数中,同态包括加法、乘法、减法和除法四种。如果同时满足加法同态和乘同态,则表示代数同态。同时满足四个同态称为算术同态。

同态加密最早是1978年,由Ron Rivest、Leonard Adleman和Michael L德图佐斯提出,但直到2009年,第一个“全同态”算法,才被克雷格(Craig Gentry)证明。

常见的算法中,Paillier算法和Benaloh算法仅满足加法同态,RSA算法和ElGamal算法只满足乘法同态的算法。而Gentry算法则是全同态的。

云时代同态加密的重要性非常显着。它真的从根本上解决问题,当数据和业务保密委托给第三方,如各种云计算应用。目前,从安全角度来看,用户不敢将敏感信息直接放在第三方云上进行处理。如果您有一种更实用的同态加密技术,那么您可以放心地使用各种云服务。

2、函数加密

同态加密保护的是数据本身,而函数加密顾名思义保护的是处理函数本身,即让第三方看不到处理过程的前提下,对数据进行处理。

函数加密的方法是:任何人可以使用公钥PK对明文m进行加密得到密文Enc(m),密钥的持有者对某个函数 F 颁发一个KEY, 任何拥有KEY和密文Enc(m)的一方,都可以计算F(m), 但是除了F(m)外不能获得关于m的任何信息。

·常见加密算法解析

1、对称加密算法

解读“高大上”的加密算法

 

2、非对称加密算法

解读“高大上”的加密算法

 

3、散列算法

解读“高大上”的加密算法

 

声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多资讯 >>>