《图解密码学》第五章之公钥密码

7 篇文章 1 订阅

《图解密码学》第五章之公钥密码

一、秘钥配送问题

在之前的对称密码中,解密和加密都用的是同一个密钥,但是对于这个密钥如何安全的告诉接收者,这是一个比较严重的问题。

image-20210909094824675

所上图所示,窃听者能够窃听到密文和密钥,自然就能够获取明文了。

二、解决密钥配送的问题

  • 通过事先共享密钥来解决

    缺点:有一定的局限性,如果参与加密通信的人比较多,则密钥数量会比较大。

  • 通过密钥分配中心来解决

    缺点:随着人数的增加,密钥中心的负荷会比较大,如果密钥分配中心发生故障,加密通信会失败。

  • 通过Diffie-Hellman密钥交换来解决(接收方和发送方交换一些信息,通过所交换的信息来生成相同的密钥)

  • 通过公钥密码来解决

三、公钥密码

在公钥密码中,密钥分为加密密钥和解密密钥。

image-20210909100630366

解密密钥是由接收者自己保管的,因此不存在密钥配送的问题。

公钥和私钥是一一对应的,一对公钥和私钥系统称为密钥对。因此公钥和私钥是不能分别单独生成的。

公钥加解密消息流程如下图所示:

image-20210909101251080

四、公钥密码存在的问题

公钥密码虽然解决了密钥配送的问题,但是我们仍然不能判断得到的公钥是否正确合法,还需要对公钥进行认证。

五、RSA

1、RSA的概念

RSA是一种公钥密码算法,是Ron Rivest、Adi Shamir、Leonard Adleman 三位开发者姓氏的首字母组成。RSA可以用于公钥密码和数字签名。

2、RSA加密

在RSA中,明文、密钥、密文都是数字。RSA的加密过程可以用如下公式来表示:

image-20210909102855231

可以看出E和N就是加密的密钥,即E和N的组合就是公钥。

3、RSA的解密

image-20210909103502920

解密所使用的的N和加密所使用的N是同一个,数D和数N结合起来就是RSA的解密密钥,即D和N的组合就是私钥。

4、RSA的加解密

image-20210909103838202

image-20210909103853203

5、生成密钥对

由于E和N是公钥,D和N是私钥,因此E、D、N这三个数就是生成密钥对,RSA密钥对的生成步骤如下:

  • 求N
  • 求L(L是仅在生成密钥对的过程中使用的数)
  • 求E
  • 求D

image-20210909104452715

image-20210909104508556

六、对RSA的攻击

1、通过暴力破解进行攻击

2、通过中间人进行攻击

所谓中间人攻击就是主动攻击者Mallory混入发送者和接收者的中间,对发送者伪装成接收者,对接收者伪装成发送者。如下图所示:

image-20210909211012576

3、选择密文攻击

七、其他的公钥密码

1、ElGamal

RSA 利用了质因数分解的困难度,而ElGamal方式则利用了modN下求离散对数的困难度。

缺点:加密的密文长度会变成明文的两倍。

2、Rabin

Rabin方式利用了mod N 下求平方根的困难度。破译Rabin方式公钥密码的困难度与质因数分解是相当的。

3、椭圆曲线密码

椭圆曲线密码(ECC)的密钥长度比RSA短。ECC是通过将椭圆曲线上的特定点进行特殊的乘法运算来实现的。

式公钥密码的困难度与质因数分解是相当的。

3、椭圆曲线密码

椭圆曲线密码(ECC)的密钥长度比RSA短。ECC是通过将椭圆曲线上的特定点进行特殊的乘法运算来实现的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值