密码学-公钥密码算法(五)

公钥密码算法

公钥密码实现认证与保密

  • 保密性
    在这里插入图片描述

  • 认证
    在这里插入图片描述

    • 认证算法
      • 加密整条消息
      • 加密部分消息(消息摘要)
    • 认证不能够保证消息的机密性
      • 所有有Bob公钥的人都可以查看消息
  • 认证+保密
    在这里插入图片描述

对称密码和公钥密码的区别

在这里插入图片描述

RSA算法描述

  • RSA算法中的元素

    • 两个素数,p、q,保密
    • n = qp,公开
    • e , g c d ( ϕ ( n ) , e ) = 1 e, gcd(\phi(n),e)=1 e,gcd(ϕ(n),e)=1,公开
    • d , d ≡ e − 1 m o d   ϕ ( n ) d, d\equiv e^{-1} mod \space \phi(n) d,de1mod ϕ(n),保密
  • 密钥产生

    • 选择pq,pq都是素数且不相等
    • 计算n=p*q
    • 计算 ϕ ( n ) = ( q − 1 ) ∗ ( p − 1 ) \phi(n)=(q-1)*(p-1) ϕ(n)=(q1)(p1)
    • 选择e,满足 g c d ( ϕ ( n ) , e ) = 1 ; 1 < e < ϕ ( n ) gcd(\phi (n),e) = 1;1<e<\phi(n) gcd(ϕ(n),e)=1;1<e<ϕ(n),e一般为65537
    • 计算d,满足 d ≡ e − 1 m o d   ϕ ( n ) d \equiv e^{-1} mod \space\phi(n) de1mod ϕ(n) 等价于 e d ≡ 1   m o d   ϕ ( n ) ed \equiv 1\space mod \space \phi(n) ed1 mod ϕ(n),扩展欧几里得算法解
    • 得到公钥 {e,n}
    • 得到私钥 {d,n}
  • 加解密

    在这里插入图片描述

  • RSA的安全性

    • 强力攻击(穷举法):尝试所有可能的私有密钥
    • 数学分析攻击:等价于分解两个素数的乘积
    • 计时攻击,记录计算机解密消息用的时间
    • 选择密文攻击,利用RSA算法的性质

几个问题

  • 公钥密码与对称密码的区别

    • 公钥密码基于数学难题
    • 对称密码基于扩散和混淆
    • 对称密码只有一个密钥,公钥密码有两个独立的密钥
  • 公钥密码比对称密钥安全吗?

    • 加密算法的安全性依赖于密钥长度和破解密文需要的计算量,并不能说公钥密码比对称密码安全
  • 公钥密码能够取代对称密码吗?

    • 公钥密码和对称密码各有各的应用场景
    • 公钥密码加密所需的计算量大,但能够胜任密钥管理,以及签名这类应用
    • 对称密码加密速度快,计算量小,能够在普通的通信对话中使用
  • 公钥密码实现密钥分配比对称密码容易吗?

    • 公钥密码实现密钥分配也需要协议,通常包含中心代理,不比对称密钥容易
  • 对称密钥的两个难题

    • 数字签名问题
    • 密钥分配问题
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值