中gcd函数_同余方程、欧拉函数、乘法逆元、定义在Zm上的矩阵求逆

上篇简单介绍了一下仿射密码:仿射密码的加密与解密 ,很多东西都没有深入去挖掘,这次上完课后对实现它的一些概念公式又有了一个更深的认识。

首先介绍几个概念:

0. 定义在Zm上的矩阵求逆

设矩阵是定义在Zm上的矩阵,

439e7cb3aaf619cd8aa73e4fb082d9d7.png
a6c187e6cc71cc84d9d4e8d6f906b68d.png

举个例子:

47efead1af280a49e987b67e87f95226.png
8cf2bddf582e62bb95bda0f9d3eb5f8d.png

这其中,9 关于模26 的乘法逆元为3.

1.模同余

模同余:给定一个正整数m,如果两个整数a和b满足a-b能够被m整除,即(a-b)/m得到一个整数,那么就称整数a与b模m同余,记作a≡b(mod m)。对模m同余是整数的一个等价关系。

例如:

3被2除 余1

5被2除 余1

3,5 被2除有相同的余数

所以 3 同余 5 模 1 ,记做:3 ≡ 5 (mod 1)

43703677cf214c02ce0b1c7db429e382.png

其中定义群Zm = {0, 1, 2, ..., m-1}

证明:

必要性:

若a和b除以m留下相同的余数r,

a=q1m+r , b=q2m+r ,q1和q2为某两个整数

所以a-b=(q1m+r)-(q2m-r)=m(q1-q2)

根据整除定义:(a-b)/m = (q1-q2),整数相减还是整数,由同余式定义得出结论:a≡b(mod m)

充分性:

假定(其中r1和r1小于m,q1和q2为整数)

a = q1*m+r1 , b = q2*m+r2

则: a-b = (q1-q2)*m + (r1-r2)

因为,则r1-r2=0,即r1=r2

2.一次同余方程唯一解定理

设 a ∈ Zm ,对任意的 b ∈ Zm,同余方程 **ax ≡ b (mod m)** 有唯一解 x ∈ Zm 的充分必要条件是:

gcd(a, m) = 1 (表示a和m的最大公约数等于1)

证明如下:

a35e8ebcce70ac43a99a4b430e029cdb.png
4807c31c6054ba02813f041bca6dfa5a.png

3.欧拉函数和欧拉定理

设a ≥ 1,m ≥ 2, 如果gcd(a, m) = 1,则称a与m **互素**,Zm中所有与m互素元素的个数用φ(m)来表示(函数φ称为欧拉函数)

例如φ(10) = 4,因为1,3,7,9均和10互质。

计算方法:

1.先化为标准分解式形式:

b9f4a88d31b7dbde755f48806c523932.png
d755839c75d69eb5402b44654b7c5d53.png

example

2.再依照下式规则计算

14df918479bd804a2c3d5917b0518dfe.png
d42b2ed1cee0e36f8d09142505f009f1.png

这其中 {1,5,7,11,13,17,19,23,25,29,31,35} 与36 互质,共计12 个

4.乘法逆元

47f9943f36fc9fd990bfabefd845c862.png

乘法逆元求解:

1.遍历,参考上一篇 仿射密码的加密与解密

2.拓展欧几里得:

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值