第一章 第二节 加密算法原理

   

概要

  信息是当今社会的一种重要资源(数据和信息的对比、信息应用的例子),用户需要信息是保密的、完整的和真实的,现代信息系统必须具备有信息安全技术措施,信息加密是信息安全的主要措施之一。   

基本概念

  保密性(进不来、看不懂)、完整性(改不了、拿不走)、不可否认性(跑不掉)。   明文/明码(plaintext)、密文(ciphertext)、算法(algorithm)、密钥(key)、加密(encryption)、解密(decryption)。   

基本加密操作

  明文+加密算法 -> 密文+解密算法 -> 明文   

基本加密思想

  置换:按照规则改变内容的排列顺序。用一个特定的值替换另一个特定值的过程,需要通信双方事先知道置换的方法,简单,频繁使用会找到规则。   例:奇数位ASCII码值加1,偶数位ASCII码值加2。

X A P C C O M
Y C Q E D Q N

     移位:打乱字母的排列顺序。把某个字母以其前或其后几位的某个特定的字母替代,有规律性容易被攻破。   例:以中间字母为点,两侧兑换。

E X A M P L E
E L P M A L E

     移位和置换都是可逆操作,容易恢复信息,应用于现代密码算法中。   加密的实现,不只依赖以上基本思想,同时依赖很多巧妙设计,如军事中的加密电报,使用安全性高的编码规则,解密也涉及首发报文双方的约定。   

加密算法

  《对称密钥密码算法/私有密钥算法》:加密密钥和解密密钥相同,可逆,加密速度快,对称加密密钥长度40bits到168bits。   著名对称加密算法:   1.DES/3DES 数据加密标准:   DES:一种分组加密算法,20世纪70年代,由IBM公司发展,1976年11月纳为美国国家标准。DES密钥是固定的56bit,不安全;以块模式对64bit的密文块进行操作。   3DES:应用DES算法三遍,K1、K2、K3三个密钥。   算法:输入64比特明文数据---初始置换IP---在密钥控制下16轮迭代---交换左右32比特---初始逆置换IP-1---输出64比特密文数据。      2.IDEA国际数据加密算法:分组长度64位密钥长度128位,混合运算(异或、模216加、模216+1乘),软件实现IDEA比DES快两倍。      3.RC系列(RC2、RC4、RC5):   RC2:Ronald Rivest设计,密钥长度可变,运算速度比DES快,软件实现比DES×××倍,是否比DES安全取决于其使用的密钥长度。   RC4:Rivest设计,密钥长度可变流模式加密算法,面向bit操作,算法基于随机置换,应用范围广。   RC5:Rivest设计,分组长、密钥长和迭代论述都可变面向字结构,便于软件和硬件快速实现,数据相倚旋转技术。      4.CAST:   5.Blowfish/Twofish:密钥长度可变,易于软件快速实现,所需存储空间不到5KB,安全性可通过改变密钥长度调整,适用于密钥不经常改变的加密。   6.AES高级数据加密标准:      《非对称密钥密码算法/公钥密码算法》:比私钥加密出现晚,两个不同的密钥,一个用于加密信息,另一个用于解密信息,不可逆,私钥需安全保存,公钥公开,加密速度慢,可与对称加密结合。   加密过程:Alice--》明文+Bob的公钥B--》密文--》网络传输--》密文+Bob的私钥B'--》明文--》Bob   著名公钥加密算法:   1.Diffie-Hellman密钥交换:1976年,Whitfield Diffie和Martin Hellman发明,解决对称加密系统中密钥的发布问题,安全性来源于很难计算出很大的离散对数,应用如IPSec中用于实现密钥的交换。   2.RSA:1977年由Ron Rivest、Adi Shamir和Len Adelman开发,专利于2000年9月到期,密钥长度在512~2048bit之间,安全性基于数学运算的复杂性,Phi=(P-1)乘(Q-1),N=P乘Q。比软件实现DES慢100倍,比硬件实现DES慢1000倍。主要用于加密、数字签名。   加密过程:Alice--》明文+Bob的公钥B--》密文--》网络传输--》密文+Bob的私钥B'--》明文--》Bob   模拟软件:RSA Demonstration