1、单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,对称加密原理,赵青松,南京农业大学信息学院,E-mail:qszhao,1,目 录,密码学的起源、发展和现状,密码学基本概念,Feistel,加密结构,2,密码学发展阶段,1949,年之前,密码学是一门艺术,1949,1975,年,密码学成为科学,1976,年以后,密码学的新方向,公钥密码学,3,第,1,阶段古典密码,密码学还不是科学,而是艺术,出现一些密码算法和加密设备,密码算法的基本手段,出现,,针对的是字符,简单的密码分析手段出现,主要特点:数据的安全基于算法的保密,4,第,1,阶段古典密码,Pha
2、istos,圆盘,一种直径约为,160mm,的,Cretan-Mnoan,粘土圆盘,始于公元前,17,世纪。表面有明显字间空格的字母,至今还没有破解。,5,20,世纪早期密码机,6,第,1,阶段古典密码,1883,年,Kerchoffs,第一次明确提出了编码的原则:加密算法应建立在算法的公开不影响明文和密钥的安全。,这一原则已得到普遍承认,成为判定密码强度的衡量标准,实际上也成为传统密码和现代密码的分界线。,7,计算机使得基于复杂计算的密码成为可能,相关技术的发展,1949,年,Shannon,的,“,The Communication Theory of Secret Systems,”,1
3、967,年,David Kahn,的,The Codebreakers,1971-73,年,IBM Watson,实验室,的,Horst Feistel,等几篇技术报告,主要特点:,数据的安全基于密钥而不是算法的保密,第,2,阶段,19491975,8,1976,年:,Diffie&Hellman,的,“,New Directions in Cryptography,”,提出了不对称密钥密,1977年,Rivest,Shamir&Adleman,提出了,RSA,公钥算法,90,年代逐步出现椭圆曲线等其他公钥算法,主要特点:,公钥密码使得发送端和接收端无密钥传输的保密通信成为可能,第,3,阶段,
4、1976,9,1977年,DES,正式成为标准,80年代出现,“,过渡性,”,的,“,Post DES,”,算法,如,IDEA,RCx,CAST,等,90,年代对称密钥密码进一步成熟,Rijndael,RC6,MARS,Twofish,Serpent,等出现,2001年,Rijndael,成为,DES,的替代者,第,3,阶段,1976,10,目 录,密码学的起源、发展和现状,密码学基本概念,Feistel,加密结构,11,基本概念,密码学,(Cryptology),:,是研究信息系统安全保密的科学,.,密码编码学,(Cryptography),:,主要研究对信息进行编码,实现对信息的隐蔽,.,
5、密码分析学,(Cryptanalytics),:,主要研究加密消息的破译或消息的伪造,.,12,明文,(,Plaintext,):消息的初始形式;,密文,(,CypherText,):加密后的形式,记:,明文记为,P,且,P,为字符序列或二进制,,P=P1,P2,Pn,密文记为,C,且,C,为字符序列或二进制,C=C1,C2,Cn,明文和密文之间的变换记为,C=E(P),及,P=D(C),其中,C,表示密文,,E,为加密算法;,P,为明文,,D,为解密算法,我们要求密码系统满足:,P=D(E(P),基本概念,13,需要密钥的加密算法,记为:,C=E(K,P),即密文消息同时依赖于初始明文和密钥
6、的值。实际上,,E,是一组加密算法,而密钥则用于选择其中特定的一个算法。,加密与解密的密钥相同,即:,P=D(K,E(K,P),加密与解密的密钥不同,则:,P=D(K,D,E(K,E,P),基本概念,14,常规加密简化模型,15,加密算法足够强大:仅知密文很难破译出明文,基于密钥的安全性,而不是基于算法的安全性:基于密文和加,/,解密算法很难破译出明文,算法开放性:,常规加密的安全性,16,常规加密系统的模型,密码学的目的,:,Alice,和,Bob,两个人在不安全的信道上进,行通信,而破译者,Oscar,不能理解他们通信的内容。,17,保密内容,密钥数量,明文处理的方式,密码编码系统分类,1
7、8,受限制的(,restricted),算法,算法的保密性基于保持算法的秘密,基于密钥(,key-based),的算法,算法的保密性基于对密钥的保密,密码算法分类,19,对称密码算法(,symmetric cipher),密码算法分类,非对称密钥算法(,asymmetric cipher),加密密钥和解密密钥相同,或实质上等同,即从一个易于推出另一个,加密系统称为对称加密、或单密钥加密、密钥加密、常规加密,加密密钥和解密密钥不相同,从一个很难推出另一个,系统称为非对称加密、或双密钥加密(,public-key cipher),、公钥加密,公开密钥算法用一个密钥进行加密,而用另一个进行解密,其中
8、的加密密钥可以公开,又称公开密钥(,public key),,简称公钥。解密密钥必须保密,又称私人密钥(,private key),私钥,简称私钥,20,分组密码(,block cipher),将明文分成固定长度的组,用同一密钥和算法对每一块加密,输出也是固定长度的密文。,流密码(,stream cipher),又称序列密码。,序列密码每次加密一位或一字节的明文。,处理明文方式分类,21,密码分析,试图破译明文或者密钥的过程称为密码分析。,22,密码分析类型,23,加密方案的安全性,无条件安全:无论提供的密文有多少,如果由一个加密方案产生的密文中包含的信息不足以唯一地决定对应的明文,除了一次一
9、密的方案外,没有无条件安全的算法,(,使用与消息一样长度的随机密钥,并且没有重复,称为一次一密,它产生与明文没有任何统计关系的随机输出,是不可破的。,),现实中的安全性体现在:,破译的成本超过加密信息的价值,破译的时间超过该信息有用的生命周期,24,密钥搜索所需平均时间,25,古典加密技术,取代,置换,26,取代,明文的字母由其它字母或数字或符号代替,若该明文被视为一个比特序列,则取代涉及到用密文比特模式取代明文比特模式,27,恺撒密码,破译以下密文:,wuhdwb lpsrvvleoh,TREATY IMPOSSIBLE,Ci=E(Pi)=Pi+3,加密算法:,字母表:,(,密码本),ABC
10、DEFGHIJKLMNOPQRSTUVWXYZ,defghijklmnopqrstuvwxyzabc,28,恺撒密码的特点,单字母密码(简单取代技术),简单,便于记忆,缺点:结构过于简单,密码分析员只使用很少的信息就可预言加密的整个结构,29,恺撒密码的改进,已知加密与解密算法,C=E(p)=(p+k)mod(26),p=D(C)=(C-k)mod(26),25,个可能的密钥,k,明文的语言是已知的且易于识别,30,置换,通过执行对明文字母的置换,重排明文中的每一个元素。,若该明文被视为一个比特序列,则置换涉及到用密文比特模式代替明文比特模式,31,置换密码,换位密码把明文按列写入,按行读出,
11、密钥包含,3,方面信息,:,行宽,列高,读出顺序,完全保留字符的统计信息,使用多轮加密可提高安全性,32,目 录,密码学的起源、发展和现状,密码学基本概念,Feistel,加密结构,33,Feistel,加密结构,1973,年,,IBM,公司的,Horst Feistel,描述了大部分的对称密码算法所具有的结构,包括,DES,。,34,Feistel,加密过程,输入:,长为,2w,比特的明文分组,密钥,k,输出:,长为,2w,比特的密文分组,35,Feistel,网络的特点,明文分组分为,:,L,0,,,R,0,,,数据的这两部分通过,n,次循环处理后,再结合起来生成密文分组,每,i,次循环都
12、以上一循环产生的,L,i-1,和,R,i-1,和,K,产生的子密钥,K,i,作为输入,。,一般说来,子密钥,K,i,与,K,不同,,,相互之间也不同,它是用子密钥生成算法从密钥生成的,36,Feistel,网络的特点,所有循环的结构都相同,置换在数据的左半部分进行,其方法是先对数据的右半部分应用循环函数,F,,,然后对函数输出结果和数据的左半部分取异或,(XOR),循环函数对每次循环都有相同的通用结构,但由循环子密钥,K,i,来区分,在置换之后,执行由数据两部分互换构成的交换,37,Feistel,网络的特点,解密过程与加密过程基本相同。规则如下:用密文作为算法的输入,但以相反顺序使用子密钥,
13、K,i,意味着加密和解密不需要用两种不同的方法。,38,Feistel,结构定义,加密,:,R,i-1,=L,i,L,i-1,=R,i,F(R,i-1,K,i,),=R,i,F(L,i,K,i,),L,i,=R,i-1,;R,i,=L,i-1,F(R,i-1,K,i,),解密:,39,Feistel,网络的参数选择有哪些,?,分组大小:较大的分组意味着较强的安全性,但会降低加密解密速度。,64,位的分组大小是合理的折中,几乎所有的分组设计中都使用它,密钥大小:较大的密钥意味着较强的安全性,但会降低加密解密速度。现代算法中最常用的是,128,位密钥,循环次数:本质是单一循环的不足,多重循环能够加强安全性。典型的循环次数为,16,子密钥生成算法:较大的复杂性会增大密钥分析的难度,循环函数:较大的复杂性意味着给密码分析带来更大的难度,40,Feistel,网络其他考虑因素,快速软件加,/,解密:常将加密嵌入到应用程序中,不好用硬件实现的方式,因此速度很重要,分析的简易性:算法表示简洁清晰,则易于分析算法中加密技术的缺陷,41,






