DES
参考彭长根所著《现代密码学趣味之旅》与朱小姐的博客(链接)以及百度百科
希望指出错误或解答问题。
一、置换密码
以凯撒密码为例
密钥 前进三步
明文 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
密文 D E F G H I J K L M N O P Q R S T U V W X Y Z A B C
如果你传达的信息为ATTACK 加密后就是DWWDFN
进一步 如果我们密钥改为LOVE 那么会得到这样的对应关系:
明文 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
密文 L O V E A B C D F G H I J K M N P Q R S T U W X Y Z
如果你传达的信息为ILOVEYOU 加密后就是FINUAYNT
再次改进将原文按字母分组,每组四个字母,最后一组不足四个补上空格;然后内部按照(2 4 1 3)的置换规则换位相应的字母;最后将各个分组合成密文。解密时再用该置换规则就行了。
以I have had my best love before , but I didn’t treasure her为例 分组后得IHAV EHAD MYBE STLO VEBE FORE BUTI DIDN OTTR EASU REHE R
将每一小组按照(2 4 1 3)顺序摆放,就是将原来第二位放到第一位,第四位放到第二位,第一位放到第三位,第三位放到了第四位。先将偶数位排好再排奇数位。
以第一组为例IHAV 排完后是HVIA 每组都是如此之后再组合得
HVIA HDEA YEMB TOSL VBEE OEFR UIBT INDD TROT AUES EERH R
分组的思想借鉴了类似维吉尼亚密码的思想 下面是维吉尼亚密码的介绍
继续以I have had my best love before but I didn’t treasure her为例 密钥为LOVE,则要将密文按照密钥长度来分组,再对照维吉尼亚密码本,明文字母作为行,密钥字母作为列。
IHAV EHAD MYBE STLO VEBE FORE BUTI DIDN OTTR EASU REHE R
最后密文得:TVVZ PVVH XMWI DHGS GSWI QCGI NIWM OWMR ZHOV PONY CSCI C
(明白规则之后,你就会发现同一组的相同位置都在同一行找因为密钥相同,那么不妨先将同一位置不同组的字母找到,你可以每一组写一行,将后面位置填在后面。
L行:IEMSVFBDOERR-TPXDGQNOZPCC
O行:HHYTEOUITAE-VVMHSCIWHOS
V行:AABLBRTDTSH-VVWGWMOYONC
E行:VDEOEEINRUE-ZHISIIMRVYI)
现代对称密码体制核心是扩散(明文与密文之间的统计关系尽可能复杂)和混淆(使密文与密钥之间的统计关系变得尽可能复杂)
二、分组密码
恩尼格玛密码机
???
Feistel法