1. 互联网传输时发生的四个主要问题
a. 窃听
A向B发送消息,有可能被X监听到;
b. 假冒
A向B发送消息,然而B有可能是X冒充的,反之,B向A发送消息,也有可能是X冒充的;
c. 篡改
A向B发送消息,B收到的消息有可能是被X篡改过的;
d.时候否认
A向B发送消息,但A对B有恶意,A否认发送了消息给B;
为了解决第一个问题会使用加密技术,第二个、第三个问题会使用消息验证码MAC或数字签名,第四个问题会使用数字签名,
然而数字签名技术存在“无法确认公开密钥的制作者”,要想解决这个问题就要引入“数字证书CA”。
2. 哈希函数
哈希函数可以把给定的数据转化成固定长度的无规律数值,哈希函数具备不可逆转的计算,所以其数值摘要可以应用于各种各样的场景。
3. 密钥
密钥有两种:分别为“共享密钥加密”---对称密钥,“公开密钥加密”---非对称密钥;
a. 共享密钥加密是加密和解密使用相同密钥的一种方式,由于加、解密密钥相同,所以这种算法也叫做“对称加密”;
b. 公开密钥加密是加密和解密使用不同密钥的一种方式,加密用的密钥叫做“公开密钥”,解密用的密钥叫做“私有密钥”,公开密钥是不怕别人知道的,所以公开密钥会发布到网上供对方用于数据的加密使用,而私有密钥是保密的,是不被其他人知道。
4. 公开密钥可靠性问题
a. 假设A生成公开密钥PA、私有密钥SA,B生成公开密钥PB、私有密钥SB,坏人X也生成公开密钥PX、私有密钥SX,A要向B传送数据,首先A要获得B的公开密钥PB,假设在获取的过程中被X监听到了,X将自己的公开密钥PX代替了B的公开密钥PB(同样也可以替换A发送给B的公开密钥),所以A发送的加密数据能够被X通过密钥SX解密,因为X能够获取到B的公开密钥,所以X可以将A发过来的数据解密之后发送给B,B收到信息通过SB私有密钥解密,然后将数据通过X的公开密钥PX进行加密返回给A,由于公开密钥使用的是X的,所以数据只能被X通过PX私有密钥进行解密,X将解密收的数据通过A的公开密钥PA加密在发送给A...A和B的整个过程都被X监听到了,这就带来了传输的不可靠性!因为A不知道加密消息是B传来的,或者B不知道加密消息是A传来的,为了解决这个问题就要用到“数字证书”。
5. 混合加密
共享密钥加密存在无法安全传输,而公开密钥有存在加密速度比较慢的问题,综合这两种情况而引入了“混合加密”技术;混合加密的原理是,数据加密采用较快的共享密钥加密,不过加密使用的密钥则需要使用没有密钥分配为的公开密钥。
6. 迪菲-郝尔蛮密钥交换
时间问题,先省略。。。
7. 消息认证码
消息认证码可以实现“认证”和“篡改”这两个功能,。。。。
8.数字签名
9.数字证书