小恐龙前段时间写的凯撒密码,其实是源于最近接触到的一次函数:
函数是一种映射,密码也可以理解为某种规律的映射。
x可以看作明文,y看作密文,a我们就理解为密钥吧,b是偏移量。
当a=1时,其实就是凯撒密码,而当a不等于1时,就是另一种加密方式——仿射加密。
先看看效果吧:
上面演示的是先加密后解密的效果,不同的参数得到的密文不同,但破解后是一致的:
我们来看看怎么加密和解密的吧,首先是加密。
- 加密
了解了加密原理,其实程序实现并不难。先建立一个“密码本”表单:
就是26个英文字母,再在后面加上,。空格和!四个字符,共30个字符。
选择密钥的时候要注意,要使a和30互质。