加密技术
对称加密
优点:加密效率高
缺点:
<1> 密钥不适合在网上传, 可能会被截获, 同样文件也可能会被截获
<2> A计算机和不同的计算机进行文件传输采用不同的密钥,密钥的维护麻烦
加密算法:数据加密标准DES, 在加密前,对整个明文进行分组,每64位作为一组, 对这一组二进制
进行加密算法的执行, 最后将所有的分组加密后的密钥整合到一个文件中成为一个密钥文件,
64位中有56位用于加密, 8位是奇偶校验, 现在变成了128位(56位的密钥在目前的计算机速度
下已经容易破解了)
非对称加密
描述: 加密密钥和解密密钥是不同的, 密钥分为公钥和私钥,加密方式有两种,
公钥加密私钥解密, 私钥加密公钥解密,缺点是效率低
解决非对称加密效率低的问题:
假设A计算机与B计算机需要进行加密传输数据, 采用非对称加密, A计算机有一个
公钥, B计算机有一个私钥, 必须用私钥来解密。A往B传输很大的文件, 由于非对称
加密效率低, 所以A计算机用对称加密对这个文件进行加密获得一个密钥, 然后再将
这个密钥用开始的公钥进行加密, 这样B计算机收到后先用私钥进行解密获得这个
对称加密的密钥, 然后用这个对称加密的密钥对文件进行解密, 加快了加密的过程
非对称加密的一个应用:
数字签名:防止抵赖, 能够检查签名之后内容是否被更改(利用hash函数)
证书颁发机构作用:为企业和个人颁发数字证书,确认这些企业和个人的身份, 发布证书
吊销列表(就是失效的证书), 企业和个人信任证书颁发机构
数字签名实现:
假设由A计算机发送一封文件给B计算机, 采用数字签名来进行标识, 那么A计算机就会
对这个文件进行一个函数运算(hash), 获取到一个摘要, 这个摘要就是数字签名,一旦
这个文件中的内容发生了一点改变, 再重新进行这个函数运算的时候就会得到一个不同的
摘要, 所以这个摘要确定了唯一性, 也确定了文件的不可改变性, 所以A计算机发送给B计算
机就要发送这个文件和这个摘要, 那么为了能够使得这个摘要代表了是A计算机发送的, 就需要
A计算机有一个非对称加密的公钥和私钥, 采用私钥对这个摘要进行加密, 同时将公钥也发送
给B计算机, 所以B计算机就会同时获得一个明文的文件, 一个加密的摘要, 一个A的公钥, 由
A的私钥加密的摘要只能由A的公钥来解密, 所以一旦能解密, 就说明这个摘要是A的, 那么如何
判断这个公钥是A的呢, 就需要证书颁发机构来作为一个认证, A计算机要从颁发机构中进行申请,
颁发机构由一个其专门的公钥和私钥, 所有的计算机都要信任这个机构, 所以由这个机构加密的
文件都是可信的, 申请后颁发机构就会对A的公钥和私钥进行加密, 有了颁发机构的加密后, A的
身份就得到了确认。
B计算机收到了A计算机的明文文件, A计算机密钥加密的摘要, A计算机的公钥(证书颁发机构加密的),
首先B计算机会用证书颁发机构的公钥进行解密, 从而得到了A计算机的公钥, 此时已经能代表A计算机了,
然后用这个公钥对摘要进行解密, 从而得到一个摘要, B计算机同时对明文文件进行函数运算, 也得到一个
摘要, 将这两个摘要进行对比, 如果一样则表示文件在传输过程中没有被修改过
安全套接字SSL
http利用SSL实现https: 在进行https进行通信前, 通信双方需要先进行密钥的协商, 首先交换的数据是通过
对称加密的(效率高), 但是在将这个对称加密的密钥传送给对方时采用的是非对称加密,
如A计算机要发送数据给B计算机, 那么A计算机首先要发送一个公钥给B计算机, B计算机
会将一个对称加密的密钥用这个公钥进行加密, 然后发送到B计算机, 由于只能用私钥来
进行解密, 所以只有B计算机能够获得这个信息, 获得后进行解密从而得到了一个对称加密
的密钥, 双方协商完成, 之后A计算机就会用这个对称加密的密钥加密数据, 再把数据发送给
B计算机(如果一个网站采用了https协议, 那么其非对称密钥需要在证书颁发机构下进行确认)