一、公钥密码学与传统密码学区别

  传统密码加密方式是对称性加密,即加密和解密用同一个密钥;

  公钥密码学使用非对称性加密,通过使用一对密钥---公钥和密钥实现加密和解密;

  公钥密码学仅仅用于密钥管理和数字签名;

二、公钥密码学原理

2.1、组成:

  明文:算法的输入。原始的消息或数据。

  加密算法:对明文进行各种转换。

  公钥和私钥:算法的输入。这对密钥中一个用于加密,一个用于解密。

     加密算法执行的变换依赖于公钥或者私钥。

     私钥仅有密钥创建方有,公钥则是共有的。

  密文:算法的输出,依赖于明文和密钥,对给定的消息,不同密钥产生的密文不同。

  解密算法:接收密文和相应的密钥,并产生原始的明文[1]

2.3、公钥加密的一般化模型

  使用加密的密钥不同,实现的加密认证的功能;

  加密:消息发送方使用接收方的公钥用来加密,实现保密性;

  认证:发送方私钥用来加密,实现认证性; 

2.3.1、加密方式

  用户 A 创建一对公钥 Pa 和私钥 Va,用户 B 发送消息给用户 A 的过程阐述

  用户B 要发送消息给用户 A,就将发送的明文信息通过 A 的公钥 Pa 进行加密,再发送给A;

  A 接收到消息,通过使用 私钥 Va 对消息进行解密,后查看解密后的信息;

2.3.2、认证方式

  用户 A 创建一对公钥 Pa 和私钥 Va,随后将消息发送给 用户 B;

  A 创建 明文消息 X,并通过 私钥 Va 加密,获得了 Y = E(X, Va),随后发送给 B。

  B 获得 Y, 通过 A 的公钥 Pa 解密,通过 X = D(Y, Pa)实现认证,确保是用户 A 发送给的信息。

2.3.3、同时使用认证和加密

  发送方首先用其私钥对消息加密,得到数字签名,

  然后在用接收方的公钥加密,所得到的密文只能被拥有相应私钥的接收方解密,

  这样既可以保证消息的保密性,也能提供认证功能。

  但是这种方法的缺点在于:在每次通信中要执行4次复杂的公钥算法。

三、公钥密码算法

  RSA、椭圆曲线,....