哈希力量归集文库路径访问: 首页 > 无人驾驶智能汽车 > 无人自动驾驶

区块链与密码学:加密算法解读

博客园 ☉ 文 来源:旗木卡卡东 2018-04-28 @ 哈希力量

【小哈划重点:加密过程中,通过加密算法和加密密钥,对明文进行加密,获得密文。解密过程中,通过解密算法和解密密钥,对密文进行解密,获得明文。】

“现代加密算法的典型组件包括:加解密算法、加密密钥、解密密钥。其中,加解密算法自身是固定不变的,一般是公开可见的;密钥则往往每次不同,并且需要保护起来,一般来说,对同一种算法,密钥长度越长,则加密强度越大。”MbP哈希力量 | 通用人工智能文库

huoqiuwang_201804221637098879.jpgMbP哈希力量 | 通用人工智能文库

加密过程中,通过加密算法和加密密钥,对明文进行加密,获得密文。解密过程中,通过解密算法和解密密钥,对密文进行解密,获得明文。MbP哈希力量 | 通用人工智能文库

1.jpgMbP哈希力量 | 通用人工智能文库

根据加解密的密钥是否相同,算法可以分为对称加密(symmetric cryptography,又称公共密钥加密,common-key cryptography)和非对称加密(asymmetric cryptography,又称公钥加密,public-key cryptography)。两种模式适用于不同的需求,恰好形成互补,很多时候也可以组合使用,形成混合加密机制。MbP哈希力量 | 通用人工智能文库

并非所有加密算法的强度都可以从数学上进行证明。公认的高强度加密算法是在经过长时间各方面实践论证后,被大家所认可,不代表其不存在漏洞。MbP哈希力量 | 通用人工智能文库

但任何时候,自行发明加密算法都是一种不太明智的行为。MbP哈希力量 | 通用人工智能文库

对称加密MbP哈希力量 | 通用人工智能文库

顾名思义,加解密的密钥是相同的。MbP哈希力量 | 通用人工智能文库

优点是加解密效率高(速度快,空间占用小),加密强度高。MbP哈希力量 | 通用人工智能文库

缺点是参与多方都需要持有密钥,一旦有人泄露则安全性被破坏;另外如何在不安全通道下分发密钥也是个问题。MbP哈希力量 | 通用人工智能文库

对称密码从实现原理上可以分为两种:分组密码和序列密码。前者将明文切分为定长数据块作为加密单位,应用最为广泛。后者则只对一个字节进行加密,且密码不断变化,只用在一些特定领域,如数字媒介的加密等。MbP哈希力量 | 通用人工智能文库

代表算法包括DES、3DES、AES、IDEA等。MbP哈希力量 | 通用人工智能文库

非对称加密MbP哈希力量 | 通用人工智能文库

非对称加密是现代密码学历史上最为伟大的发明,可以很好的解决对称加密需要的提前分发密钥问题。MbP哈希力量 | 通用人工智能文库

顾名思义,加密密钥和解密密钥是不同的,分别称为公钥和私钥。MbP哈希力量 | 通用人工智能文库

公钥一般是公开的,人人可获取的,私钥一般是个人自己持有,不能被他人获取。MbP哈希力量 | 通用人工智能文库

优点是公私钥分开,不安全通道也可使用。MbP哈希力量 | 通用人工智能文库

缺点是加解密速度慢,一般比对称加解密算法慢两到三个数量级;同时加密强度相比对称加密要差。MbP哈希力量 | 通用人工智能文库

非对称加密算法的安全性往往需要基于数学问题来保障,目前主要有基于大数质因子分解、离散对数、椭圆曲线等几种思路。MbP哈希力量 | 通用人工智能文库

代表算法包括:RSA、ElGamal、椭圆曲线(EllipticCurveCrytosystems,ECC)系列算法。MbP哈希力量 | 通用人工智能文库

一般适用于签名场景或密钥协商,不适于大量数据的加解密。MbP哈希力量 | 通用人工智能文库

RSA 算法等已被认为不够安全,一般推荐采用椭圆曲线系列算法。MbP哈希力量 | 通用人工智能文库

混合加密MbP哈希力量 | 通用人工智能文库

即先用计算复杂度高的非对称加密协商一个临时的对称加密密钥(会话密钥,一般相对内容来说要短的多),然后双方再通过对称加密对传递的大量数据进行加解密处理。MbP哈希力量 | 通用人工智能文库

典型的场景是现在大家常用的HTTPS机制。HTTPS实际上是利用了Transport Layer Security/Secure Socket Layer(TLS/SSL)来实现可靠的传输。TLS为SSL的升级版本,目前广泛应用的为TLS1.0,对应到SSL3.1版本。MbP哈希力量 | 通用人工智能文库

建立安全连接的具体步骤如下:MbP哈希力量 | 通用人工智能文库

客户端浏览器发送信息到服务器,包括随机数R1,支持的加密算法类型、协议版本、压缩算法等。注意该过程为明文。MbP哈希力量 | 通用人工智能文库

服务端返回信息,包括随机数R2、选定加密算法类型、协议版本,以及服务器证书。注意该过程为明文。MbP哈希力量 | 通用人工智能文库

浏览器检查带有该网站公钥的证书。该证书需要由第三方CA来签发,浏览器和操作系统会预置权威CA的根证书。如果证书被篡改作假(中间人攻击),很容易通过CA的证书验证出来。MbP哈希力量 | 通用人工智能文库

如果证书没问题,则用证书中公钥加密随机数R3,发送给服务器。此时,只有客户端和服务器都拥有R1、R2和R3信息,基于R1、R2和R3,生成对称的会话密钥(如AES算法)。后续通信都通过对称加密进行保护。MbP哈希力量 | 通用人工智能文库



收录源追溯链接或暂略


本文收录后固定可引用URL链接
    http://www.haxililiang.com/jishu/rumen/26525.html


☉ 文库同一主题内容智能推荐 ☉
哈希力量 ☉ 人机智能科普文库