非对称密码体制(公钥密码体制)中RSA算法的加密过程

本文详细介绍了RSA加密算法的工作原理,这是一种基于非对称加密的算法,利用大素数相乘的困难性确保安全性。算法涉及欧拉定理和模指数运算,其中公钥包含两个大素数的乘积N和一个与欧拉函数互素的小整数e,而明文通过模指数运算转化为密文。加密过程中,明文首先转换为小于N的非负整数,再进行计算。模指数运算通常采用二进制算法来高效实现。
摘要由CSDN通过智能技术生成

之前介绍了MOD运算,这篇文章主要是针对非对称密码体制中常用的一种算法——RSA算法的加密过程进行分析。

RSA加密算法是一种非对称加密算法,它也是一种分组加密算法,它是基于数论中的欧拉定理实现的,采用的单向函数是大素数相乘,相乘容易但是因数分解很困难。RSA算法的安全性由“大素数乘积的因数分解”困难来保障。RSA使用两个密钥,一个公共密钥,一个专用密钥。如果用其中一个加密,则可用另一个解密,密钥长度从40到2048bit可变,加密时把明文分成块,块的大小可变,但不能超过密钥的长度,RSA算法把每一块明文转化为与密钥长度相同的密文块。

首先,先介绍一个数论中的一个基本概念“同余式”:
  设p是给定的一个正整数,a、b是整数,a和b被p除时有相同的余数,则称a与b对模p同余,a≡b(mod p),或记为a≡b( p ),这个式子称为模p的同余式。
除了百度百科-同余式介绍的等价含义,我们可以将同余式的等价含义归纳为以下几点:

  • a=kp+b, k属于整数。
  • amodp=bmodp
  • (a-b)modp=0
  • a-b能被p整除,即p|(a-b)

这个的证明方法就是将a=pk1+r(k1为a被p除的商,r为余数),b=pk2+r(k2为b被p除的商,r为余数),两式相减,可得a-b=p(k1-k2)。
同余式的等价含义


说完同余式的概念,就说一下RSA加密算法的密文是如何计算的。
加密算法
其中N是两个大素数的乘积,e是与欧拉函数 互素的小整数(最大公约数为1),明文是消息m转换为一个小于N的非负整数n,(e,N)为公钥,密文c的计算是模指数运算的问题,通常的模指数运算方法是二进制算法(就是将e转换为二进制数,此时 转换为多个指数式的乘积,最后依据取余运算性质或者同余运算的性质就可以得到密文)。

加密算法的密文求解,本身就是模指数运算,求解的示例如下:
(模指数运算常用的方法就是二进制算法,参考模指数运算
RSA加密算法的例子

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值