现代密码学:原理与协议_简述密码学发展的三个阶段「建议收藏」

现代密码学:原理与协议_简述密码学发展的三个阶段「建议收藏」置换密码/huanweim置换密码(PermutationCipher)又叫换位密码(Transposi-tionCipher),它根据一定的规则重新排列明文,以便打破明文的结构特性

目录

置换密码/换位密码

列置换

周期置换

代换密码

单表代换密码

多表代换密码

参考


置换密码/换位密码

        置换密码(Permutation Cipher)又叫换位密码(Transposi-tionCipher),它根据一定的规则重新排列明文,以便打破明文的结构特性。置换密码的特点是保持明文的所有字符不变,只是利用置换打乱了明文字符的位置和次序
    最常见的置换密码有两种:

  • 列置换密码(明文P遵照密钥的规程按列换位并且按列读出序列得到密文C);
  • 周期置换密码(将明文P按固定长度m分组,然后对每组按1,2…,m的某个置换重排位置从而得到密文C)。

列置换

加密过程

  1. 将明文P以设定的固定分组宽度m按行写出,即每行有m个字符。若明文长度不是m的整数倍,则不足部分用双方约定的方式填充,如双方约定用空格代替空缺处字符,不妨设最后得字符矩阵[M]_{m*n}
  2. 按1,2…,m的某一置换\sigma交换列的位置次序得字符矩阵[M_P]_{m*n}
  3. 把矩阵[M_P]_{m*n}1,2…,n的顺序依次读出得密文序列C。

举例

2022年北京冬季奥运会,英文为”The XXIV Olympic Winter Games“,假定m为5,发送时没有空格,\sigma=(143)(25)

[M]_{5*5}=\begin{bmatrix} T& h & e & X &X \\ I& V & O & l & y\\ m& p &i & c & W\\ i& n & t & e & r\\ G&a&m&e&s \end{bmatrix}\stackrel{\sigma }\Rightarrow [M_P]_{5*5}=\begin{bmatrix} e& X & X & T &h \\ O& y & l & I & V\\ i& W &c & m & p\\ t& r & e & i & n\\ m&s&e&G&a \end{bmatrix}

1列内容换到4,4列内容换到3,3列内容换到1,2、5列互换。

明文:TheXXIVOlympicWinterGames

密文:eOitmXyWrsXlceeTImiGhVpna

加密密钥:\sigma=(143)(25)

解密过程

  1.   将密文C按与加密过程相同的分组宽度m按列写得到字符矩阵[M_P]_{m*n}
  2.   按加密过程用的置换\sigma的逆置换\sigma^{-1}交换列的位置次序得字符矩阵[M]_{m*n}
  3.   把矩阵[M]_{m*n}按1,2,…,m的顺序依次读出得明文P。

[M_P]_{5*5}=\begin{bmatrix} e& X & X & T &h \\ O& y & l & I & V\\ i& W &c & m & p\\ t& r & e & i & n\\ m&s&e&G&a \end{bmatrix}\stackrel{\sigma^{-1} }\Rightarrow [M]_{5*5}=\begin{bmatrix} T& h & e & X &X \\ I& V & O & l & y\\ m& p &i & c & W\\ i& n & t & e & r\\ G&a&m&e&s \end{bmatrix}
 解密密钥:\sigma^{-1}=(134)(25)

周期置换

        周期置换密码是将明文串P按固定长度m进行分组,然后对每组中的子串按1,2…,m的某个置换重排位置从而得到密文C。其中密钥\sigma包含分组长度信息。解密时同样对密文C按长度m分组,并按口的逆置换\sigma^{-1}把每组子串重新排列位置从而得到明文P。

举例

加密“State Key Laboratory of Networking and Switching”,不含空格,m为6。加密密钥\sigma=(15623)

明文分7组,每组6个:
    (StateK)(eyLabo)(ratory)(ofNetw)(orking)(andSwi)(tching)

加密变换:
    (akttSe)(Loyaeb)(tyaorr)(Nwfeot)(kgrion)(dinSaw)(hgcitn)

最终密文:
    akttSeLoyaebtyaorrNwfeotkgriondinSawhgcitn

由加密密钥易知解密密钥:\sigma^{-1}=(13265),解密易实现,请读者自行尝试。

代换密码

    所谓代换,就是将明文中的一个字母由其它字母、数字或符号替代的一种方法。
    代换密码是指建立一个代换表,加密时将需要加密的明文依次通过查表,替换为相应的字符,明文字符被逐个替换后,生成无任何意义的字符串,即密文。这样的代换表,通常称为密钥。

单表代换密码

对明文消息中出现的同一个字母,在加密时都使用同一固定的字母来代换,不管它出现在什么地方。如凯撒、仿射等。

举例

凯撒密码

明文中的所有字母都在字母表上向后(或向前)按照一个固定数目(密钥n)进行偏移后被替换成密文。

加解密方法如下:

\\ E_n(x)=(x+n)mod26\\ D_n(x)=(x-n)mod26

当密钥n是3时:

明文字母表:ABCDEFGHIJKLMNOPQRSTUVWXYZ。

密文字母表:DEFGHIJKLMNOPQRSTUVWXYZABC。

加密过程如下:

明文:THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG ;

密文:WKH TXLFN EURZQ IRA MXPSV RYHU WKH ODCB GRJ。

解密逆过程即可,可以自己写个小程序,输入明文/密文、密钥,得到结果,当然,也有在线工具箱。

现代密码学:原理与协议_简述密码学发展的三个阶段「建议收藏」

找的在线加解密工具箱,网址在参考部分

多表代换密码

明文消息中出现的同一个字母,在加密时不是完全被同一固定的字母代换,而是根据其出现的位置次序,用不同的字母代换。多表代换密码是利用多个单表代替密码构成的密码体制,它在对明文进行加密的过程中依照密钥轮流使用多个单表代替密码。如维吉利亚、Playfair、转轮等。

举例

维吉尼亚密码

是使用一系列凯撒密码组成密码字母表的加密算法,属于多表密码的一种简单形式。

现代密码学:原理与协议_简述密码学发展的三个阶段「建议收藏」

假设明文为:

ATTACKATDAWN

选择某一关键词并重复而得到密钥,如关键词为LEMON时,密钥为:

LEMONLEMONLE

对于明文的第一个字母A对应密钥的第一个字母L,于是使用表格中L行字母表进行加密,得到密文第一个字母L。类似地,明文第二个字母T,在表格中使用对应的E行进行加密,得到密文第二个字母X。以此类推,即:

明文:ATTACKATDAWN

密钥:LEMONLEMONLE

密文:LXFOPVEFRNHR

 解密过程相反

现代密码学:原理与协议_简述密码学发展的三个阶段「建议收藏」

参考

加解密在线工具-一个工具箱

千千秀字-维吉尼亚加解密

更多内容查看:网络安全-自学笔记

喜欢本文的请动动小手点个赞,收藏一下,有问题请下方评论,转载请注明出处,并附有原文链接,谢谢!如有侵权,请及时联系。如果您感觉有所收获,自愿打赏,可选择支付宝18833895206(小于),您的支持是我不断更新的动力。

今天的文章现代密码学:原理与协议_简述密码学发展的三个阶段「建议收藏」分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/75535.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注