ch02密码学基础01概述对称密码

上传人:壹****1 文档编号:568309278 上传时间:2024-07-24 格式:PPT 页数:99 大小:2.72MB
返回 下载 相关 举报
ch02密码学基础01概述对称密码_第1页
第1页 / 共99页
ch02密码学基础01概述对称密码_第2页
第2页 / 共99页
ch02密码学基础01概述对称密码_第3页
第3页 / 共99页
ch02密码学基础01概述对称密码_第4页
第4页 / 共99页
ch02密码学基础01概述对称密码_第5页
第5页 / 共99页
点击查看更多>>
资源描述

《ch02密码学基础01概述对称密码》由会员分享,可在线阅读,更多相关《ch02密码学基础01概述对称密码(99页珍藏版)》请在金锄头文库上搜索。

1、0 1 2 3 4 第二部分密码学基础第二部分密码学基础密码学概述密码学概述对称密码学对称密码学单向散列函数单向散列函数公钥密码系统公钥密码系统0 1 0 1 0 80 1 0 1 0 70 1 0 1 0 60 1 0 1 0 50 1 0 1 0 40 1 0 1 0 30 1 0 1 0 0 1 0 1 0 0 1 0 1 0 0 1 0 1 0 密码学概述密码学概述密密码码学的学的发发展展基本基本术语术语保密通信系保密通信系统统模型模型密密码码体制体制密密码码分析分析密密码码算法的安全性算法的安全性0 1 0 1 0 密码学的发展密码学的发展密码技术是一门古老的技术,大概自人类社会出密

2、码技术是一门古老的技术,大概自人类社会出现战争便产生了密码现战争便产生了密码(Cipher)(Cipher) 由于密码长期以来仅用于政治、军事、公安、外交等由于密码长期以来仅用于政治、军事、公安、外交等要害部门,其研究本身也只限于秘密进行。所以密码被蒙要害部门,其研究本身也只限于秘密进行。所以密码被蒙上神秘的面纱。在军事上,密码成为决定战争胜负的重要上神秘的面纱。在军事上,密码成为决定战争胜负的重要因素之一。有些军事评论家认为,盟军在破译密码方面的因素之一。有些军事评论家认为,盟军在破译密码方面的成功,使二次世界大战提前几年结束。成功,使二次世界大战提前几年结束。密码学是研究如何对敏感信息进行

3、保护的一门重密码学是研究如何对敏感信息进行保护的一门重要学科。要学科。 随着计算机和通信技术的迅速发展和普及应用,出现随着计算机和通信技术的迅速发展和普及应用,出现了电子政务、电子商务、电子金融等重要的应用信息系统。了电子政务、电子商务、电子金融等重要的应用信息系统。在这些系统中必须确保信息的安全传递和存储在这些系统中必须确保信息的安全传递和存储0 1 0 1 0 密码学的发展密码学的发展1949年之前:古典密码(年之前:古典密码(classicalcryptography)1.密码学多半是具有艺术特征的字谜,出现一些密码算法和机械密码学多半是具有艺术特征的字谜,出现一些密码算法和机械的加密设

4、备的加密设备。2.密码算法的基本手段是:替代和置换密码算法的基本手段是:替代和置换(substitution&permutation)出现,针对的是字符出现,针对的是字符。3.密码破译的手法逐渐形成,二次世界大战尤为明显密码破译的手法逐渐形成,二次世界大战尤为明显。19491975年年:计算机使得基于复杂计算的密码成为可能计算机使得基于复杂计算的密码成为可能1.1949年年Shannon:TheCommunicationTheoryofSecretSystems2.1967年年DavidKahn的的TheCodebreakers3.1971-73年年IBMWatson实验室的实验室的Horst

5、Feistel等的几篇技术报告等的几篇技术报告数据的安全基于密钥而不是算法的保密数据的安全基于密钥而不是算法的保密0 1 0 1 0 密码学的发展密码学的发展1976年以后年以后:1976年年Diffie和和Hellman发表了发表了“密码学的新方向密码学的新方向”(NewDirectionsinCryptography)提出了不对称密钥密码,奠)提出了不对称密钥密码,奠定了公钥密码学的基础。定了公钥密码学的基础。1977年年Rivest,Shamir&Adleman提出了提出了RSA公钥算法。公钥算法。公钥技术是二十世纪最伟大的思想之一公钥技术是二十世纪最伟大的思想之一改变了密钥分发的方式改

6、变了密钥分发的方式可以广泛用于数字签名和身份认证服务可以广泛用于数字签名和身份认证服务90年代逐步出现椭圆曲线等其他公钥算法年代逐步出现椭圆曲线等其他公钥算法公钥密码使得发送端和接收端无密钥传输的保密通信公钥密码使得发送端和接收端无密钥传输的保密通信成为可能!成为可能!0 1 0 1 0 密码学的发展密码学的发展1976年以后,对称密钥密码算法进一步发展年以后,对称密钥密码算法进一步发展1977年年DES正式成为标准正式成为标准80年代出现年代出现“过渡性过渡性”的的“postDES”算法算法,如如IDEA,RCx,CAST等等90年代对称密钥密码进一步成熟年代对称密钥密码进一步成熟Rijnd

7、ael,RC6,MARS,Twofish,Serpent等出现等出现2001年年Rijndael成为成为DES的替代者,有了新的分的替代者,有了新的分组密码加密标准组密码加密标准AES0 1 0 1 0 密码学的发展密码学的发展总结总结未来会有什么密码?未来会有什么密码?物理物理密码密码计算计算密码密码古典古典密码密码艺术艺术密码密码0 1 0 1 0 基本术语基本术语 密码体制是密码技术中最为核心的一个概念。密码体制是密码技术中最为核心的一个概念。密码体制被定义为一对数据变换密码体制被定义为一对数据变换:0 1 0 1 0 基本术语基本术语密码技术的密码技术的基本思想基本思想是伪装信息,伪装

8、就是对数据是伪装信息,伪装就是对数据施加一种可逆的施加一种可逆的数学变换数学变换。伪装前的数据称为。伪装前的数据称为明文明文(Plaintext),伪装后的数据称为伪装后的数据称为密文密文(Ciphertext)。伪装的过程称为伪装的过程称为加密加密(Encryption),去掉伪装恢复去掉伪装恢复明文的过程称为明文的过程称为解密解密(Decryption)。加。加/解密要在解密要在密钥密钥(Key)的控制下进行。将数据以密文的形式存的控制下进行。将数据以密文的形式存储在计算机的文件中或送入网络信道中传输,而且储在计算机的文件中或送入网络信道中传输,而且只给合法用户分配密钥。这样即使密文被非法

9、窃取,只给合法用户分配密钥。这样即使密文被非法窃取,因不法分子没有密钥而不能得到明文。因不法分子没有密钥而不能得到明文。0 1 0 1 0 基本术语基本术语密码员对明文进行加密操作时所采用的一组规密码员对明文进行加密操作时所采用的一组规则称作则称作加密算法加密算法(EncryptionAlgorithm)。所传送信息的预定对象称为接收者所传送信息的预定对象称为接收者(Receiver)。接收者对密文解密所采用的一组规则称为接收者对密文解密所采用的一组规则称为解密解密算法算法(DecryptionAlgorithm)。密码学密码学(Cryptology):是研究信息系统安全保密是研究信息系统安全

10、保密的科学。的科学。密码编码学密码编码学(Cryptography):主要研究对信主要研究对信息进行编码息进行编码,实现对信息的隐蔽。实现对信息的隐蔽。密码分析学密码分析学(Cryptanalytics):主要研究对密文主要研究对密文(对明文加密后而得的信息)的破译和对明文的伪(对明文加密后而得的信息)的破译和对明文的伪造造0 1 0 1 0 密码学的分类密码学的分类密码学密码学编码学:密码的设计编码学:密码的设计分析学:密码的破译分析学:密码的破译其它其它安全管理,安全协议设计,秘密分存安全管理,安全协议设计,秘密分存现代:数字化现金,量子密码,馄饨现代:数字化现金,量子密码,馄饨密码等密码

11、等相互依存相互依存相互支持相互支持密不可分密不可分0 1 0 1 0 保密系统通信模型保密系统通信模型密码学的密码学的目目的的:郭靖郭靖和和黄蓉黄蓉两个人两个人在不安全的在不安全的信道上进信道上进行悄悄话通行悄悄话通信,而信,而第三第三者欧阳克者欧阳克不不能理解与破能理解与破坏他们通信坏他们通信的内容。的内容。0 1 0 1 0 密码体制密码体制定义定义:(密码体制)它是一个五元组(密码体制)它是一个五元组(P,C,K,E,D):(1)P是可能明文的有限集;(明文空间)是可能明文的有限集;(明文空间)(2)C是可能密文的有限集;(密文空间)是可能密文的有限集;(密文空间)(3)K是一切可能密钥

12、构成的有限集(密钥空间)是一切可能密钥构成的有限集(密钥空间)(4)E加密算法。加密算法。(5)D解密算法。解密算法。对于任意对于任意kK,有一个加密算法有一个加密算法ekE和相应的解密算法和相应的解密算法dkD,使得,使得ek:PC和和dk:CP分别为加密解密函数,满分别为加密解密函数,满足足dk(ek(x)=x,这里这里xP。空间集合的大小与安全有什么关系?空间集合的大小与安全有什么关系? 攻击动画攻击动画0 1 0 1 0 密码体制分类方法密码体制分类方法可从三种不同的角度进行分类可从三种不同的角度进行分类(1)从明文到密文的变换)从明文到密文的变换替换替换(substitution)换

13、位换位(Transposition)置换置换(permutation)(2)钥匙的数目)钥匙的数目对称、单钥加密法对称、单钥加密法双钥、公钥加密双钥、公钥加密(3)明文的处理方式)明文的处理方式分组加密(块加密算法)分组加密(块加密算法)流方式加密流方式加密传统:传统:加密加密解密解密 分类分类传统密码:人工传统密码:人工计算机密码计算机密码现代现代双钥:公钥双钥:公钥/私钥私钥字符字符:流密流密码码分组分组:分组密分组密码码单钥单钥单钥单钥单钥单钥传统:传统:加密加密解密解密 分类分类传统密码:人工传统密码:人工计算机密码计算机密码现代现代双钥:公钥双钥:公钥/私钥私钥字符字符:流密流密码码

14、分组分组:分组密分组密码码单钥单钥单钥单钥单钥单钥0 1 0 1 0 密码体制分类方法密码体制分类方法-1基于密钥的算法,按照密钥的特点分类:基于密钥的算法,按照密钥的特点分类: 对称密钥算法对称密钥算法(symmetriccipher):又称:又称传统密钥算法传统密钥算法(conventionalcipher),就是加密密钥和解密密钥相同,就是加密密钥和解密密钥相同,或实质上等同,即从一个易于推出另一个。又称秘密密钥或实质上等同,即从一个易于推出另一个。又称秘密密钥算法或单密钥算法。算法或单密钥算法。 非对称密钥算法非对称密钥算法(asymmetriccipher):加密密钥和解密加密密钥和

15、解密密钥不相同,从一个很难推出另一个。又称密钥不相同,从一个很难推出另一个。又称公开密钥算法公开密钥算法(public-keycipher)。 公开密钥算法用一个密钥进行加密,而用另一个密钥进公开密钥算法用一个密钥进行加密,而用另一个密钥进行解密。其中的行解密。其中的加密密钥加密密钥可以公开,又称公开密钥可以公开,又称公开密钥(publickey),简称,简称公钥公钥。解密密钥解密密钥必须保密,又称私人必须保密,又称私人密钥(密钥(privatekey)私钥,简称私钥,简称私钥私钥。0 1 0 1 0 0 1 0 1 0 0 1 0 1 0 0 1 0 1 0 0 1 0 1 0 三种方法分析

16、三种方法分析1.三种方法各有什么特点?三种方法各有什么特点?2.可否将一些方法混合使用,以充分利可否将一些方法混合使用,以充分利用其各自的特点?用其各自的特点?0 1 0 1 0 三种方法分析三种方法分析0 1 0 1 0 密码体制分类方法密码体制分类方法-2按照加密过程中对明文的处理方法:按照加密过程中对明文的处理方法:分组密码分组密码(blockcipher):将明文分成固:将明文分成固定长度的组,用同一密钥和算法对每一块定长度的组,用同一密钥和算法对每一块加密,输出也是固定长度的密文。加密,输出也是固定长度的密文。流密码流密码(streamcipher):又称序列密码:又称序列密码.序列

17、密码每次加密一位或一字节的明文,序列密码每次加密一位或一字节的明文,也可以称为流密码。也可以称为流密码。 序列密码是手工和机械密码时代的主流序列密码是手工和机械密码时代的主流0 1 0 1 0 密码分析密码分析发现发现X和和K的过程被称为的过程被称为密码分析密码分析分析的策略取决于加密的技术以及可利用的分析的策略取决于加密的技术以及可利用的信息,在加密算法设计和攻击时都需要用到的技信息,在加密算法设计和攻击时都需要用到的技术术根据可利用信息的不同,可分为根据可利用信息的不同,可分为4类:类:(1)只有密文)只有密文(2)已知部分明文)已知部分明文-密文对密文对(3)选择明文)选择明文(4)选择

18、密文)选择密文*(1)()(2)()(3)常见、()常见、(4)不常见)不常见0 1 0 1 0 对密码系统的攻击类型0 1 0 1 0 对密码系统的攻击类型对密码系统的攻击类型自适应选择明文攻击自适应选择明文攻击自适应选择明文攻击自适应选择明文攻击(adaptive-chosen-plaintextattack):是选择明文攻击的一种特殊情:是选择明文攻击的一种特殊情况,指的是密码分析者不仅能够选择被加密的明况,指的是密码分析者不仅能够选择被加密的明文,也能够依据以前加密的结果对这个选择进行文,也能够依据以前加密的结果对这个选择进行修正。修正。自适应选择密文攻击自适应选择密文攻击0 1 0

19、1 0 密码破译的手段密码破译的手段密码破译的原则密码破译的原则:遵循观察与经验遵循观察与经验方法方法:采用归纳与演绎采用归纳与演绎步骤步骤:分析、假设、推测和证实分析、假设、推测和证实三大要素:三大要素:语言的频率特征:语言的频率特征:e连接特征连接特征:qu,Iex,重复特征重复特征:th,tion,tious0 1 0 1 0 单表替换密码的破译单表替换密码的破译通过字母的使用频率破译通过字母的使用频率破译0 1 0 1 0 密码算法的安全性密码算法的安全性无条件安全(无条件安全(Unconditionallysecure)无论破译者有多少密文无论破译者有多少密文,他也无法解出他也无法解

20、出对应的明文,即使他解出了,他也无法验对应的明文,即使他解出了,他也无法验证结果的正确性。证结果的正确性。计算上安全(计算上安全(Computationallysecure)破译的代价超出信息本身的价值破译的代价超出信息本身的价值破译的时间超出了信息的有效期。破译的时间超出了信息的有效期。0 1 0 1 0 直觉:什么是一个好的加密算法直觉:什么是一个好的加密算法假设密码假设密码(password)k是固定的是固定的明文和密文是一个映射关系:单射,即明文和密文是一个映射关系:单射,即Ek(x1)Ek(x2)ifx1x2通常情况是:明文非常有序通常情况是:明文非常有序好的密码条件下,我们期望得到

21、什么样的密文好的密码条件下,我们期望得到什么样的密文随机性随机性如何理解随机性如何理解随机性静态:特殊的点静态:特殊的点动态:小的扰动带来的变化不可知动态:小的扰动带来的变化不可知0 1 0 1 0 考虑设计一个加密算法考虑设计一个加密算法打破明文本身的规律性打破明文本身的规律性 随机性随机性( (可望不可及可望不可及) ) 非线性非线性( (一定要一定要) ) 统计意义上的规律统计意义上的规律多次迭代多次迭代 迭代是否会增加变换的复杂性迭代是否会增加变换的复杂性 是否存在通用的框架,用于迭代是否存在通用的框架,用于迭代复杂性带来密码分析的困难和不可知性复杂性带来密码分析的困难和不可知性 实践

22、的检验和考验实践的检验和考验0 1 0 1 0 柯克霍夫(柯克霍夫(Kerckhoffs)原则)原则柯克霍夫(柯克霍夫(KerckhoffsKerckhoffs)原则:密码系统的安全性取决于)原则:密码系统的安全性取决于密钥,而不是密码算法,即密码算法要公开。密钥,而不是密码算法,即密码算法要公开。这是荷兰密码学家这是荷兰密码学家KerckhoffKerckhoff于于18831883年在名著年在名著军事密码军事密码学学中提出的基本假设。遵循这个假设的好处是:中提出的基本假设。遵循这个假设的好处是: 它是评估算法安全性的惟一可用的方式。因为如果密它是评估算法安全性的惟一可用的方式。因为如果密码

23、算法保密的话,密码算法的安全强度无法进行评估。码算法保密的话,密码算法的安全强度无法进行评估。 防止算法设计者在算法中隐藏后门。因为算法公开后,防止算法设计者在算法中隐藏后门。因为算法公开后,密码学家可以研究分析是否存在漏洞,同时也接受攻击者密码学家可以研究分析是否存在漏洞,同时也接受攻击者的检验。的检验。 有助于推广使用。当前网络应用十分普及,密码算法有助于推广使用。当前网络应用十分普及,密码算法的应用不再局限于传统的军事领域,只有算法公开,才可的应用不再局限于传统的军事领域,只有算法公开,才可能被大多数人接受并使用,同时,对用户而言,只需掌握能被大多数人接受并使用,同时,对用户而言,只需掌

24、握密钥就可以使用。密钥就可以使用。0 1 0 1 0 对称密码学对称密码学古典密码1.移位密码移位密码2.仿射密码仿射密码3.维吉利亚维吉利亚(Vigenere)密码密码4.置换密码置换密码对称加密体制对称加密体制1序列密码序列密码2分组密码分组密码3数据加密标准数据加密标准DES0 1 0 1 0 艺术密码与古典密码艺术密码与古典密码艺术密码艺术密码可以通过多种方式来实现,主要可以通过多种方式来实现,主要方式包括:文字变形、在艺术作品中加入方式包括:文字变形、在艺术作品中加入巧妙的手笔、符号的适当排列等等,目前巧妙的手笔、符号的适当排列等等,目前已经发展成为隐写术。已经发展成为隐写术。古典密

25、码古典密码本质上是一种以线性代数为基础本质上是一种以线性代数为基础的密码形式,主要包括置换密码体制和代的密码形式,主要包括置换密码体制和代换密码体制。换密码体制。许多文献直接将艺术密码归为古典密码许多文献直接将艺术密码归为古典密码0 1 0 1 0 艺术密码实例艺术密码实例水浒传吴用智赚玉麒麟水浒传吴用智赚玉麒麟芦芦花丛中一扁舟,花丛中一扁舟,俊俊杰俄从此地游,杰俄从此地游,义义士若能知此理,士若能知此理,反反躬难逃可无忧。躬难逃可无忧。0 1 0 1 0 早早妆未未罢暗凝眉,暗凝眉,迎迎户愁看紫燕愁看紫燕飞,无力回天春已老,无力回天春已老,双栖画双栖画栋不如不如归。艺术密码实例艺术密码实例0

26、 1 0 1 0 水洗水洗尘埃道未埃道未甞甞,甘于名利两相忘。,甘于名利两相忘。心心怀六洞丹霞客,口六洞丹霞客,口诵三清紫府章。三清紫府章。十里采十里采莲歌达旦,一歌达旦,一轮明月桂明月桂飘香。香。日高公子日高公子还相相觅,见得山中好酒得山中好酒浆。艺术密码实例艺术密码实例0 1 0 1 0 艺术密码实例0 1 0 1 0 The word steganography, with origin in Greek, means “covered writing,” in contrast with cryptography, which means “secret writing.”Exampl

27、e: covering data with text0 1 0 1 0 Example: using dictionaryExample: covering data under color image0 1 0 1 0 古典密码编码学之外:最牛游戏玩家密码学破译隐藏任务密码学破译隐藏任务游戏大航海时代Online永远的矢车菊任务至今尚未被人破解两位堪称史上最牛的玩家冰魂心、水镜却利用密码学密码学知识找到了一丝曙光!破译优势信息在城里领了26个物品后,提示卡纳冯伯爵在金字塔附近,但是,无论换什么衣服和他说话,都没有实质性反应。永远的矢车菊任务连锁到:寻找大盗墓集团,和海事公会会长对话三次,分别

28、给出提示:“4445332443”、“434512454212”、“42452433”。0 1 0 1 0 古典密码编码学之外:最牛游戏玩家密码学破译隐藏任务密码学破译隐藏任务暗示一数字替代法是密码学密码学中常用的方法先分拆这个数列找到数字替代的字母暗示二如何分拆数字第一行10个数字,第二行12个数字,第三行8个数字,3数字分拆不完整采用2数字分拆444533244343451245421242452433暗示三所有数字都是由1-5以内的数字组成暗合棋盘密码0 1 0 1 0 古典密码编码学之外:最牛游戏玩家密码学破译隐藏任务密码学破译隐藏任务棋盘密码棋盘密码公元前2世纪,伟大的希腊历史学家、

29、军事家、数学家波利比奥斯发明了波利比奥斯方表Polybius Square棋盘密码棋盘密码123451abcde2fghik3lmnop4qrstu5vwxyz明文明文:tuni(j)stunis突尼斯suburb郊外rui(j)nruin废墟0 1 0 1 0 古典密码古典密码1.移位密码移位密码移位密码的加密方法是将明文字母按某种方式进行移位,如移位密码的加密方法是将明文字母按某种方式进行移位,如著名的恺撒密码。在移位密码中,著名的恺撒密码。在移位密码中,将将26个英文字母依次与个英文字母依次与0,1,2,25对应对应,密文字母,密文字母c 可以用明文字母可以用明文字母m和密钥和密钥k按如

30、下按如下算法得到:算法得到: c=m+k(mod26)给定一个密文字母给定一个密文字母c,对应的明文字母对应的明文字母m可由可由c和密钥和密钥k按如下按如下算法得到:算法得到: m=c-k(mod26)按照密码体制的数学形式化定义,移位密码体制描述为五元按照密码体制的数学形式化定义,移位密码体制描述为五元组组(P,C,K,E,D),其中:,其中: P=C=K= Z26=0,1,2,25, E=ek: Z26 Z26|ek(m)=m +k(mod26), D=dk: Z26 Z26|dk(c)=c k(mod26)。0 1 0 1 0 古典密码古典密码2.仿射密码仿射密码仿射密码和移位密码一样仿

31、射密码和移位密码一样,也是一种替换密码也是一种替换密码.不不同的是同的是,移位密码移位密码中中,我们使用的是我们使用的是模模n加加;而在下而在下面的仿面的仿射密码射密码中中,我们使用的是我们使用的是模模n乘乘.在安全性在安全性方面方面,仿射密码同移位密码一样仿射密码同移位密码一样,都是都是极其差极其差的的,不仅因为他们的原理简单不仅因为他们的原理简单,更要命更要命的是这两种替的是这两种替换密码换密码没有隐藏明文的字频信息没有隐藏明文的字频信息,这很容易导致这很容易导致破解者轻易的攻破破解者轻易的攻破.0 1 0 1 0 古典密码古典密码2.仿射密码仿射密码仿射密码算法如下:仿射密码算法如下:(

32、1)明密文字母表为明密文字母表为Z26(2)秘匙秘匙K=(a,b)Z26_Z26.其中其中Z26_表示小于表示小于26且与且与26互素互素(或叫互质或叫互质)的正整数的集合的正整数的集合,这点非常重要的这点非常重要的.(为什么?)(为什么?)(3)加密变换为加密变换为y=(ax+b)mod26;(4)解密变换为解密变换为:x=a-1(y-b)mod26若若a,b两数的乘积对正整数两数的乘积对正整数n取模的结果为取模的结果为1.则称则称a,b互为另外一互为另外一个的模逆个的模逆.比如比如:3*7=21;21%20=1;所以所以3,7互为互为20的的模逆模逆.9*3=27;27%26=1;所以所以

33、9,3互为互为26的的模逆模逆.0 1 0 1 0 古典密码古典密码例例假设假设k1=9和和k2=2,明文字母为,明文字母为q,则对其用仿射密码加密如下:则对其用仿射密码加密如下:先把文字母为先把文字母为q转化为数字转化为数字13。由加密算法得。由加密算法得 c=9 13+2=119(mod26)=15再把再把c=15转化为字母得到密文转化为字母得到密文P。解密时,先计算解密时,先计算k1 1。因为。因为9 31(mod26),因此,因此k1 1=3。再。再由解密算法得由解密算法得 m=k1 1(c k2)(mod26)=3 (c-2)=3c-6(mod26)45+20(mod26)=13(m

34、od26)。对应的明文字母为对应的明文字母为q。0 1 0 1 0 古典密码古典密码3.维吉利亚维吉利亚(Vigenere)密码密码Vigenere是法国的密码学专家,是法国的密码学专家,Vigenere密码是以他的名字命密码是以他的名字命名的。该密码体制有一个参数名的。该密码体制有一个参数n。在加解密时同样把英文字母。在加解密时同样把英文字母用数字代替进行运算,并按用数字代替进行运算,并按n个字母一组进行变换。明、密文个字母一组进行变换。明、密文空间及密钥空间都是空间及密钥空间都是n长的英文字母串的集合,因此可表示长的英文字母串的集合,因此可表示P=C=K=(Z26)n。加密变换如下:。加密

35、变换如下:设密钥设密钥k=(k1,k2,kn),明文,明文P=(m1,m2,mn),加密函数,加密函数ek(P)=(c1,c2,cn),其中,其中ci=(mi+ki)(mod26),i=1,2,n。对密文对密文c=(c1,c2,cn),密钥,密钥k=(k1,k2,kn),解密变换为,解密变换为dk(c)=(m1,m2,mn),其中,其中mi=(ci ki)(mod26),i=1,2,n。0 1 0 1 0 古典密码古典密码例例设设n=6,密钥是密钥是cipher,这相应于密钥,这相应于密钥k=(2,8,15,7,4,17),明文,明文是是thiscryptosystemisnotsecure。

36、试用。试用Vigenere密码对其加密。密码对其加密。解解首先将明文按每首先将明文按每6个分为一组,然后与密钥进行模个分为一组,然后与密钥进行模26“加加”得:得:19781821724151914182428157417281574172115232568023821221518194128181314191842201742815741728157417281520119191291522825819222519相应的密文是:相应的密文是:VPXZGIAXIVWPUBTTMJPWIZITWZT0 1 0 1 0 古典密码古典密码4.置换密码置换密码置换密码是把明文中各字符的置换密码是把明文

37、中各字符的位置次序重新排列位置次序重新排列来得到来得到密文的一种密码体制。实现的方法多种多样。在这里,密文的一种密码体制。实现的方法多种多样。在这里,我们介绍一类较常见的置换密码。我们介绍一类较常见的置换密码。其加解密方法如下:把明文字符以固定的宽度其加解密方法如下:把明文字符以固定的宽度m(分组长分组长度度)水平地水平地(按行按行)写在一张纸上(如果最后一行不足写在一张纸上(如果最后一行不足m,需要补充固定字符),按需要补充固定字符),按1,2,m的一个置换的一个置换 交换交换列的位置次序,再按垂直方向列的位置次序,再按垂直方向(即按列即按列)读出即得密文。读出即得密文。解密就是将密文按相同

38、的宽度解密就是将密文按相同的宽度m垂直在写在纸上,按置垂直在写在纸上,按置换换 的逆置换交换列的位置次序,然后水平地读出得到明的逆置换交换列的位置次序,然后水平地读出得到明文。置换文。置换 就是密钥。就是密钥。0 1 0 1 0 古典密码古典密码例例设明文设明文Jokerisamurderer,密钥,密钥 =(41)(32)(即即 (4)=1, (1)=4, (3)=2, (2)=3),即按即按4,3,2,1列的次序读出得到密文,试写出加解密的过程与结列的次序读出得到密文,试写出加解密的过程与结果。果。解:加密时,把明文字母按长度为解:加密时,把明文字母按长度为4进行分组,每组写成一行,这样明

39、文字进行分组,每组写成一行,这样明文字母母Jokerisamurderer被写成被写成4行行4列,然后把这列,然后把这4行行4列按列按4,3,2,1列的次列的次序写出得到密文。过程与结果如图序写出得到密文。过程与结果如图2-3-1所示。解密时,把密文字母按所示。解密时,把密文字母按4个一个一列写出,再按列写出,再按 的逆置换重排列的次序,最后按行写出,即得到明文。的逆置换重排列的次序,最后按行写出,即得到明文。明文:明文:Jokerisamurderer按按4字母一行写出字母一行写出jokerisamurderer按列写出的顺序按列写出的顺序4321按列写出密文:按列写出密文:eadrksre

40、oiurjrme密文:密文:eadrksreoiurjrme按按4字母一列写出字母一列写出ekojasirdrumrere交换列的顺序交换列的顺序4321按按 行行 写写 出出 明明 文文 : joker is amurderer0 1 0 1 0 古典密码古典密码总结总结在现代密码学中,假定密码方案遵从在现代密码学中,假定密码方案遵从Kerckhoffs原则,因此,对密文的破解取决于加密密钥。原则,因此,对密文的破解取决于加密密钥。就古典密码而言,由于算法相对简单,算法复就古典密码而言,由于算法相对简单,算法复杂度也不高,一种可能的攻击方法是对所有可杂度也不高,一种可能的攻击方法是对所有可能

41、的密钥进行尝试的强力攻击,称为穷举搜索能的密钥进行尝试的强力攻击,称为穷举搜索攻击。攻击。移位密码:密钥空间移位密码:密钥空间K= Z26=0,1,2,25,因此,最多尝试,因此,最多尝试26次即可恢复明文。次即可恢复明文。0 1 0 1 0 古典密码古典密码总结总结仿射密码:密钥空间为仿射密码:密钥空间为K=(k1,k2)|k1,k2 Z26,其中其中gcd(k1,26)=1,k1可能的取值有可能的取值有1,3,5,7,9,11,15,17,19,21,23,25,因此,最多尝试,因此,最多尝试1226次即可次即可恢复明文。恢复明文。对于古典密码方案而言,由于密钥空间非常有限,因对于古典密码

42、方案而言,由于密钥空间非常有限,因此,很难抵抗穷举搜索攻击。另一方面,就英文而言,此,很难抵抗穷举搜索攻击。另一方面,就英文而言,一些古典密码方案不能很好地隐藏明文消息的统计特一些古典密码方案不能很好地隐藏明文消息的统计特征,攻击者也可以利用这一弱点进行破译。征,攻击者也可以利用这一弱点进行破译。结论:古典密码方案并不适合结论:古典密码方案并不适合Kerckhoffs原则,密码方原则,密码方案的保密性基于算法的保密。案的保密性基于算法的保密。0 1 0 1 0 对称加密体制对称加密体制序列密码序列密码分组密码分组密码数据加密标准数据加密标准DES这个世界的问题在于聪明人充满疑这个世界的问题在于

43、聪明人充满疑惑,而傻子们坚信不疑。惑,而傻子们坚信不疑。 - -罗素罗素 0 1 0 1 0 对称加密体制对称加密体制在这种密码体制中,对于大多数算法而言,解密算法在这种密码体制中,对于大多数算法而言,解密算法是加密算法的逆运算,加密密钥和解密密钥相同,满是加密算法的逆运算,加密密钥和解密密钥相同,满足关系:足关系:M=Dk(C)=Dk(Ek(M)。对称密码体制的开放性差,要求通信双方在通信之前,对称密码体制的开放性差,要求通信双方在通信之前,商定一个共享密钥,彼此必须妥善保管。商定一个共享密钥,彼此必须妥善保管。对称密码体制分为两类。一类是对明文的单个位(或对称密码体制分为两类。一类是对明文

44、的单个位(或字节)运算的算法,称为字节)运算的算法,称为序列密码算法,也称为流密序列密码算法,也称为流密码算法码算法(StreamCipher)。另一类算法是把明文信息划。另一类算法是把明文信息划分成不同的块(或小组)结构,分别对每个块进行加分成不同的块(或小组)结构,分别对每个块进行加密和解密,称为密和解密,称为分组加密算法分组加密算法(BlockCipher)。0 1 0 1 0 滚动密钥生成器滚动密钥生成器.滚动密钥生成器滚动密钥生成器.Ezi(Mi)Dzi(Ci)KKiKCiMiKi同步流密码体制模型同步流密码体制模型: :密钥流与明文串相互独立密钥流与明文串相互独立MiEzi(Mi)

45、Dzi(Ci)流密码的基本思想流密码的基本思想:产生一个密钥流:产生一个密钥流k=k1k2,根据下面规则加密明根据下面规则加密明文文M=m1m2;C=C1C2=EK1(m1)EK2(m2)序列密码序列密码( (流密码流密码) )0 1 0 1 0 滚动密钥生成器滚动密钥生成器.滚动密钥生成器滚动密钥生成器.KZiKYiXiZiXi+加法流密码体制模型加法流密码体制模型+序列密码序列密码0 1 0 1 0 序列密码序列密码序列密码分为同步序列密码和自同步序列密码两种。序列密码分为同步序列密码和自同步序列密码两种。同步序列密码要求发送方和接收方必须是同步的,在同样的位同步序列密码要求发送方和接收方

46、必须是同步的,在同样的位置用同样的密钥才能保证正确地解密。如果在传输过程中密文置用同样的密钥才能保证正确地解密。如果在传输过程中密文序列有篡改、删除、插入等错误导致同步失效,则不可能成功序列有篡改、删除、插入等错误导致同步失效,则不可能成功解密,只能通过重新同步来实现恢复。在传输期间,一个密文解密,只能通过重新同步来实现恢复。在传输期间,一个密文位的改变只影响该位的恢复,不会对后继位产生影响。位的改变只影响该位的恢复,不会对后继位产生影响。自同步序列密码的密钥的产生与密钥和已产生的固定数量的密自同步序列密码的密钥的产生与密钥和已产生的固定数量的密文位有关,因此,密文中产生的一个错误会影响到后面

47、有限位文位有关,因此,密文中产生的一个错误会影响到后面有限位的正确解密。因此,自同步密码的密码分析比同步密码更加困的正确解密。因此,自同步密码的密码分析比同步密码更加困难。难。序列密码具有实现简单、便于硬件计算、加解密处理速度快、序列密码具有实现简单、便于硬件计算、加解密处理速度快、低错误(没有或只有有限位的错误)传播等优点,但同时也暴低错误(没有或只有有限位的错误)传播等优点,但同时也暴露出对错误产生不敏感的缺点。露出对错误产生不敏感的缺点。0 1 0 1 0 序列密码序列密码序列密码的安全强度依赖于密钥流产生器所产生的密钥流序列的特性,序列密码的安全强度依赖于密钥流产生器所产生的密钥流序列

48、的特性,关键是密钥生成器的设计及收发两端密钥流产生的同步技术。关键是密钥生成器的设计及收发两端密钥流产生的同步技术。1.伪随机序列伪随机序列在序列密码中,一个好的密钥流序列应该满足:在序列密码中,一个好的密钥流序列应该满足:良好的伪随机性,良好的伪随机性,如极大的周期,极大的线性复杂度,序列中如极大的周期,极大的线性复杂度,序列中0和和1的分布均匀;的分布均匀;产生产生的算法简单;的算法简单;硬件实现方便。硬件实现方便。产生密钥流序列的方法可以是使用自然现象随机生成或标准产生密钥流序列的方法可以是使用自然现象随机生成或标准C库函数中库函数中函数函数rand()。产生伪随机数的一个不错的选择是使

49、用数论中的难题。最常用的是BBS伪随机序列生成器:产生两个大素数p和q,且,设n=pq,并选择一个随机整数x (x 与n 互素)设初始输入,BBS通过如下过程产生一个随机序列:;是的最低有效比特。0 1 0 1 0 序列密码序列密码2.线性反馈移位寄存器线性反馈移位寄存器通常,产生密钥流序列的硬件是反馈移位寄存器。一个反通常,产生密钥流序列的硬件是反馈移位寄存器。一个反馈移位寄存器由两部分组成:移位寄存器和反馈函数:馈移位寄存器由两部分组成:移位寄存器和反馈函数:a an na an-1 n-1 a a2 2a a1 1f(a a1,1,a a2,2,a an n) )输出序列输出序列f(a1

50、,a2,an)=cna1cn-1a2.c1an+0 1 0 1 0 序列密码序列密码对于对于n级线性反馈移位寄存器,不可能产生全级线性反馈移位寄存器,不可能产生全0状状态,因此,最大可能周期为态,因此,最大可能周期为。选择线性反馈移位寄存器作为密钥流生成器的主选择线性反馈移位寄存器作为密钥流生成器的主要原因有:要原因有:适合硬件实现;适合硬件实现;能产生大的周期能产生大的周期序列;序列;能产生良好的统计特性的序列;能产生良好的统计特性的序列;它的它的结构能够应用代数方法进行很好的分析。结构能够应用代数方法进行很好的分析。实际应用中,通常将多个实际应用中,通常将多个LFSR组合起来构造非组合起来

51、构造非线性反馈移位寄存器,线性反馈移位寄存器,n级非线性反馈移位寄存级非线性反馈移位寄存器产生伪随机序列的周期最大可达到器产生伪随机序列的周期最大可达到,因此,因此,研究产生最大周期序列的方法具有重要意义。研究产生最大周期序列的方法具有重要意义。0 1 0 1 0 序列密码序列密码3.RC4RC4是由麻省理工学院的是由麻省理工学院的RonRivest教授在教授在1987年为年为RSA公司设计的一种可变密钥长度、面向字节流的序列密码。公司设计的一种可变密钥长度、面向字节流的序列密码。RC4算法很简单,它以一个数据表为基础,对表进行非线算法很简单,它以一个数据表为基础,对表进行非线性变换,从而产生

52、密码流序列。包含两个主要算法:密钥性变换,从而产生密码流序列。包含两个主要算法:密钥调度算法调度算法(Key-SchedulingAlgorithm,KSA)和伪随机生成和伪随机生成算法算法(PseudoRandomGenerationAlgorithm,PRGA)。0 1 0 1 0 序列密码序列密码KSA的作用是将一个随机密钥的作用是将一个随机密钥(大小为大小为40256位位)变换成变换成一个初始置换表一个初始置换表S。过程如下:。过程如下:S11 S表中包含表中包含256个元素个元素S0S255,对其初始化,令,对其初始化,令 S12 用主密钥填充字符表用主密钥填充字符表K,如果密钥的长

53、度小于,如果密钥的长度小于256个个字节,则依次重复填充,直至将字节,则依次重复填充,直至将K被填满。被填满。 S13 令令 j=0;S14 对于对于 i从从0到到255循环循环 交换交换 Si和和Sj 。0 1 0 1 0 序列密码序列密码PRGA的作用是从的作用是从S表中随机选取元素,并产生密钥表中随机选取元素,并产生密钥流。过程如下:流。过程如下:S21i=0,j=0;S22i=i+1(mod 256);S23j=j+Simod 256S24交换交换Si和和Sj;S25t=Si+Sjmod 256;S26输出密钥字输出密钥字k=St。虽然虽然RC4要求主密钥要求主密钥K至少要至少要40位

54、,为了保证安全强位,为了保证安全强度,目前至少要达到度,目前至少要达到128位。位。0 1 0 1 0 分 组 密 码分组密码概述分组密码概述分组密码是将明文消息序列分组密码是将明文消息序列m1,m2,m1k,分成等长的消息组分成等长的消息组(m1,m2,mn),(mn+1,mn+2,m2n),在密钥控制下,按固定的算法在密钥控制下,按固定的算法Ek一组一组进行加密。加一组一组进行加密。加密密后输出等长密文组(后输出等长密文组(y1,ym),(ym+1,y2m),加加 密密 算算 法法密密 钥钥 k k明文明文(x1,x2,xn)密文密文(y1,y2,yn)加密一组明文的过程加密一组明文的过程

55、0 1 0 1 0 分组密码分组密码分组加密的本质就是由密钥分组加密的本质就是由密钥控制的从明文空间控制的从明文空间M(长(长为为n的比特串的集合)到密文空间的比特串的集合)到密文空间C(长为(长为r的比特串的比特串的集合)的一个的集合)的一个1-1映射。为了保证密码算法的安全强映射。为了保证密码算法的安全强度,一般说来,加密变换的构造应遵循下列几个原则:度,一般说来,加密变换的构造应遵循下列几个原则:分组长度足够大分组长度足够大密钥量空间足够大密钥量空间足够大加密变换足够复杂加密变换足够复杂加密和解密运算简单,易于实现加密和解密运算简单,易于实现加密和解密的逻辑结构最好一致加密和解密的逻辑结

56、构最好一致0 1 0 1 0 分组密码分组密码古典密码中最基本的变换是代替(古典密码中最基本的变换是代替(substitutioncipher)和移位和移位(置换置换permutationcipher),其目的是产生尽可能混乱的密文。代替变换就是经过,其目的是产生尽可能混乱的密文。代替变换就是经过复杂的变换关系将输入位进行转换,记为复杂的变换关系将输入位进行转换,记为S,称为,称为S盒;移位变换就是将输入盒;移位变换就是将输入位的排列位置进行变换,记为位的排列位置进行变换,记为P,称为,称为P盒。盒。分组密码由多重分组密码由多重S盒和盒和P盒组合而成,如图所示。盒组合而成,如图所示。S盒的直接

57、作用是将输入位进盒的直接作用是将输入位进行某种变换,起到混乱作用,行某种变换,起到混乱作用,P盒的直接作用就是移动输入位的排列位置关系,盒的直接作用就是移动输入位的排列位置关系,起到扩散的作用。起到扩散的作用。0 1 0 1 0 分组密码分组密码实现分组密码设计算法的具体操作包括以下三个方面:1.代替代替将明文位用某种变换关系变换成新的位,使得产生的密文是一堆杂乱无章的乱码,分组密码中采用复杂的非线性代替变换就可达到比较好的混乱效果。2.移位移位指让明文中的每一位(包括密钥的每一位)直接或间接影响输出密文中的许多位,以便隐蔽明文的统计特性。这种效果也称为“雪崩效应”。3.乘积变换乘积变换在分组

58、密码算法设计中,为了增强算法的复杂度,常用的方法是采用乘积变换的思想,即加密算法不仅仅是简单的一次或两次基本的S盒和P盒变换,而是通过两次或两次以上S盒和P盒的反复应用,也就是迭代的思想,克服单一密码变换的弱点,构成更强的加密结果,以强化其复杂程度。0 1 0 1 0 数据加密标准数据加密标准-DES-DES1971年末年末IBM公司提出了一种称为公司提出了一种称为Lucifer的密码算法的密码算法1977年年7月月15日该算法被正式采纳作为美国联邦信息处理标准生效,即日该算法被正式采纳作为美国联邦信息处理标准生效,即数据加密标准(数据加密标准(DataEncryptionStandard,D

59、ES)。实现分组密码设)。实现分组密码设计算法的具体操作包括以下三个方面:计算法的具体操作包括以下三个方面:1.DES加密算法流程加密算法流程乘乘积积变变换换0 1 0 1 0 数据加密标准数据加密标准-DES-DESDES加密过程加密过程64位明文位明文密钥(密钥(1)密钥(密钥(2)密钥(密钥(3)密钥(密钥(16) 算法概要Li = Ri-1 Ri = Li-1 f (Ri-1, Ki )0 1 0 1 0 Ri-1压缩置换压缩置换扩展置换扩展置换S-盒代替盒代替Li-1Li密密钥钥密密钥钥移位移位移位移位P-盒转换盒转换Ri带有密钥变换的带有密钥变换的DES的一轮迭代的一轮迭代0 1

60、0 1 0 数据加密标准数据加密标准-DES-DES(1)初始置换IP初始置换如图所示,方法是将64位明文的位置顺序打乱,表中的数字代表64位明文的输入顺序号,表中的位置代表置换后的输出顺序,表中的位置顺序是先按行后按列进行排序。初始置换表中的位序特征:64位输入按8行8列进行排列,最右边一列按2,4,6,8和1,3,5,7的次序进行排列,往左边各列的位序号依次紧邻其右边一列各序号加8。0 1 0 1 0 数据加密标准数据加密标准-DES-DES(2)乘积变换(乘积变换(16轮迭代)轮迭代)乘积变换部分要进行乘积变换部分要进行16轮迭代,轮迭代,如图所示。将初始置换得到的如图所示。将初始置换得

61、到的64位结果分为两半,记为位结果分为两半,记为L0和和R0,各各32位。设初始密钥位。设初始密钥64位,经密位,经密钥扩展算法产生钥扩展算法产生16个个48位的子密位的子密钥,记为钥,记为K1,K2,K16,每轮,每轮迭代的逻辑关系为:迭代的逻辑关系为:其中其中,f函数是每轮变换函数是每轮变换的核心变换的核心变换。32320 1 0 1 0 数据加密标准数据加密标准-DES-DES(3)逆初始置换逆初始置换IP-1逆初始置换逆初始置换IP-1与初始置换正好相与初始置换正好相反,如图所示。比如,处在第一反,如图所示。比如,处在第一位的比特位置换后排在第位的比特位置换后排在第58位,位,第二位排

62、在第第二位排在第50位。位。逆初始置换表中的位序特征:逆初始置换表中的位序特征:64位输入依然按位输入依然按8行行8列进行排列,列进行排列,1,2,3,4,5,6,7,8按列从下往上进行按列从下往上进行排列,然后是排列,然后是9到到16排在右边一列,排在右边一列,依次进行排依次进行排4列,然后从列,然后从33开始排开始排在第一列的左边,从在第一列的左边,从41开始排在开始排在第二列的左边,交叉进行。第二列的左边,交叉进行。0 1 0 1 0 数据加密标准数据加密标准- -DESDES2.乘积变换中的乘积变换中的f变换变换乘积变换的核心是乘积变换的核心是f变换,变换,它是非线性的,是每轮它是非线

63、性的,是每轮实现混乱的最关键的模实现混乱的最关键的模块,输入块,输入32位,经过扩位,经过扩展变换变成展变换变成48位,与子位,与子密钥进行异或运算,选密钥进行异或运算,选择压缩变换择压缩变换S盒替换,盒替换,将将48位压缩还原成位压缩还原成32位,位,再进行再进行P盒替换,输出盒替换,输出32位。如图所示,阴影位。如图所示,阴影部分为部分为f变换。变换。0 1 0 1 0 数据加密标准数据加密标准-DES-DES详详细细变变化化如如图图所所示示0 1 0 1 0 DES:加密运算和压缩运算加密运算和压缩运算p密密钥钥加加密密运运算算:将子密钥产生器输出的48bit子密钥ki与选择扩展运算E输

64、出的48bits数据按位模2相加。p选选择择压压缩缩运运算算S:将前面送来的48bit数据自左至右分成8组,每组为6bit;而后并行送入8个S一盒,每个S盒为一非线性代换网络,有4个输出。48bit寄存器寄存器32bit寄存器寄存器S1S2S3S4S5S6S7S86位位4位位选择函数组选择函数组0 1 0 1 0 0 1 0 1 0 0 1 0 1 0 数据加密标准数据加密标准-DES-DES(1)扩展置换扩展置换扩展置换将扩展置换将32位扩展成位扩展成48位,按如图位,按如图2-4-12所示的排列方式进行重新排列所示的排列方式进行重新排列得到。得到。0 1 0 1 0 DES:选择扩展运算选

65、择扩展运算选择扩展运算选择扩展运算E:将输入的32bitRi-1扩展成48bit的输出令s表示E原输入数据比特的原下标,则E的输出是将原下标s0或1(mod4)的各比特重复一次得到的,即对原第32,1,4,5,8,9,12,13,16,17,20,21,24,25,28,29各位都重复一次,实现数据扩展。扩展扩展0 1 0 1 0 2.4.3 2.4.3 数据加密标准数据加密标准-DES-DES(2)S盒替换盒替换将将48位按位按6位分为位分为1组,共组,共8组,也称为组,也称为8个个S盒,记为盒,记为S1,S2,S8,每个,每个S盒产生盒产生4位输出。位输出。8个个S盒的替换表如盒的替换表如

66、表表2-4-2所示。所示。每个每个S盒都由盒都由4行行16列组成,每行是列组成,每行是015的一个全排列,的一个全排列,每个数字用对应的每个数字用对应的4位二进制比特串表示。如位二进制比特串表示。如9用用1001表表示,示,7用用0111表示。设表示。设6位输入为:位输入为:a1a2a3a4a5a6,将,将a1a6组成一个组成一个2位二进制数,对应位二进制数,对应S盒表中的行号;将盒表中的行号;将a2a3a4a5组成一个组成一个4位二进制数,对应位二进制数,对应S盒表中的列号;映盒表中的列号;映射到交叉点的数据就是该射到交叉点的数据就是该S盒的输出。盒的输出。0 1 0 1 0 2.4.3 2

67、.4.3 数据加密标准数据加密标准-DES-DES(2)S盒替换0 1 0 1 0 2.4.3 2.4.3 数据加密标准数据加密标准-DES-DES(2)S盒替换盒替换 DES中其它算法都是线性的,而中其它算法都是线性的,而S-盒运盒运算则是非线性的算则是非线性的 S-盒不易于分析,它提供了更好的安全盒不易于分析,它提供了更好的安全性性 所以所以S-盒是算法的关键所在盒是算法的关键所在0 1 0 1 0 数据加密标准数据加密标准-DES-DES(3)P盒替换盒替换P盒替换就是将盒替换就是将S盒替换后的盒替换后的32位作为输入,按下图顺序重新排列,得到位作为输入,按下图顺序重新排列,得到的的32

68、位结果即为位结果即为f函数的输出函数的输出f(Ri-1,Ki)。0 1 0 1 0 数据加密标准数据加密标准-DES-DES-子密钥的生成子密钥的生成0 1 0 1 0 数据加密标准数据加密标准-DES-DES(1)密钥置换密钥置换(PC-1)与压缩置换与压缩置换(PC-2)对于对于64位初始密钥位初始密钥K,按下表中置换表,按下表中置换表PC-1进行重新排列。不难算出,丢掉进行重新排列。不难算出,丢掉了其中了其中8的整数倍位置上的比特位,转换选择的整数倍位置上的比特位,转换选择1后的变换结果是后的变换结果是56位。将前位。将前28位记为位记为C0,后,后28位记为位记为D0。0 1 0 1

69、0 DES:加加/解密数学描述解密数学描述p加密过程加密过程L0R0IP(64bit明文)LiRi-1RiLi-1f(Ri-1,ki)i=1,.,16(64bit密文)IP-1(R16L16)p解密过程:解密过程:DES的加密运算是可逆的,其解密过程可类似地进行。R16L16IP(64bit密文)Ri-1Li Li-1Rif(Li-1,ki)i=16,.,1(64bit明文)IP-1(R0L0)0 1 0 1 0 分组密码:分组密码的工作模式比较分组密码的工作模式比较模式描述用途电码本模式(ECB)每个明文组独立地以同一密钥加密。传送短数据密码分组链接模式(CBC)加密算法的输入是当前明文组与前一密文组的异或。传送数据分组;认证。密码反馈模式(CFB)每次只处理输入的j比特,将上一次的密文用作加密算法的输入以产生伪随机输出,该输出再与当前明文异或以产生当前密文。传送数据流;认证。输出反馈模式(OFB)与CFB类似,不同之处是本次加密算法的输入为前一次加密算法的输出。有扰信道上(无线通讯)传送数据流

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作计划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号