古典密码学
古典密码学种类 移位密码(凯撒密码) 对于一个密码体制,必须满足一定的条件,下面所述的两个条件必须的: 对于加密体制而言,其加解密函数都要易于计算对于任何敌手而言,即使他获取了密文Y,也很难由此确定出对应的密钥K或密文 移位密码属于最简单的一种加密方法,其实现和原理都很简单,但是由于本身的问题,其密钥空间很小,而且又属于单表替换,所以安全性不高,易受来自穷举 以及词频等简单的密码攻击破解. 代换密码 代换密码也属于单表替换,其原理很简单,先制作出一张替换的表格,然后加密时根据表格替换明文,解密的时候,需要先制作出解密的替换表格,这个表格和 加密表格是对应的,对于26个字母而言,所有可能的替换方法达到26!种,密钥空间很大,所以利用穷举法不是很容易破解.但是,由于这种加密算法仍然属于单表替 换,所以仍然不能抵抗根据词频来破解密码这种方法. 仿射密码 仿射密码是移位密码的扩展,仿射密码是利用线性函数的一一对应的原理来实现的,其加密函数为e(x)=(ax+b) mod nMax (nMax为常数).对于加密函数而言, 其中的a是有限制的,需要a和nMax的最大公约数为1. 对于a的取值空间大小,可以由nMax的值计算出来,其值为φ(nMax)可由欧拉公式获得,所以其密钥空间大小 为nMax*φ(nMax). 对于nMax=60时,φ(60)=(2的2次方-2的1次方)*(3的1次方