我的第一本算法书--安全加密

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.数字证书

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章