周期置换
周期置换密码是将明文串P按固定长度m进行分组,然后对每组中的子串按1,2…,m的某个置换重排位置从而得到密文C。其中密钥包含分组长度信息。解密时同样对密文C按长度m分组,并按口的逆置换**
**把每组子串重新排列位置从而得到明文P。
举例
加密“State Key Laboratory of Networking and Switching",不含空格,m为6。加密密钥=(15623)
明文分7组,每组6个:
(StateK)(eyLabo)(ratory)(ofNetw)(orking)(andSwi)(tching)
加密变换:
(akttSe)(Loyaeb)(tyaorr)(Nwfeot)(kgrion)(dinSaw)(hgcitn)
最终密文:
akttSeLoyaebtyaorrNwfeotkgriondinSawhgcitn
由加密密钥易知解密密钥:=(13265),解密易实现,请读者自行尝试。
代换密码
所谓代换,就是将明文中的一个字母由其它字母、数字或符号替代的一种方法。
代换密码是指建立一个代换表,加密时将需要加密的明文依次通过查表,替换为相应的字符,明文字符被逐个替换后,生成无任何意义的字符串,即密文。这样的代换表,通常称为密钥。
单表代换密码
对明文消息中出现的同一个字母,在加密时都使用同一固定的字母来代换,不管它出现在什么地方。如凯撒、仿射等。
举例
凯撒密码
明文中的所有字母都在字母表上向后(或向前)按照一个固定数目(密钥n)进行偏移后被替换成密文。
加解密方法如下:
当密钥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
解密过程相反
参考
更多内容查看:网络安全-自学笔记
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!