我正在学习Vigenere密码及其各种密码分析攻击。其中之一是,Kasiski检验和相互符合指数。所以,我想知道Kasiski检验和互测巧合指数是否能破解Vigenere加密本身的Vigenere加密(密钥可能不同或相同),即使用Vigenere密码加密的明文,以及使用Vigenere密码再次加密的输出?使用这种方案会给攻击者造成适当的混乱,还是会成为一个漏洞?
发布于 2016-10-02 18:43:24
Vigenere algotrith假设Alice会向Bob发送一条信息。消息是用某种语言编写的,具有长度ML (组成消息的符号具有已知的频率,属于具有给定大小AL的字母表A)。为了封装一条消息,Alice使用了一个键(K),在Vigenere alogrithm中,这个键是由称为蠕虫最短(从定义上说)的符号所组成的序列,而不是信息,爱丽丝和鲍勃都不需要交换。通过将每个消息符号的值与相应的蠕虫的值相加来实现封装,sybol (蠕虫可以完全随机)模块化AL。
例:
M = "hello world today is fine"
ML = 25
K = "abc"
KL = 3
M as values :
68 65 6C 6C 6F 20 77 6F 72 6C 64 20 74 6F 64 61 79 20 69 73 20 66 69 6E 65
K as values :
61 62 63 正如您所看到的,因为蠕虫比消息短(根据定义),我们需要重复它,一次又一次地到达ML。
M as values :
68 65 6C 6C 6F 20 77 6F 72 6C 64 20 74 6F 64 61 79 20 69 73 20 66 69 6E 65
K as values (repeated) :
61 62 63 61 62 63 61 62 63 61 62 63 61 62 63 61 62 63 61 62 63 61 62 63 61 我们得到的确实是三个凯撒占位权的序列(在一般情况下,凯撒占位权的数目是KL =键长):
这是第一个凯撒
M as values :
68 65 6C 6C 6F 20 77 6F 72 6C 64 20 74 6F 64 61 79 20 69 73 20 66 69 6E 65
| | | | | | | | |
K as values (repeated) :
61 62 63 61 62 63 61 62 63 61 62 63 61 62 63 61 62 63 61 62 63 61 62 63 61
Caesar SubMessage : 68 6C 77 6C 74 61 69 66 65
Caesar Key : 61这是第二次凯撒
M as values :
68 65 6C 6C 6F 20 77 6F 72 6C 64 20 74 6F 64 61 79 20 69 73 20 66 69 6E 65
| | | | | | | |
K as values (repeated) :
61 62 63 61 62 63 61 62 63 61 62 63 61 62 63 61 62 63 61 62 63 61 62 63 61
Caesar SubMessage : 65 6F 6F 64 6F 79 73 69
Caesar Key : 62这是第三次凯撒
M as values :
68 65 6C 6C 6F 20 77 6F 72 6C 64 20 74 6F 64 61 79 20 69 73 20 66 69 6E 65
| | | | | | | |
K as values (repeated) :
61 62 63 61 62 63 61 62 63 61 62 63 61 62 63 61 62 63 61 62 63 61 62 63 61
Caesar SubMessage : 6C 20 72 20 64 20 20 20 6E
Caesar Key : 63如果在子消息上“正则分裂”,则主消息上的符号频率保持不变,因此对凯撒的经典攻击(基于频率的攻击)仍然适用于三个凯撒子消息。
正如您可以想象的那样,如果您将Vigenere占用加倍,那么攻击的复杂性不会改变( EG : add K1 = "def")。
M as values :
68 65 6C 6C 6F 20 77 6F 72 6C 64 20 74 6F 64 61 79 20 69 73 20 66 69 6E 65
K as values :
61 62 63
K1 as values :
64 65 66这是因为Vigenere占卜是由凯撒占卜和凯撒占卜组成的,所以:
( 68 + 61 mod AL ) + 64 mod AL = ( 68 + ( 61 + 64 mod AL ) ) mod AL因此,双权等价于单个权中密钥的更改,但密钥性质(随机或非随机)并不能解决该模式的任何安全问题。
在上面的示例中(关于双重存储),通过组合K和K1获得的结果密钥称为K2 (我假设AL = 256,A是ASCII表):
K2 = C5 C7 C9因此,双权等价于一个实例,如下所示
M as values :
68 65 6C 6C 6F 20 77 6F 72 6C 64 20 74 6F 64 61 79 20 69 73 20 66 69 6E 65
K2 as values (repeated) :
C5 C7 C9 C5 C7 C9 C5 C7 C9 C5 C7 C9 C5 C7 C9 C5 C7 C9 C5 C7 C9 C5 C7 C9 C5 当然,这一立场并不比第一次那样紧张。
https://crypto.stackexchange.com/questions/40390
复制相似问题