古典密码1.密码的基本概念○1作为数学的一个分支,是密码编码学和密码分析学的统称○2密码编码学:使消息保密的技术和科学研究内容:1、序列密码算法的编码技术2、分组密码算法的编码技术3、公钥密码体制的编码技术○3密码分析学:破译密文的科学和技术研究内容:1、密码算法的安全性分析和破译的理论、方法、技术和实践2、密码协议的安全性分析的理论与方法3、安全保密系统的安全性分析和攻击的理论、方法、技术和实践2.密码体制的5构成要素:○1M:明文消息空间,表示所有可能的明文组成的有限集。○2C:密文消息空间,表示所有可能的密文组成的有限集。○3K:密钥空间,表示所有可能的密钥组成的有限集。○4E:加密算法集合。○5D:解密算法集合3.密码体制的分类:○1对称密匙密码系统加密密钥=解密密钥钥匙是保密的依赖密钥选择○2非对称密匙密码系统加密密钥≠解密密钥加密密钥为公钥(PublicKey)解密密钥为私钥(PrivateKey)4.古典密码体制的算法○1棋盘密码希腊作家Polybius提出密钥空间:25○2移位密码○3代换密码○4维吉尼亚密码○5仿射密码:仿射密码是移位密码的一个推广,其加密过程中不仅包含移位操作,而且使用了乘法运算例题:1-1mod26=13-1mod26=95-1mod26=217-1mod26=1511-1mod26=1917-1mod26=2325-1mod26=25○6置换密码○7Hill密码例题:5.密码分析的Kerckhoffs原则:攻击者知道所用的加密算法的内部机理,不知道的仅仅是加密算法所采用的加密密钥6.常用的密码分析攻击分为以下四类:惟密文攻击已知明文攻击选择明文攻击选择密文攻击7.衡量密码体制安全性的基本准则:计算安全的可证明安全的无条件安全的分组密码8.分组密码的设计准则○1概念:又称块密码。是指对固定长度的一组明文进行加密的一种加密算法,这一固定长度称之为分组长度○2在分组加密中,要求填充是可逆的○3严格的雪崩准则SAC位独立准则BIG保证的雪崩准则GAC非线性性和随机性9.Feistel分组密码的基本结构:Shannon能够破坏对密码系统进行各种统计分析攻击的两个基本操作:扩散和混淆10.Feistel安全性取决于:○1明文消息和密文消息分组的大小○2子密钥的大小○3循环次数○4子密钥产生算法○5轮函数(核心——非线性)11.数据加密标准——DES(DataEncryptionStandard)○1包含16个阶段的“替换--置换”的分组加密算法经过16轮加密得到64位密文序列○2密钥的长度56位12.DES共8个s盒——6位输入4位输出13.高级加密标准AES(AdvancedEncryptionStandard)128位分组/密钥—10轮192位分组/密钥—12轮256位分组/密钥—14轮14.IDEA(InternationalDataEncryptionAlgorithm:国际数据加密标准)64位分组128位密钥8轮15.分组密码的4种常用工作模式为:“工作模式”是指以某个分组密码算法为基础,解决对任意长度的明文的加密问题的方法电码本模式(Electronic-CodebookMode,ECB模式)密码反馈模式(Cipher-FeedbackMode,CFB模式)密码分组链接模式(Cipher-Block-Chaining,CBC模式)输出反馈模式(Output-FeedbackMode,OFB模式)模式(计数器CounterMode,CTR模式)16.分组密码的分析技术主要有以下几种:穷尽搜索攻击;差分密码分析攻击;线性密码分析攻击;相关的密钥密码分析攻击。序列密码17.序列密码的设计思想18.序列密码的主要原理:通过随机数发生器产生性能优良的伪随机序列(密钥流),使用该序列加密信息流(逐比特加密),得到密文序列。19.序列密码的分类:○1同步序列密码性质:1.同步性2.无错误传播性3.主动攻击○2自同步序列密码性质:1.自同步性2.错误传播的有限性3.主动攻击4.明文统计扩散性20.随机性检验的5个统计测试○1频率测试○2序列测试○3扑克测试○4游程测试○5自相关测试24.序列密码的攻击法○11.插入攻击法○2位串匹配攻击法○3单词匹配攻击法Hash函数21.Hash函数概念:是一个将任意长度的消息序列映射为较短的、固定长度的一个值的函数能够保障数据的完整性22.Hash函数的分类:○1简单的Hash函数○2带密钥的Hash函数23.带密钥的Hash函数通常用来作为:消息认证码MAC(Messageauthenticationcode)24.一个带密钥的Hash函数包括以下构成要素:X:所有消息的集合(有限级或无限级)Y:所有消息摘要构成的有限集合K:密钥集合25.Hash函数的性质:种子密钥随机数发生器密钥流明文流加密变换密文流(1)能够用于任何大小的数据分组√(2)能产生定长的输出√(3)易于计算,便于软硬件实现√用于消息认证的基本要求(4)原像稳固——单向性26.Hash函数的目的:是确定消息是否被修改27.对Hash函数攻击的目标是:生成这样的修改后消息:其Hash函数值与原始消息的Hash函数值相等。28.典型的hash函数算法○1MD5(改进MD——MessageDigest,消息摘要的算法)○2SHA-1(SHA:SecurityHashAlgorithm,安全Hash算法)29.MD5的具体步骤:看ppt30.MD5算法的性质:○1Hash函数的每一位均是输入消息序列中每一位的函数。○2保证了在Hash函数计算过程中产生基于消息x的混合重复,从而使得生成的Hash函数结果混合得非常理想。○3也就是说,随机选取两个有着相似规律性的两组消息序列,也很难产生相同的Hash函数值31.SHA-1的具体步骤:○1填充消息:首先将消息填充为512的整数倍,填充方法与MD5相同。与MD5不同的是SHA-1的输入为长度小于264比特的消息○2初始化缓冲区:初始化160位的消息摘要缓冲区(即设定IV值),每个缓冲区由5个32比特的寄存器A,B,C,D,E组成○3处理512位消息块Yq,进入主循环主循环有四轮,每轮20次操作(MD5有四轮,每轮16次操作)。每次操作对A、B、C、D和E中的三个做一次非线性函数运算然后进行与MD5中类似的移位运算和加运算公钥密码32.公钥密码体制的提出者(美国):○1W.Diffie○2M.Hellman33.公钥密码体制的基本流程:Ppt34.公钥密码体制的基本思想:ppt公钥密码体制的核心:加密变换和解密变换的设计35.公钥密码学解决的两个问题:○1密钥分配○2数字签名36.公钥密码的好处:○1简化了密钥分配任务;○2对密钥协商与密钥管理,数字签名与身份○3认证产生了深刻的影响;○4是密码学发展史上的一次革命37.RSA算法思想+提出者+RSA公钥算法特点○1提出者:美国R.Rivest,A.Shamir和L.Adleman38.RSA算法原理:大数分解问题:○1计算两个素数的乘积非常容易;○2分解该乘积却异常困难RSA算法描述ppt数字签名39.数字签名的用途:用于网络通信的安全以及各种用途的电子交易系统(如电子商务、电子政务、电子出版、网络学习、远程医疗等)中40.数字签名的概念:数字签名是对以数字形式存储的消息进行某种处理,产生一种类似于传统手书签名功效的信息处理过程它通常将某个算法作用于需要签名的消息,生成一种带有操作者身份信息的编码49.数字签名体制——组成部分○1签名算法:用于对消息产生数字签名,通常受一个签名密钥的控制签名算法或者签名密钥是保密的,有签名者掌握○2验证算法:用于对消息的数字签名进行验证,通常受一个验证密钥的控制,验证算法和验证密钥应该公开。51.功能特性:○1依赖性:一个数字签名与被签消息是紧密相关,不可分割的,离开被签消息,签名不再具有任何效用○2独特性:数字签名必须是根据签名者拥有的独特消息来产生的,包含了能够代表签名者特有身份的关键信息。○3可验证性:通过验证算法能够准切地验证一个数字签名的真伪。○4不可伪造性:伪造一个签名者的数字签名不仅在计算上不可行,而且希望通过重用或者拼接的方法伪造签名也是行不通的。○5可用性:数字签名的生成,验证和识别的处理过程相对简单,能够在普通的设备上快速完成,甚至可以在线处理,签名的结果可以存储和备份。52.安全特性:○1单向性:对于给定的数字签名算法,签名者使用自己的签名密钥sk对消息m进行数字签名是计算上容易的,但给定一个消息m和它的一个数字签名s,希望推导出签名者的签名密钥sk是计算上不可行的。○2无碰撞性:对于两个不同消息,在相同的签名密钥下的数字签名相等的概率是可以忽略的。○3无关性:对于两个不同的消息,从某个签名者对其中一个消息的签名推导出对另一个消息的签名是不可能的。53.数字签名的实现方法:54.基于公钥密码的数字签名体制55.数字签名的分类:○1直接数字签名体制○2可仲裁的数字签名体制56.对RSA数字签名算法进行选择密文攻击可以实现三个目的,即:※消息破译※骗取仲裁签名※骗取用户签名59.数字签名标准DSS实质:是ElGamal签名体制