Matlab实现求解乘法逆元实验

本文介绍了如何使用Matlab实现乘法逆元的计算,基于扩展欧几里得算法,以及该算法在现代密码学,如RSA加密中的重要性。通过实例演示了如何确定整数a模m的乘法逆元,以及实验步骤和实际应用背景。

一.实验目的

熟悉求解乘法逆元的算法。在此基础上,选择一种算法,通过运用高级程序设计语言,设计并实现一个计算乘法逆元运算器。

二.实验原理

【定义】对于整数a,m,如果存在整数b,满足ab mod m =1,则称b为a模m的乘法逆元,记为a-1

【定理】a存在模m的乘法逆元的充要条件是a和m的最大公约数为1,记为gcd(a,m)=1

由定理可知,当a与m互素时,a模m的乘法逆元有唯一解。如果a与m不互素,则a模m 的乘法逆元a不存在。显然,如果a为素数,则1~a-1的任意整数都与a互素,即1~a-1的任意整数都有模m的乘法逆元存在。

扩展欧几里得(Extended Euclid)算法是求解乘法逆元的常用方法。欧几里得(Euclid)算法用于计算两个整数的最大公约数,其原理是反复利用带余除法,直至余数为0时为止。两个整数的最大公约数可以用这两个整数的整系数线性组合的方式表示,扩展欧几里得算法就是计算整数线性组合当中的系数,即计算gcd (a, m)- sNa+lNm中的整数sN

lN。扩展欧几里得算法除了可用于求解两个整数的最大公约数外,还可以用于求解乘法逆元a-1。

三.实验步骤

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值