凯撒密码是把字母表中的每个字母用该字母后的某个字母进行代替。
凯撒密码的通用加密算法是:C=E(P)=(P+k) mod 26 0<k<26
凯撒密码的通用解密算法是:P=D(C)=(P-k) mod 26 0<k<26
在此基础上对其进行扩展,将字母映射表长度扩展,加密的范围包括标点符号数字,大小写字母等等。
查了ascii码表:从32的空格符号开始,到126的~结束作为字母映射表长度。
这是最简单的一种加密算法。所以在此基础上,对其进行扩展,采用Vigenere密码算法进行加密。
当然基本原理是一样的。
测试用例:This is "Vigenere",based on"Caesar".秘钥词:Word
加密后密文为:MY]YwZgdyG]M^_YX^q~HZdYJw`bf<RYYZctr
通过这简单的一个编程,对古典密码学有了一定了解,对于后续课程有了浓厚的兴趣,也基本完成了老师的实习要求。