网络信息安全:对称和非对称体制

对称和非对称加密体制

对称密码体制的问题

加密能力与解密能力是捆绑在一起的
密钥更换、传递和交换需要可靠信道,密钥分发困难
密钥管理困难
无法满足不认识的人之间通信的保密要求
不能实现数字签名

非对称密码体制

加密能力和解密能力是分开的
密钥分发简单
需要保存的密钥两大大减少
可满足不认识的人之间保密通信
可以实现数字签名

公开密钥密码体制

仅根据密码算法和加密密钥来确定解密密钥在计算上是不可行的
两个密钥的任何一个都可用来加密,另一个用来解密

公钥密码体制的组成

明文:算法的输入,可读信息或数据
加密算法:对明文进行各种转换
公钥和私钥:算法的输入,分别用于加密和解密
密文:算法的输出,依赖于明文和密钥
解密算法:根据密文和密钥,还原明文

公钥密码体制的应用

加密/解密:发送方用接收方的公钥对消息加密
数字签名:发送方用其私钥对消息签名,可以对整体消息签名或对消息的摘要签名
密钥交换:通信双方交换会话密钥

RSA算法

基于大合数的质因子分解问题的困难性

select p , q
calculate n = p q
calculate ϕ ( n ) = ( p 1 ) ( q 1 )
select integer e , g c d ( ϕ ( n ) , e ) = 1 ; 1 < e < ϕ ( n )
calculate d , d = e -1 m o d ϕ ( n )
public key, K U = { e , n }
private key, K R = { d , n }
加密
for plaintext: M < n , ciphertext: C = M e ( m o d n )
解密
for ciphertext: C
plaintext: M = C d ( m o d n )

针对RSA的计时攻击

类似通过观察他人转动保险柜拨号盘的时间长短来猜测密码

可能的解决方法

不变的幂运行时间,可能会降低性能
在求幂运算中加入随机延时
隐蔽:在执行幂运算之前先将密文乘上一个随机数

猜你喜欢

转载自blog.csdn.net/lrwwll/article/details/81292490