1、密码学概述
密码学是研究信息系统安全保密的科学。
密码使用学(Cryptography)主要研究对信息的隐藏,即消息加密。
密码分析学则主要研究加密消息的破译。
对称密码
(1)对称密码的概念
加密和解密的密钥相同,可以用来加密信息,确保信息不被窃取。前提是存在安全信道供双方传输密钥。
(2)简单对称加密:替换密码
即一个字符用另一个字符替换,这种密码体制的关键是替换表。
针对替换密码有两种攻击,一是蛮力攻击,即穷尽密钥搜索,但这种攻击的可行性取决于密钥空间的大小,如穷尽字母A的替换字母,其密钥空间为26*25*24…3*2*1=26!二是字母频率分析,根据每个密文字母的频率、常见相邻字母,以及短频词等技术的结合使用,破解密文。
非对称密码
加密和解密的密钥不同,公钥可公开,私钥仅保存在用户自己手中。
密码分析
破解密码体制的方法主要有:
(1)经典密码分析,即包括前文提到的暴力破解和加密方法内部结构分析攻击。
(2)实施攻击,从处理密钥的处理器的功耗轨迹、电磁辐射、算法运行时的行为恢复出密钥。(此处不太理解)
(3)社会工程攻击,与知道或保管密钥的人相关,对其进行行贿、勒索、跟踪或侦探从而获得密钥。
合适的密钥长度:只有蛮力攻击是最好的攻击方法时,才会讨论对称加密算法中的密钥长度的问题;对称算法和非对称算法所要求的密钥长度完全不同,长度为80位的对称密钥与1024位的非对称密钥安全性相当。
位 = 比特 = bit = b,
1字节 = 1B = 8位;1KB = 1024B;1MB = 1024KB;1GB = 1024MB
2、密码学数学知识
模运算
a≡r(mod m)
m为模数,r为余数
a和r除以m所得的余数相等,都是r,也称a,r对于模m同余
等价类的概念,比如做模10运算,我们可能得到10种不同的余数0、1、2、3、4、5、6、7、8、9,进而,又分成10个类,分别记作[0]、[1]、[2]、[3]、[4]、[5]、[6]、[7]、[8]和[9];等价类中所有成员的行为都是等价的。
整数环
集合Zm={1,2,…,m-1}
属于集合中的任意两个数a,b进行”+”和“*”mod m后仍在集合中。
加法中存在中性元素0和加法逆元-a,乘法中存在中性元素1和乘法逆元a-1