公钥密码体制的原理:
公钥密码学的概念是为解决对称密码中最困难的两个问题提出的。一个是密钥分发问题,一个是数字签名问题。
公钥密码体制的组成部分:
明文:算法的输入。它们是可读信息或数据。
加密算法:对明文进行各种转换。
公钥和私钥:算法的输入。在这对密钥中,一个用于加密,另一个用于解密。加密算法执行的变换依赖于公钥或私钥。
密文:算法的输出。它依赖于明文和密钥,对于给定的消息,不同的密钥生成不同的密文。
解密算法:该算法接收密文和相应的密钥,并且生成原始明文。
主要步骤:
每个用户生成一对密钥,用来加密和解密消息。
每个用户将其中的一个密钥存储在公开寄存器或其他可访问的文件中,该密钥称为公钥,另一个密钥是私有的。每个用户都可拥有若干其他用户的公钥。
若Bob要发送消息给Alice,则Bob用Alice的公钥对消息加密。
Alice收到消息后,用其私钥解密消息。由于只有Alice知道自身的私钥,所以其他接收者均不能解密消息。
公钥密码体制的应用:
加密/解密:发送方用接收方的公钥对消息加密
数字签名:发送方用自己的私钥对消息签名。签名可以通过对整条消息加密或对消息的小数据块加密来生成,其中的小数据块是整条消息的函数。
密钥交换:通信双方交换会话密钥。密钥交换有几种不同的方法,这些方法都使用通信一方或双方的私钥。
有些算法适用于上述三种应用,而其他一些算法只使用于其中的有一种或两种应用。
算法 | 加密/解密 | 数字签名 | 密钥交换 |
RSA | 是 | 是 | 是 |
椭圆曲线 | 是 | 是 | 是 |
Diffie-Hellman | 否 | 否 | 是 |
DSS | 否 | 是 | 否 |