1. 简单百科
  2. 公开密钥加密

公开密钥加密

使用加密和两把密钥的安全方法,一个是公开密钥,另一个是私人密钥。

简介

公开密钥加密也称为非对称密钥加密,该加密算法使用两个不同的密钥:加密密钥和解密密钥。前者公开,又称公开密钥,简称公钥。后者保密,又称私有密钥,简称私钥。这两个密钥是数学相关的,用某用户加密密钥加密后所得的信息只能用该用户的解密密钥才能解密。RSA算法(由发明者Rivest,Shmir和Adleman姓氏首字母缩写而来)是著名的公开密钥加密算法。

公钥加密的另一用途是身份验证:用私钥加密的信息,可以用公钥拷贝对其解密,接收者由此可知这条信息确实来自于拥有私钥的某人。

公钥的形式就是数字证书。

公开密钥加密与对称密钥加密的区别

在对称密钥加密中,对一个信息的加密密码和解密密码都是相同的,所以发送者需要发送一条信息之前,必须先发送密钥给接收者,这样接收者才能解密这条信息。

对称密钥加密的过程是:

假设两个用户A,B进行通信,A先发送信息给B,然后B发送信息给A

1. A先用密钥k1加密一条信息,使之变成密文c1;

2. A把密钥k1发送给B;(此时如果密钥被截获,截获方就可以解密并读取密文)

3. A把密文c1发送给B;

4. B用密钥k1解密,并读取解密后的信息

5. B用密钥k2加密一条信息,使之变成密文c2;

6. B把密钥k2发送给A;

7. B把密文c2发送给A;

8. A用密钥k2解密,并读取解密后的信息

公开密钥加密的过程是:

假设两个用户A,B进行通信,A先发送信息给B,然后B发送信息给A

1. B先产生一对密钥k1a和k1b,前者用来加密,后者用来解密

2. B把密钥k1a发送给A;(因为k1a只能用来加密,截获方无法通过它来解密并读取密文)

3. A用密钥k1a加密一条信息,使之变成密文c1;

4. A把密文c1发送给B;

5. B用密钥k1b解密,并读取解密后的信息;

6. A产生一对密钥k2a和k2b,前者用来加密,后者用来解密

7. A把密钥k2a发送给B;

8. B用密钥k2a加密一条信息,使之变成密文c2;

9. B把密文c2发送给A;

10. A用密钥k2b解密,并读取解密后的信息;

优点

与对称密钥加密相比,优点在于无需共享的通用密钥,解密的私钥不发往任何用户。即使公钥在网上被截获,如果没有与其匹配的私钥,也无法解密,所截获的公钥是没有任何用处的。

过程

Asymmetric encryption system

假设两个用户A,B进行通信,公钥为c,私钥为d,明文为x.

1:A用公钥对明文进行加密形成密文c(x),然后传输密文;

2:B收到密文,用私钥对密文进行解密d(c(x)),得到要通信的明文x。

参考资料


Warning: Invalid argument supplied for foreach() in /www/wwwroot/newbaike.com/id.php on line 280