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


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

文章插图
【解读“高大上”的加密算法】 
·什么是加密算法?它的应用领域和应用地位是什么?
算法加密是目前信息互联行业前后端开发必须应用的算法 , 它的目的就是是信息在传输和解读上的安全性提高 , 让设定的群体读到我传递的内容 , 而不被别人窃取到我的传递信息 。
算法加密和数字签名是前后端开发绕不开的技术问题 。它要解决的是用户登入、交易、信息通讯、oauth等应用场景提出的技术问题 , 给使用者提供更完善的服务 。
·当前有哪些加密算法类型?它们有什么特点?
1、数字签名
数字签名 , 简单来说就是通过提供可鉴别的数字信息验证自身身份的一种方式 。一套数字签名通常定义两种互补的运算 , 一个用于签名 , 另一个用于验证 。分别由发送者持有能够代表自己身份的私钥 (私钥不可泄露),由接受者持有与私钥对应的公钥能够在接受到来自发送者信息时用于验证其身份 。
私钥与公钥相对的解密方式 , 通常也被看作是非对称加密验证过程 , 严格说来 , 它在分类上还不算另作一大类 。但是数字签名的加密过程和普通的公钥加密存在很大的差异 , 所以它的归类也存在人际和领域差异 。
---------------------
2、对称性加密算法
何谓对称性加密算法呢?
简单说来就是加密明文 , 生成编译密文和逆向的解密过程 , 即将编译信息转换成可读信息需要相同的密钥 。是应用较早的加密算法 , 又称为共享密钥加密算法 。通常称之为“Session Key”这种加密技术目前被广泛采用 。
常见的对称加密算法则包含DES、3DES、AES等 。
对称式加密使用便捷 , 效率高 , 但也有其缺陷:
密钥长度不够 , 推荐1024Bit或更高 。
明文存储密使用弱随机数 , 攻击者很容易猜测 。
3、非对称加密算法与区块链非对称加密算法
非对称加密(也称为公钥加密) 。Public-key Cryptography)就是加密和解密所使用的不是同一个密钥 , 通常有两个密钥 , 称为“公钥(publickey)”和“私钥(privatekey)” , 它们两个必需配对使用 , 否则不能打开加密文件 。这里的“公钥”指的是公共密钥可以公布的 , “私钥”不仅可以通过持有人了解 。这就是优点所在 , 因为如果加密文件是通过网络传输的 , 对称加密可能很难告诉它的密钥 , 而且任何人都可以窃听它 , 不管使用什么方法 。非对称加密方法有两个密钥 , 并且“公钥”可以公开 , 因此接收者只能在解密时使用他的私钥 。这样就避免了密钥传输的安全问题 。
区块链加密算法运用了哈希函数和椭圆曲线公钥密码技术在内的大量现代密码学技术 。这些密码学技术被用于设计基于工作量证明的共识算法并识别用户 。
哈希函数:是一类数学函数 , 可以在有限合理的时间内 , 将任意长度的消息压缩为固定长度的二进制串 , 其输出值称为哈希值 , 也称为散列值 。
 以哈希函数为基础构造的哈希算法 , 在现代密码学中扮演着重要的角色 , 常用于实现数据完整性和实体认证 , 同时也构成多种密码体制和协议的安全保障 。
碰撞是与哈希函数相关的重要概念 , 体现着哈希函数的安全性 , 所谓碰撞是指两个不同的消息在同一个哈希函数作用下 , 具有相同的哈希值 。
哈希函数的安全性是指在现有的计算资源(包括时间、空间、资金等)下 , 找到一个碰撞是不可行的 。
常见的此类算法有RSA、ECC等 。
值得一提的是RSA基于素数因式分解数学理论的困难度 , 安全性非常高 。
但是此类算法安全性虽高 , 但是读取速度慢 , 只适用小数据量的加密存取 。
4、散列加密算法
是一个密码散列函数家族 , 是FIPS所认证的安全散列算法 。能计算出一个数字消息所对应到的 , 长度固定的字符串(又称消息摘要)的算法 。且若输入的消息不同 , 它们对应到不同字符串的机率很高 。代表算法即是SHA算法系列和MD5等 。


推荐阅读