网络安全问题能被粗略划分为四个领域:
除了物理层安全以外,几乎所有的网络安全都基于密码学原理。
待加密的消息称为明文,经过一个以密钥为参数的函数变换,这个过程的结果就是密文。然后,通常由无线电或者通信员传送出去。
破解密码的技术就是密码分析学,而它和设计密码的密码编码学合起来就是密码学。
密码学的基本规则就是,密码分析这一定知道加密和解密所使用的方法。
Kerckhoff原理:所有的算法必须是公开的,而密钥是保密的。
密钥的长度是一个非常重要的设计要素。
置换密码,每个字母或每组字母被另一个字母或另一组字母取代,从而将原来的字母掩盖起来,如凯撒密码。简单来说,就是保留了明文符号的顺序,但是将明文伪装了起来。
替代密码,重新对字母进行排列,但是不伪装明文。,如常见的列替换。
绝对安全:一次一密
量子密码学,…
1 冗余度
原则1:所有被加密的消息必须包含一定的冗余信息。
即,接受者在解密了一个消息之后,必须能够通过简单的检查手段和通过一个简单的计算来判断这个消息是否有效。
这种冗余很有效,它可以用来阻止主动入侵者发送垃圾信息,或防止接受者被诱骗解密垃圾信息,然后处理所谓的“明文”。
BUT,增加冗余度,又会使破解系统更容易。好矛盾啊
于是引进CRC多项式编码。
2 新鲜度
必须采取某些措施确保每条接收到的消息都可被认证是新鲜的,是最近刚发送出来的。
原则2:需要采取某种方法对抗重放攻击
当当当当,重点来了!!!
现代密码学使用了与传统密码学相同的思想(替代和置换),但重点不同。传统上,密码设计者使用非常简单的算法,现在,密码设计的目标是使加密算法尽可能的复杂,因此即使密码分析者获得了大量的选择密文,在没有密钥的情况下也不能推测出明文。
Data Encryption Standard,数据加密标准