公钥算法是基于数学函数而不是基于替换和置换
公钥密码是非对称的
公钥密码仅用于**管理和签名
关于公钥密码的误解:
- 从密码分析的角度看,公钥密码比传统密码更安全
- 公钥密码是一种通用的方法,所以传统密码已经过时
- 用公钥密码实现**分配更简单
一、公钥密码体制的基本原理
公钥密码学的概念是为了解决传统密码中两个问题提出来的:**分配和数字签名
公钥密码体制的6个组成部分:明文、加密算法、公钥、私钥、密文、解密算法
公钥密码体制的应用:
- 加密、解密:发送方用接收方的公钥对消息加密、用接收方的私钥解密
- 数字签名:发送方用自己的私钥对消息进行签名,用发送方的公钥验证签名
-
**交换:通信双方交换会话**
对公钥密码的要求:
公钥密码分析:
- 公钥密码也易受穷举攻击,解决方法是使用长**
为了抵抗穷举攻击,**必须足够长,为了方便加解密,**又必须足够短。 - 另一种攻击:找出一种从给定的公钥计算出私钥的方法。目前还没有在数学上证明对一特定公钥算法这种攻击不可行
- 公钥体制特有的攻击:本质上是穷举消息攻击,解决方法:在要发送的消息后附加上一个随机数
二、RSA算法
自诞生之日起就成为被广泛接受且被实现的通用公钥加密算法
RSA体制是一种分组密码,其明文和密文均是0至某n-1之间的整数,通常n的大小为1024位二进制数或309位十进制数。