抽象代数精解【7】

简单密码算法

置换

仿射

前面在求解同余方程唯一解时,用到了乘法逆元 a − 1 a^{-1} a1,可是 Z m 的乘法运算没有逆元 Z_m的乘法运算没有逆元 Zm的乘法运算没有逆元
因此,要引入剩余类的乘法逆元

U ( m ) U(m) U(m)关于剩余类的乘法构成群

同余方程 a x ≡ b ( m o d m ) ax≡b(mod\quad m) axb(modm)有唯一解 x ∈ Z m x∈Z_m xZm的充要条件是 g c d ( a , m ) = 1 gcd(a,m)=1 gcd(a,m)=1
定义 U ( m ) = { a ‾ ∈ Z m ∣ ( a , m ) = 1 } U ( m ) 的阶 ∣ U ( m ) ∣ = Φ ( m ) ,即:所有与 m 互素的元素个数为 Φ ( m ) 此处 Φ ( m ) 为欧拉函数,即: m = p 1 r 1 p 2 r 2 . . . p s r s p 1 、 p 2 、 . . . 、 p s 为 m 的不同素因子 , 即 : m > 1 的整数能唯一分解为素数幂乘积。 Φ ( m ) = ( p 1 r 1 − p 1 r 1 − 1 ) ( p 2 r 2 − p 2 r 2 − 1 ) . . . ( ( p s r s − p s r s − 1 ) Φ ( m ) = m ∏ i = 1 s ( a − 1 p i ) 定义U(m)=\{\overline a∈Z_m|(a,m)=1\} \\U(m)的阶|U(m)|=Φ(m),即:所有与m互素的元素个数为Φ(m) \\此处Φ(m)为欧拉函数,即: \\m=p_1^{r_1}p_2^{r_2}...p_s^{r_s} \\p_1、p_2、...、p_s为m的不同素因子,即:m>1的整数能唯一分解为素数幂乘积。 \\Φ(m)=(p_1^{r_1}-p_1^{r_1-1})(p_2^{r_2}-p_2^{r_2-1})...((p_s^{r_s}-p_s^{r_s-1}) \\Φ(m)=m\prod_{\substack i=1}^{s}(a-\dfrac 1 p_i) 定义U(m)={aZm(a,m)=1}U(m)的阶U(m)=Φ(m),即:所有与m互素的元素个数为Φ(m)此处Φ(m)为欧拉函数,即:m=p1r1p2r2...psrsp1p2...psm的不同素因子,:m>1的整数能唯一分解为素数幂乘积。Φ(m)=(p1r1p1r11)(p2r2p2r21)...((psrspsrs1)Φ(m)=mi=1s(ap1i)
现在来证明 U ( m ) U(m) U(m)关于剩余类的乘法构成群
任意 a ‾ ∈ U ( m ) ,有 ( a , m ) = 1 存在 u , v 属于 Z , 使 a u + m v = 1 ( u , m ) = 1 , 则 u ‾ ∈ U ( m ) ,且 a ‾ ⋅ u ‾ = a u ‾ = a u + m v ‾ = 1 ‾ u ‾ ⋅ a ‾ = u a ‾ = a u ‾ = 1 ‾ 至此, U ( m ) 每个元素都有逆元, U ( m ) 关于剩余类的乘法构成群 群 ( U ( m ) , ⋅ ) 称为 Z 的模 m 单位群,是交换群 特别的, p 为素数, U ( p ) 记作 Z p ∗ = { 1 ‾ , 2 ‾ , . . . , p − 1 ‾ } 任意\overline a ∈ U(m),有(a,m)=1 \\存在u,v属于Z,使 \\au+mv=1 \\(u,m)=1,则\overline u ∈U(m),且 \\ \overline a \cdot\overline u =\overline {au}=\overline{au+mv}=\overline 1 \\ \overline u \cdot \overline a = \overline {ua} = \overline {au} = \overline 1 \\至此,U(m)每个元素都有逆元,U(m)关于剩余类的乘法构成群 \\群(U(m),\cdot )称为Z的模m单位群,是交换群 \\特别的,p为素数,U(p)记作Z_p^*=\{\overline 1,\overline 2,...,\overline {p-1}\} 任意aU(m),有(a,m)=1存在u,v属于Z,使au+mv=1(u,m)=1,uU(m),且au=au=au+mv=1ua=ua=au=1至此,U(m)每个元素都有逆元,U(m)关于剩余类的乘法构成群(U(m),)称为Z的模m单位群,是交换群特别的,p为素数,U(p)记作Zp={1,2,...,p1}

原文 : " a b c " 设 " a " = 0 , " b " = 1 , " c " = 2 , . . . . . , " z " = 26 设密钥 K = ( 11 , 2 ) , a = 11 , b = 2 , g c d ( 11 , 26 ) = 1 e k ( x ) = ( 11 x + 2 ) m o d 26 d k ( y ) = a − 1 ( y − b ) m o d 26 1 、求出 a − 1 和 d k ( y ) 因为 11 ∗ 19 m o d 26 = 1 所以 a − 1 = 1 1 − 1 = 19 d k ( y ) = 19 ( y − 2 ) m o d 26 2 、计算每个字母的加密与解密 ( 1 ) " a ” e k ( 0 ) = ( 11 ∗ 0 + 2 ) m o d 26 = 2 d k ( 2 ) = 19 ( 2 − 2 ) m o d 26 = 0 = > " a " ( 2 ) " b " e k ( 1 ) = ( 11 ∗ 1 + 2 ) m o d 26 = 13 d k ( 2 ) = 19 ( 13 − 2 ) m o d 26 = 1 = > " b " ( 3 ) " c " e k ( 1 ) = ( 11 ∗ 2 + 2 ) m o d 26 = 24 d k ( 2 ) = 19 ( 24 − 2 ) m o d 26 = 2 = > " c " 加密 " a b c " = ( 2 , 13 , 24 ) = “ c n y " 原文:"abc" \\设"a"=0,"b"=1,"c"=2,.....,"z"=26 \\设密钥K=(11,2),a=11,b=2,gcd(11,26)=1 \\e_k(x)=(11x+2)\quad mod \quad 26 \\d_k(y)=a^{-1}(y-b)\quad mod \quad 26 \\1、求出a^{-1}和d_k(y) \\因为11*19 \quad mod \quad 26 =1 \\所以a^{-1}=11^{-1}=19 \\d_k(y)=19(y-2) \quad mod \quad 26 \\2、计算每个字母的加密与解密 \\(1)"a” \\e_k(0)=(11*0+2)\quad mod \quad 26=2 \\d_k(2)=19(2-2) \quad mod \quad 26=0=>"a" \\(2)"b" \\e_k(1)=(11*1+2)\quad mod \quad 26=13 \\d_k(2)=19(13-2) \quad mod \quad 26=1=>"b" \\(3)"c" \\e_k(1)=(11*2+2)\quad mod \quad 26=24 \\d_k(2)=19(24-2) \quad mod \quad 26=2=>"c" \\加密"abc"=(2,13,24)=“cny" 原文:"abc""a"=0,"b"=1,"c"=2,.....,"z"=26设密钥K=(11,2),a=11,b=2,gcd(11,26)=1ek(x)=11x+2mod26dk(y)=a1(ybmod261、求出a1dk(y)因为1119mod26=1所以a1=111=19dk(y)=19(y2)mod262、计算每个字母的加密与解密1"aek(0)=110+2mod26=2dk(2)=19(22)mod26=0=>"a"(2)"b"ek(1)=111+2mod26=13dk(2)=19(132)mod26=1=>"b"(3)"c"ek(1)=112+2mod26=24dk(2)=19(242)mod26=2=>"c"加密"abc"=(2,13,24)=cny"

参考文献

1、《近世代数》

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值