古典密码 | 您所在的位置:网站首页 › vegenere › 古典密码 |
维吉尼亚密码Vigenère基础知识
维吉尼亚密码是使用一系列凯撒密码组成密码字母表的加密算法,属于多表密码中的一种 生成维吉尼亚密码,需要使用表格法。这一表格包括了26行字母表,每一行都由前一行向左偏移一位得到。具体使用哪一行字母表进行编译是基于密钥进行的,在过程中会不断地变换。如下 Tip:横着看为密钥,竖着读为明文 这样单单看,很难了解到其中的原理,下面引入一个例子 举个栗子假设我们的明文M为: CRYPTOGRAPHY选择一组任意长度的密钥K(若小于明文长度,则重复),这里我们选择NIGHT作为关键字,重复关键字得到最终的密钥K: NIGHTNIGHTNI加密 从明文的第一个字母C开始,对应密钥中第一位字母N,查表得知为P(明文竖着读,密钥横着读),重复此操作,最终得到: 明文:CRYPTOGRAPHY 密钥:NIGHTNIGHTNI 密文:PZEWMBOXHIUG解密 找到密钥第一个字母N对应的那一栏,找到P,再看最左边对应的字母,重复此操作得到明文 维吉尼亚密码Vigenère的破译参考:维吉尼亚密码破译 普通的加密可以通过使用简单的频率分析破解。但是在维吉尼亚密码中,E可以被加密成不同的密文,因而简单的频率分析在这里并没有用。 卡西斯基试验卡西斯基试验的原理就是是基于类似the这样的常用单词在密文中的重复出现。例如,明文中不同的CRYPTO可能被密钥ABCDEF加密成不同的密文: 密钥:ABCDEF AB CDEFA BCD EFABCDEFABCD 明文:CRYPTO IS SHORT FOR CRYPTOGRAPHY 密文:CSASXT IT UKSWT GQU GWYQVRKWAQJB此时明文中重复的元素在密文中并不重复。然而,如果密钥相同的话,结果可能便为(使用密钥ABCD): 密钥:ABCDAB CD ABCDA BCD ABCDABCDABCD 明文:CRYPTO IS SHORT FOR CRYPTOGRAPHY 密文:CSASTP KV SIQUT GQU CSASTPIUAQJB此时卡西斯基试验就能产生效果。对于更长的段落此方法更为有效,因为通常密文中重复的片段会更多。如通过下面的密文就能破译出密钥的长度: 密文:DYDUXRMHTVDVNQDQNWDYDUXRMHARTJGWNQD 其中,两个DYDUXRMH的出现相隔了18个字母。因此,可以假定密钥的长度是18的约数,即长度为18、9、6、3或2。而两个NQD则相距20个字母,意味着密钥长度应为20、10、5、4或2。取两者的交集,则可以基本确定密钥长度为2。 弗里德曼试验佛里德曼于1920年发明佛里德曼试验,其基本原理是使用了重合指数来描述密文字母频率的不匀性,进而破译密码。\(K_p\)指目标语言中两个任意字母相同的概率(英文中为0.067),\(K_r\)指字母表中这种情况出现的概率(英文中为1/26=0.0385),从而密钥长度可以估计为: \[{K_p - K_r}\over {K_o - K_r} \]其中,观察概率\(K_o\)为 \[K_o = {{\sum_{i=1}^c}n_i(n_i-1)\over N(N-1)} \]其中,c是指字母表的长度(英文为26),N指文本的长度,\(n_1\)到\(n_c\)是指密文的字母频率,为整数。 此方法只是一种估计,会随着文本长度的增加而更为精确。 在线网站破译网站地址 相关题目题目来源:https://adworld.xctf.org.cn/task/answer?type=crypto&number=5&grade=1&id=5451&page=1 文件信息这里提供一个非常强的在线解密网站,在线解密维吉尼亚密码,页面如下 将密文cipher填入方框中,点击解密即可 在下方会显示出分析的信息 在明文里面搜索得到flag关键字,即可得到flag flag{vigenereisveryeasyhuh} |
今日新闻 |
推荐新闻 |
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 |