简单地说,滚动密钥密码是维吉尼亚密码的一种变体,它有别于维吉尼亚密码使用重复循环使用的短密钥进行加密,而是用长文章或者书籍,作为密钥的来源载体。 这需要双方在进行密码交流之前进行约定,约定好后,双方都知道,密钥来自该本书或者该篇文章,然后在密文中进行暗示,让接收者密文的一方,知道密钥在哪一页的哪一行。 举个简单的例子: 我们要加密明文: where shall we meet and at what time 然后我们约定使用西蒙·辛格《密码故事》作为密钥的来源方式。 之后,我们选取该书的第45页第1行的内容; for centuries, the simple monoalphabetic substitution cipher had been sufficient to ensure secrecy 作为密钥。(去掉非字母部分作为密钥) 之后我们进行加密,加密过程和维吉尼亚密码加密过程相同。
加密结果如下图所示:
加密完成后,我们将面临最后一步,也是最重要的一部,即在密文中暗示密钥取自书本的哪一页、哪一行。 我们可以用一个简单的方式进行暗示,比如用字母A-- J来表示数字0 - 9。 所以,我们选取该书的第45页第1行作为密钥,45用字母表示就是“EF”,1是“B”。 然后我们还可以在EFB之间放上一些A-- J之外的字母作为空值,使其更难破解。 最终,我们得到暗藏密钥位置的一组字母:XEFMB 之后,将这组字母,放在密文的开头或结尾即可(这个并不固定,你也可以放在密文中间,只要双方知道即可)。 最终的密文是: XEFMB BVVTI FAUCT AWFLI lissl XIVNH TTBL 滚动密钥密码相对维吉尼亚密码来说,更加安全,因为其没有重复的密钥,所以很难破解。 如果要进行解密的话,只有事先知道哪本书,以及哪一页哪一行才行。
|