公钥密码学的基本原理
一、公钥密码学与传统密码学区别
传统密码加密方式是对称性加密,即加密和解密用同一个密钥;
公钥密码学使用非对称性加密,通过使用一对密钥---公钥和密钥实现加密和解密;
公钥密码学仅仅用于密钥管理和数字签名;
二、公钥密码学原理
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、椭圆曲线,....
————————————————----------------------------------------------------------------------------------
引用:
[1]:CSDN博主「LEELOTOUS」 https://blog.csdn.net/Gina_wj/article/details/80994730