抽象代数精解【6】

文章目录

简单密码算法

模运算数学定义

模m剩余类集 Z m Z_m Zm

设∀a,b∈Z(整数),m为正整数
m|b-a ,称a R b

R满足反身性、对称性、传递性

1、R为同余关系,也是Z的一个等价关系。

2、记为a≡b(mod m),即: a同余于b,模m。

3、[a]为整数集Z的一个模m剩余类

(1) [a]可记为 a ‾ \overline {a} a

(2) 对应的商集为Z的模m剩余类集,记作 Z m Z_m Zm


  • 1、 Z m Z_m Zm 上定义加法和乘法,都具有运算封闭性、符合交换律和结合律。
    2、加法有逆元和单位元,乘法只有单位元。
    3、加法逆元是 m − a ‾ \overline{m-a} m−a,单位元是 0 ‾ \overline{0} 0 ,加法构成群。
    4、乘法单位元是 1 ‾ \overline{1} 1,乘法无逆元,因此就乘法运算只能是半群,乘法构成半群。
    5、乘法与加法存在分配律
    ( a + b ) c = ( a c ) + ( b c ) (a+b)c=(ac)+(bc) (a+b)c=(ac)+(bc)
    c ( a + b ) = ( c a ) + ( c b ) c(a+b)=(ca)+(cb) c(a+b)=(ca)+(cb)
    因此构成了环。

置换

移位

  • 定义移位映射
    e k ( x ) = ( x + k ) m o d 26 d k ( y ) = ( y − k ) m o d 26 e k 、 d k 互为逆映射, e k 为加密, d k 为解密。 注意,这里的 e k 、 d k 映射为单射。 e_k(x)=(x+k) \quad mod \quad 26\\ d_k(y)=(y-k) \quad mod \quad 26\\ e_k、d_k互为逆映射,e_k为加密,d_k为解密。 \\注意,这里的e_k、d_k映射为单射。 ek(x)=(x+k)mod26dk(y)=(y−k)mod26ek、dk互为逆映射,ek为加密,dk为解密。注意,这里的ek、dk映射为单射。
    设k=3,x为D,则加密结果为G,y为G,解密结果为D。
  • 实质上移位也是一种置换。

设X为一个集合,含有n个元素,每个元素对应原文的一个字母(或一个字节),如果是字母则有26个,如果是字节则有256( 2 8 2^8 28)个。
定义 S n = { φ ∣ φ 是 X 上的双射 } 称 s n 中的元素为 n 元置换。 令集合 X = { 1 , 2 , 3 , . . . , n } ,任意置换 φ ∈ S n ,可表示为如下形式 φ = ( 1 2 . . . n φ ( 1 ) φ ( 2 ) . . . φ ( n ) ) 此处也可设 X = { 0 , 1 , 2 , 3 , . . . , n − 1 } φ = ( 0 1 . . . n − 1 φ ( 0 ) φ ( 1 ) . . . φ ( n − 1 ) ) 定义S_n=\{φ|φ是X上的双射\}\\ 称s_n中的元素为n元置换。\\ 令集合 X=\{1,2,3,...,n\} ,任意置换φ∈S_n,可表示为如下形式\\ φ=\begin{pmatrix} 1 & 2 &...&n\\ φ(1) & φ(2)&...&φ(n) \end{pmatrix} \\此处也可设 X=\{0,1,2,3,...,n-1\} \\ φ=\begin{pmatrix} 0 & 1 &...&n-1\\ φ(0) & φ(1)&...&φ(n-1) \end{pmatrix} 定义Sn={φ∣φ是X上的双射}称sn中的元素为n元置换。令集合X={1,2,3,...,n},任意置换φ∈Sn,可表示为如下形式φ=(1φ(1)2φ(2)......nφ(n))此处也可设X={0,1,2,3,...,n−1}φ=(0φ(0)1φ(1)......n−1φ(n−1))

这里的 φ φ φ就是 e k e_k ek也可以是 d k d_k dk。

移位规定的 φ φ φ就是置换
φ ( x ) = ( x + k ) m o d n k 是秘钥 φ(x)=(x+k) \quad mod \quad n \\ k是秘钥 φ(x)=(x+k)modnk是秘钥

看一个置换
φ = ( 0 1 . . . n − 1 φ ( 0 ) φ ( 1 ) . . . φ ( n − 1 ) ) 定义 s 5 中的 φ ( x ) = ( x + k ) m o d 5 , k = 3 , n = 5 φ = ( 0 1 2 3 4 3 4 0 1 2 ) 置换 φ 为长度为 5 的轮换 φ=\begin{pmatrix} 0 & 1 &...&n-1\\ φ(0) & φ(1)&...&φ(n-1) \end{pmatrix} \\定义s_5中的φ(x)=(x+k) \quad mod \quad 5 ,k=3,n=5 \\ φ=\begin{pmatrix} 0&1 & 2 &3&4\\ 3&4 & 0&1&2 \end{pmatrix} \\置换φ为长度为5的轮换 φ=(0φ(0)1φ(1)......n−1φ(n−1))定义s5中的φ(x)=(x+k)mod5,k=3,n=5φ=(0314203142)置换φ为长度为5的轮换

任意置换 φ ∈ S 26 φ∈S_{26} φ∈S26,对于26个字母来说,即定义了移位运算(移位映射φ)

代换

当然如果在这里指定置换φ函数中每个自变量对应的函数值 ,即:分段常数函数,就是代换。

26个字母共有 26 ! 26! 26!种置换,一个字节共有 256 ! 256! 256!种置换。

每种置换构成一个密码表(每个原文以及对应的密文组成)

仿射

φ ( x ) = ( a x + b ) m o d n n 为 26 或 256 φ(x)=(ax+b) \quad mod \quad n \\ \\n为26或256 φ(x)=(ax+b)modnn为26或256

1、加密映射定义如下:
n 为 26 或 256 , 映射为单射 e ( x ) = ( a x + b ) m o d n n为26或256,映射为单射 \\ e(x)=( ax+b)\quad mod \quad n n为26或256,映射为单射e(x)=(ax+b)modn

因为同余方程 a x ≡ b ( m o d m ) 有唯一解的充要条件是 g c d ( a , m ) = 1 ax≡b(mod \quad m)有唯一解的充要条件是gcd(a,m)=1 ax≡b(modm)有唯一解的充要条件是gcd(a,m)=1

所以规定 g c d ( a , n ) = 1 ,即 a 与 n 互素 gcd(a,n)=1,即a与n互素 gcd(a,n)=1,即a与n互素

2、解密映射定义如下:
同余方程 y ≡ a x + b ( m o d n ) a x ≡ y − b ( m o d n ) a − 1 ( a x ) ≡ a − 1 ( y − b ) ( m o d n ) d ( y ) = a − 1 ( y − b ) m o d n n 为 26 或 256 , 映射为单射 同余方程y≡ax+b (mod \quad n) \\ax≡y-b (mod \quad n) \\a^{-1}(ax)≡a^{-1}(y-b) (mod \quad n) \\d(y)=a^{-1}(y-b) \quad mod \quad n \\n为26或256,映射为单射 同余方程y≡ax+b(modn)ax≡y−b(modn)a−1(ax)≡a−1(y−b)(modn)d(y)=a−1(y−b)modnn为26或256,映射为单射

3、密钥为 ( a , b ) a , b ∈ Z n (a,b) \quad a,b∈Z_n (a,b)a,b∈Zn

参考文献

1、《密码学原理与实践(第三版)》

2、《抽象代数》

相关推荐
hxl2681 天前
复变函数论重大错误:将无穷多各异平面误为同一面
抽象代数
liangbm39 天前
数学建模笔记——TOPSIS[优劣解距离]法
笔记·python·算法·数学建模·matlab·课程设计·抽象代数
白垩纪的幽灵9 天前
【抽代复习笔记】27-群(二十一):子群与生成子群
笔记·学习·抽象代数
hxl26820 天前
直线公理使初等数学一直将各异直线误为同一线 ——数集相等定义凸显初数一直将各异假R误为R
抽象代数
魔力之心1 个月前
抽象代数精解【12】
抽象代数
魔力之心1 个月前
抽象代数精解【7】
算法·抽象代数
魔力之心1 个月前
抽象代数精解【9】
抽象代数
魔力之心1 个月前
抽象代数精解【8】
抽象代数
一只特立独行的猫1 个月前
数论第四节:二元一次不定方程、勾股数
抽象代数