密码学

您所在的位置:网站首页 置换密码有哪些 密码学

密码学

2023-12-13 05:40| 来源: 网络整理| 查看: 265

本篇文章将对几种典型的单表、多表古典密码体制进行总结,其中包括单表密码体制的Caesar体制、Playfair体制和多表密码体制的Vigenere体制、Beaufort体制以及Hill体制。并展示部分体制对应的简单例题,从而使读者更加容易理解古典密码体制是如何加减密的。

文章目录 引入一、单表古典密码体制1.Caesar体制——典型的单表加法密码体制2.标准字头密码体制——单表置换密码体制 二、多表古典密码体制1.Playfair体制2.Vigenere体制——多表加法密码3.Beaufort体制——多表加法密码4.Hill体制——广义仿射密码的特例 结束语

引入

为了方便起见,将引入英文字母表和 Z 26 Z_{26} Z26​对应关系表,以此来表示字母的符号同时也将表示字母所对应的整数。

abcdefghijklm0123456789101112nopqrstuvwxyz13141516171819202122232425 一、单表古典密码体制 1.Caesar体制——典型的单表加法密码体制

加密算法: c = m + 3   m o d   26 c=m+3 \ mod\ 26 c=m+3 mod 26解密算法: m = c − 3   m o d   26 m=c-3\ mod\ 26 m=c−3 mod 26 密钥:3 Caesar密表

abcdefghijklmdefghijklmnopnopqrstuvwxyzprstuvwxyzabc

浅显一点就是 a ( a 对应的数字就是 0 ) → 0 → c = 0 + 3 = 3 → d ( 3 对应的字母就是 d ) a(a对应的数字就是0)\to 0\to c=0+3=3 \to d(3对应的字母就是d) a(a对应的数字就是0)→0→c=0+3=3→d(3对应的字母就是d)

2.标准字头密码体制——单表置换密码体制

利用一个密钥字来构成置换作为密钥,比如密钥字选则cipher,故密表如下所示。

abcdefghijklmcipherabdfgjknopqrstuvwxyzlmnoqstuvwxyz

浅显一点就是选择一个单词作为密钥放在首部,后面的明文字母所对应的密文字母不会包括前面首部的单词中的字母。未包含在密钥字的字母就按着顺序进行对应明文字母。

二、多表古典密码体制 1.Playfair体制

Playfair体制的密钥是一个5x5的矩阵 P = ( p i j ) 5 × 5 P=(p_{ij})_{5\times5} P=(pij​)5×5​。 密钥的选择: 先根据上面的置换密码体制构造一个字母表的置换密码,此处j当作i,一共25个字母,再按行排列成一个5x5的矩阵。

加密过程: 首先: 将明文字母串以两个字母为一组进行分组,如果在成对分组中有两个相同字母紧挨着或者最后一个字母不成对的时候就会插入一个q(实际字母是自己决定的)。明文字母对 m 1 m 2 m_1m_2 m1​m2​,密文字母对 c 1 c 2 c_1c_2 c1​c2​ 加密方法: ① m 1 , m 2 m_1,m_2 m1​,m2​在密钥矩阵中为同一行,则密文 c 1 , c 2 c_1,c_2 c1​,c2​分别为紧靠 m 1 , m 2 m_1,m_2 m1​,m2​右端的字母。第一列为最后一列的右边。 ② m 1 , m 2 m_1,m_2 m1​,m2​在密钥矩阵中为同一列,则密文 c 1 , c 2 c_1,c_2 c1​,c2​分别为紧靠 m 1 , m 2 m_1,m_2 m1​,m2​下方的字母。第一行为最后一行的下方。 ③ m 1 , m 2 m_1,m_2 m1​,m2​在密钥矩阵中为既不同行也不同列,则密文 c 1 , c 2 c_1,c_2 c1​,c2​分别为由 m 1 , m 2 m_1,m_2 m1​,m2​确定的矩形上的其他两个角上的字母。其中 c 1 c_1 c1​与 m 1 m_1 m1​同行, c 2 c_2 c2​与 m 2 m_2 m2​同行。

例题: 设密钥矩阵 P = ( c i p h e r a b d f g k l m n o q s t u v w x y z )    P= \begin{pmatrix} c & i &p &h & e \\ r & a &b &d &f \\ g&k&l&m&n \\ o&q&s&t&u \\v&w&x&y&z \end {pmatrix} \ \ P= ​crgov​iakqw​pblsx​hdmty​efnuz​ ​   明文为:Playllm,请使用Playfair加密 解: 首先将明文进行分组为 Pl ay lq lm(注意,按照原来两两分组的话,ll为一组,字母相同所以插入了字母q) Pl属于同一列,所以选择两个字母下方的字母,故加密后为Bs; ay属于既不同行也不同列,故选择由ay构成的矩形的另两个角的字母,故为dw;(对应同行) lq同理上面不同行不同列,故加密为ks; lm属于同一行,故选择紧靠两个字母右端的字母mn。 故密文为:Bs dw ks mn

2.Vigenere体制——多表加法密码

c = E k ( m ) = c 1 c 2 . . . c n ,其中 c i = ( m i + k i ) m o d   26 c=E_k(m)=c_1c_2...c_n,其中c_i=(m_i+k_i)mod\ 26 c=Ek​(m)=c1​c2​...cn​,其中ci​=(mi​+ki​)mod 26 例题: 密钥为boy,试对明文University加密 解:根据字母表得boy三个字母分别对应的数字为1,14,24;且密钥长度=分组长度=3,故将明文进行分解为Uni ver sit y U → 20 → 1 + 20 = 21 → V U\to 20\to 1+20=21\to V U→20→1+20=21→V n → 13 → 14 + 13 = 27 = 1 → b n\to 13\to 14+13=27=1\to b n→13→14+13=27=1→b i → 8 → 24 + 8 = 32 = 6 → p i\to 8\to 24+8=32=6\to p i→8→24+8=32=6→p…中间过程省略…每三个为一组,每一个对应着不同的算法,以1+,14+,24+为一组 y → 24 → 1 + 24 = 25 → z y\to 24\to 1+24=25\to z y→24→1+24=25→z最终结果为:Vbg wsp twr z 注意:全程都要做模运算

3.Beaufort体制——多表加法密码

与Vigenere体制极其相似,不过就是算法上有一点点小变化。 c = E k ( m ) = c 1 c 2 . . . c n ,其中 c i = ( k i + 25 − m i ) m o d   26 c=E_k(m)=c_1c_2...c_n,其中c_i=(k_i+25-m_i)mod\ 26 c=Ek​(m)=c1​c2​...cn​,其中ci​=(ki​+25−mi​)mod 26 例题和Vigenere体制的例题极其相似,不过就是将1+m变成1+25-m。

4.Hill体制——广义仿射密码的特例

密钥是变换矩阵, Z 26 Z_{26} Z26​上的nxn阶可逆方阵 K = ( k i j ) n × n K=(k{ij})_{n\times n} K=(kij)n×n​ 加密算法: c = m K m o d   26 c=mK mod \ 26 c=mKmod 26解密算法: m = c K − 1 m o d   26 m=cK^{-1} mod \ 26 m=cK−1mod 26 逆矩阵的求解线性代数有相关的知识,如果不懂如何求解的可以去查看线性代数相关逆矩阵求解的知识。 例题:设n=2,密钥为 K = ( 11 8 3 7 )    K= \begin{pmatrix} 11 &8 \\3&7 \end {pmatrix} \ \ K=(113​87​)  根据求解逆矩阵可以得出 K − 1 = ( 7 18 23 11 )    K^{-1}= \begin{pmatrix} 7 &18 \\23&11 \end {pmatrix} \ \ K−1=(723​1811​)  设明文Hill,根据字母表对应出的数字得到明文向量(7,8)(11,11),根据解密算法得 ( 7 , 8 ) × ( 11 8 3 7 )    = ( 77 + 24 , 56 + 56 ) = ( 23 , 8 ) (7,8)\times \begin{pmatrix} 11 &8 \\3&7 \end {pmatrix} \ \ =(77+24,56+56)=(23,8) (7,8)×(113​87​)  =(77+24,56+56)=(23,8) ( 11 , 11 ) × ( 11 8 3 7 )    = ( 121 + 33 , 88 + 77 ) = ( 24 , 9 ) (11,11)\times \begin{pmatrix} 11 &8 \\3&7 \end {pmatrix} \ \ =(121+33,88+77)=(24,9) (11,11)×(113​87​)  =(121+33,88+77)=(24,9)故密文为(23,8)(24,9),转成密文字母为XIYJ。此处都要进行模运算

结束语

以上就是有关密码学的几种古典密码体制的简单总结,希望能对读者们起到一定的作用。 如果存在错误欢迎在评论区指出,可以多多交流哇,大家一起进步。 后续会再出一篇有关Hill密码体制解题的详细解题过程以及Hill密码体制下已知C和M求解密钥矩阵K的解题步骤。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3