应用密码学:位移密码极简

位移密码、凯撒密码(K=3)

(目录)

原理

根据字母映射表将26个字母转换为整数0-25且逐一对应,如下表 在这里插入图片描述 根据映射表将明文转换为数字,再整体向前或向后移动固定位数,将移动位数后的数字根据同一引射表,再转换为字母,就完成了加密。 <hr style=" border:solid; width:100px; height:1px;" color=#000000 size=1">

加密

加密变换 c = m + k (mod 26)

我们设定密钥k=3(经典的凯撒密码),使用位移加密的方法来加密一段明文 例如: 明文为:my name is yg

加密过程:字母m根据上面的映射表转换为整数12, 密钥k=3,所以12+3=15,对整数15取26的余数 15(mod 26) = 15,最后将整数15根据映射表转换为字母P

以此类推:
E~3~ (m)= E~3~ (12)= 12+3(mod 26)= 15,对应字母为P
E~3~ (y)= E~3~ (24)= 24+3(mod 26)= 1,对应字母为b
……

最终的到密文为:pb qdoh lv bj <hr style=" border:solid; width:100px; height:1px;" color=#000000 size=1">

解密

知道密钥k=3及对应的字母映射表时,

解密变换 m = c - k (mod 26)

例如: 密文为:pb qdoh lv bj

解密过程:字母p根据上面的映射表转换为整数15, 密钥k=3,所以15-3=12,对整数12取26的余数 12(mod 26) = 12,最后将整数12根据映射表转换为字母m

以此类推:
E~3~ (p)= E~3~ (15)= 15-3(mod 26)= 12,对应字母为m	     //这里注意15-3=12,然后再对12进行26的求余
E~3~ (b)= E~3~ (1)= 1-3(mod 26)= 24,对应字母为y        //这里注意1-3=-2,然后再对-2进行26的求余

最终得到明文为:my name is yg