密码学之欧几里得求逆元

什么是逆元

逆元:官方解释是:逆元素是指一个可以取消另一给定元素运算的元素,在数学里,逆元素广义化了加法中的加法逆元和乘法中的倒数;听起来有一丝不太容易懂;


那我们换成例子试一下:
(24 + 4) / mod 26 = 2
(24 - 22) / mod 26 = 2
此时,4和22就是mod26下的加法逆元;乘法逆元也是同理


原理步骤

求A关于模N的逆元B,即求整数B,使得A * B mod N = 1

  1. 对余数进行辗转相除(a是商,r是余数)
    在这里插入图片描述

  2. 对除了余数为0的商数进行逆向排列(即后求出的商值排在前面),并按照下面的方法生成bi
    在这里插入图片描述

对a逆向排列后如图所示:(图源网络)
图源网络
3. 判断商的个数为奇数还是偶数

  • 若为偶数,则 bn 就是所求的逆元
  • 若为奇数,则 N-bn 就是所求的逆元

示例

**

题目:求7关于模26的的逆元

**
由题目可知,N = 26,A = 7;按照上面的步骤我们依次求解

(1)对余数进行辗转相除

26 = 7 * a0 + r0	   =>		 a0 = 3,r0 = 5
7 = 5 * a1 + r1	  	   =>		 a1 = 1,r1 = 2
5 = 2 * a2 + r2 	   =>		 a2 = 2,r2 = 1
2 = 1 * a3 + r3 	   =>		 a3 = 2,r3 = 0

(2)对除了余数为0的商逆向排列

			a2 = 2 						 a1 = 1 					 a0 = 3


b-1 = 1		b0=a2=2 				 b1=a1*b0+b-1=3				 b2=a0*b1+b0=11

(3)判断a的个数是奇数还是偶数
a0、a1、a2总共三个,为奇数;因此所求的逆元为 N - bn ,即 26 - 11 = 15

(4)得出结论:7关于模26的逆元为15

  • 13
    点赞
  • 54
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值