02-1密码学基础一1页版
- 格式:pdf
- 大小:1.86 MB
- 文档页数:61
密码学基础第页现代密码公钥密码的出现1976年Diffie&Hellman的“NewDirectionsinCryptography”提出了公钥密码思想。
1977年Rivest、Shamir&Adleman提出了RSA公钥算法90年代逐步出现椭圆曲线等其他公钥算法一些新的密码技术,如,混沌密码、量子密码等第页密码学的发展史可以归结为三个阶段第一阶段:1949年之前,密码学还不是科学,而是艺术。
特点:◆出现了一些密码算法和加密设备;◆密码算法的基本手段出现,针对的是字符;◆简单的密码分析手段出现;◆这个阶段的主要特点是数据的安全基于算法的保密第二阶段:1949~1975年,密码学成为科学——DES(数据加密标准)。
数据的安全基于密钥的保密而不是算法的保密。
第三阶段:1976年以后,密码学的新方向——公钥密码学。
公钥密码使得发送端和接收端无密钥传输的保密通信成为可能。
第页2.4密码编码学分类对称密码-SymmetricKey公钥密码-PublicKeyHash函数-Hashalgorithms第页对称密码-SymmetricKey加密解密使用相同的密钥通信双方必须事先约定好密钥通常用于数据量大的加密操作,因为相对公钥密码在速度上的优势是数量级的前面所有古典密码都属于对称加密如何安全传输对称密码的密钥是难题第页公钥密码-PublicKey 两个密钥,公钥用于加密,私钥用于解密如:把公钥传到网上,则Internet上任何一个人都可以加密一个消息给你不需要双方事先约定密钥在数字签名中很有用途第页Hash函数-HashalgorithmsHash函数对任意长度的输入产生固定长度的输出,并满足一些特定的性质。
第页作业见教学网站作者:吴宁国内谈论的POS系统有两种说法:一种是商业应用的POS系统(PointofSales),成为销售点时实系统,它是由电子收款机和计算机联机构成的商店前台网络系统。
网络安全技术第二讲密码学基础(一)罗守山博士、教授北京邮电大学软件学院内容提要♦1 基本概念和术语♦2.现代对称加密技术♦3 非对称密码体制♦4 签名认证体系♦5 密码政策介绍1 基本概念和术语♦密码学是网络安全的基础。
–虽然网络安全技术多种多样,但最终都是要提供六种安全服务:机密性、鉴别、完整性、不可抵赖性、访问控制和可用性。
–能支持这六种安全服务的安全机制,例如:数据加密、消息鉴别、身份认证、数字签名等等大多数都是基于密码学及其衍生。
(1)密码学(Cryptology)♦密码学是研究信息系统安全保密的科学。
分为密码编码学和密码分析学。
–密码编码学(Cryptography)主要研究对信息进行编码,实现对信息的隐蔽。
–密码分析学(Cryptanalytics)主要研究加密消息的破译或消息的伪造。
(2)保密通信模型♦在不安全的信道上实现安全的通信是密码学研究的基本问题。
♦消息发送者对需要传送的消息进行数学变换处理,然后可以在不安全的信道上进行传送;♦接收者在接收端通过相应的数学变换处理可以得到信息的正确内容;♦而信道上的消息截获者,虽然可能截获到数学变换后的消息,但无法得到消息本身,这就是最基本的保密通信模型。
首先进行采样数字通信系统♦信源编码–目的:采集数据、压缩数据以利于信息的传送。
–算法:算术编码、矢量量化(VQ)编码、相关信源编码、变换编码等。
♦信道编码–目的:数据在信道上的安全传输,使具有自我纠错能力,又称纠错码。
–算法:BCH码、循环码、线性分组码等。
♦密码学–目的:保密通信。
–算法:公钥密码体系、对称钥密码体系。
♦其中发送者对消息进行数学变换的过程称为加密过程;♦接收者相应的数学变换过程称为解密过程;♦需要传送的消息称为明文;♦经过加密处理后的消息称为密文;♦信道上消息的截获者通常被称为攻击者、分析者或者搭线者。
♦下图就是一个最基本的保密通信模型:图示保密通信(加密与解密)(3)密码体制♦一个密码体制(有时也称加密方案或密码系统)是一个使通信双方能进行秘密通信的协议。
♦一个典型的加密方案由发送者、接收者和分析者三方参与,其中包括两个算法:–一个称为加密算法,被发送方用来加密消息。
–另一个称为解密算法,被接收方用来解密接收的消息。
♦为了发送一个消息(即明文),发送方首先用加密算法处理明文,得到密文并发送。
收到密文后,接收方用解密算法将密文恢复为明文。
♦为使这一方案能提供秘密通信,通信双方(至少收方)必须知道某些搭线者不知道的东西,否则搭线者也能像收方一样地恢复明文。
♦这个外加知识的形式,可以是某些参数和(或)辅助输入,称这个外加知识为解密密钥。
♦相应的,发送者在加密过程中有加密密钥的概念。
♦典型密码体制方框图如下:图示密码体制密码学基本概念♦明文:需要秘密传送的消息。
♦密文:明文经过密码变换后的消息。
♦加密:由明文到密文的变换。
♦解密:从密文恢复出明文的过程。
♦破译:非法接收者试图从密文分析出明文的过程。
♦加密算法:对明文进行加密时采用的一组规则。
♦解密算法:对密文进行解密时采用的一组规则。
♦密钥:加密和解密时使用的一组秘密信息。
♦从数学上来说,密码体制是一个五元组(P,C,K,E,D),其中满足条件:♦(1)P是可能明文的有限集,称为明文空间;♦(2)C是可能密文的有限集,称为密文空间;♦(3)K是可能密钥构成的有限集,称为密钥空间;♦(4)任意k∈K,有一个加密算法e∈E和相应的解密算法d∈D,且e:P->C和d:C->P分别为加、解密函数,满足d(e(x))=x,这里x∈P。
密码学的历史q发展史早在4000多年以前,古埃及人就在墓志铭中使用过类似于象形文字那样奇妙的符号;公元前约50年,凯撒密码-一种简单的字符替换-被认为是最早的正式算法;传统密码学、现代密码学、量子密码学。
q应用领域军事、外交、情报商业、个人通信(4)密码体制分类♦根据加密时对明文消息是否分组,密码体制分为流密码和分组密码。
–流密码又称为序列密码,加密时对明文按比特进行加密;–分组密码将明文分成相同长度的明文组,对所有的明文分组使用同样方式进行加密。
♦从密码体制的数学定义来看,加密密钥和解密密钥是成对使用的。
♦一般意义下,在密码体制具体实现过程中,加密密钥与解密密钥是一一对应关系。
♦根据由加密密钥得到解密密钥的算法复杂度不同,密码体制分为私钥(对称)密码体制和公开密钥密码体制。
–私钥密码体制的加解密密钥可以很容易的相互得到,更多的情况下,两者甚至完全相同,在实际应用中发送方必须通过一个可能的安全信道将密钥送到接收方;–公开密钥密码体制中,由加密密钥(公钥)得到解密密钥(私钥)很困难,所以实际应用中接收方可以将加密密钥公开,任何人都可以使用该密钥(公开密钥)进行加密,而只有接收者拥有解密密钥(私钥),这样只有接受者能解密。
q单钥密码学(对称密码学)加密密钥和解密密钥相同;系统的保密性取决于密钥的安全性;如何分发密钥是难点。
q双钥密码学(非对称密码学,公钥密码学)加密密钥和解密密钥不同;系统的安全保障在于要从公开钥和密文推出明文或私钥在计算上是不可行的;分发密钥简单。
(5)密码算法的安全性♦要衡量一个密码算法的安全性,首先应了解密码分析攻击的类型。
♦一般假设密码破译者已知密码体制,目标是破译密钥或密文对应的明文。
♦下表根据破译者所知的信息量总结了各种密码分析攻击的类型:密码分析攻击类型密码算法的安全性♦Kerckhoofs假设(荷兰人,19世纪):–密码破译者已知密码体制,目标是破译密钥或密文对应的明文。
♦无条件安全:–无论破译者有多少密文,他也无法解出对应的明文,即使他解出了,他也无法验证结果的正确性,则此加密方案是无条件安全的。
–已知的密码算法中没有无条件安全的,只有一次一密(one-time pad)方案是个例外。
♦计算上安全:–满足以下准则的一个或两个:破译的代价超出信息本身的价值;破译的时间超出了信息的有效期。
对称密码学概述♦分组密码是将明文消息编码表示后的数字(简称明文数字)序列,划分成长度为n的组(可看成长度为n的矢量),每组分别在密钥的控制下变换成等长的输出数字(简称密文数字)序列,如下图所示:设计思想♦Shannon提出扰乱和扩散–扰乱(Confusion):使得密文的统计特性与密钥的取值之间的关系尽量复杂。
这是为了挫败密码分析者试图发现密钥的尝试–扩散(Diffusion):明文的统计结构被扩散消失到密文中,使得明文和密文之间的统计关系尽量复杂。
–Shannon当时关心的是如何挫败基于统计分析的密码破译问题。
♦若明文的统计特性以某种方式反映在密文中,则密码分析者就可能推测出加密密钥,或部分密钥,或密钥的一个集合。
♦在Shannon所称的理想的密码中,密文的所有统计特性都与所用的是哪个密钥没有关系。
♦Shannon建议了两种为统计分析制造障碍的方法:扩散和扰乱。
♦扩散(Diffusion):明文的统计结构被扩散消失到密文中,使得明文和密文之间的统计关系尽量复杂。
–做到这一点的方法是让明文的每个数字影响许多密文数字的取值,也就是说每个密文数字被许多明文数字影响。
–在二进制分组密码中,扩散可以通过重复使用对数据的某种置换,并对置换结果再应用某个函数的方式来达到,这样做就使得原明文不同位置的多个比特影响到密文的一个比特。
♦扰乱(Confusion):使得密文的统计特性与密钥的取值之间的关系尽量复杂。
–这是为了挫败密码分析者试图发现密钥的尝试。
–进行扰乱后,即使攻击者掌握了密文的某些统计特性,使用密钥产生密文的方式是如此复杂以至于攻击者难于从中推测出密钥。
可以使用一个复杂的替代算法达到这个目的。
Feistel密码结构♦流行的现代常规加密算法都是基于Feistel 分组密码的结构。
♦Feistel提出可以使用乘积密码的概念去近似理想分组密码系统。
–乘积密码就是以某种方式连续执行两个或多个密码以使得所得到的最后结果比其任意一个组成密码都更强。
♦Feistel提出用替代和置换交替的方式构造密码。
–实际上,这是Shannon的一个设想的实际应用,Shannon提出用扰乱(confusion)和扩散(diffusion)交替的方法构造乘积密码。
♦Feistel 密码结构如下图所示:(图5传统Feistel 网络)♦加密算法的输入是一个长度2w 比特的明文分组和一个密钥K ,明文分组被分为两个部分L 0和R 0。
♦数据的这两个部分经过n 轮的处理后组合起来产生密文分组。
♦每一轮i 以从前一轮得到的L i-1和R i-1为输入,另外的输入还有从总的密钥K 生成的子密钥K i 。
♦每一轮的结构都一样。
♦对数据的左边一半进行替换操作,替换的方法是对数据右边一半应用round函数F,然后用这个函数的输出和数据的左边一半做异或。
♦Round函数在每一轮中有着相同的结构,但各轮的子密钥K并不相同。
i♦在替换完成后,算法做一个置换操作把数据的两个部分进行互换。
♦大部分常规密码算法是Feistel密码结构的具体实现,只不过是对下列参数和设计特点的选择不同:–1)分组大小:分组越大安全性越高,但加解密速度越慢。
64比特的分组大小是一个折中的选择。
–2) 密钥大小:密钥长度越长则安全性越高,但加解密速度也越慢。
64比特或更小现在已经认为不够安全,128比特已经成为常用的长度。
–3)循环次数:循环越多则越安全,但加解密速度越慢。
DES采用16次循环。
–4)子密钥产生算法:这个算法越复杂,密码分析越困难。
–5) Round函数:复杂性越高则抗击密码分析的能力就越强。
–6)快速的软件实现。
–7)易于硬件实现。
–8) 便于分析。
♦Feistel 的解密过程与其加密过程实质是相同的,解密的规则如下:♦以密文作为算法的输入,但是以相反的次序使用子密钥K i ,即第一轮使用K n ,最后一轮使用K 1。
♦这个特性正是常规加密算法又称为对称加密算法的原因。
(2)数据加密标准介绍♦DES的发展史–数据加密标准DES (Data Encryption Standard)是由IBM公司在1970年发展出的一个加密算法。
–DES已经有20多年的历史,1976年11月23日DES被采纳为联邦标准;DES是第一个得到广泛应用的密码算法;DES在1977年经过美国国家标准局(NBS)采用为联邦标准之后,已成为金融界及其它各种产业最广泛应用的对称密钥密码系统。
–DES是分组密码的典型代表,也是第一个被公布出来的标准算法。
–DES是一种分组加密算法,输入的明文为64bit,密钥为56bit,生成的密文为64bit。
–1997年6月,许多台计算机并行工作,140天内破解了DES;1998年,DES在48天内被破解;1999年,几个小时内就能破解。