密码学基础
主讲人:王弈
E-mail: wangyi@ecupl.edu.cn
本章主要内容
密码学基本概念
对称密码体制
公钥密码体制
散列函数
数字签名
信息隐藏与数字水印
无线网络中的密码应用
密码学与信息安全的关系
密码学的研究内容、地位和作用
密码学概览
密码学简史
密码学简史图
密码学基本概念
现代密码系统的组成
现代密码系统(通常简称为密码体制)一般由五个部分组成:
明文空间M
密文空间C
密钥空间K
加密算法E
解密算法D
则五元组(M,C,K,E,D)称为一个密码体制。
密码学基本概念
密码体制
对称密钥体制:
非对称密钥体制
根据密码算法对明文信息的加密方式,对称密码体制常分为两类:
分组密码(Block cipher,也叫块密码)
DES、IDEA 、 BLOWFISH
序列密码(Stream cipher,也叫流密码)。A5 、FISH 、PIKE
密码学基本概念
密码算法设计的两个重要原则
1.混乱性
当明文中的字符变化时,截取者不能预知密文会有何变化。我们把这种特性称为混乱性(Confusion)。
混乱性好的算法,其明文、密钥对和密文之间有着复杂的函数关系。这样,截取者就要花很长时间才能确定明文、密钥和密文之间的关系,从而要花很长的时间才能破译密码。
2.扩散性
密码还应该把明文的信息扩展到整个密文中去,这样,明文的变化就可以影响到密文的很多部分,该原则称为扩散性(Difusion)。
这是一种将明文中单一字母包含的信息散布到整个输出中去的特性。好的扩散性意味着截取者需要获得很多密文,才能去推测算法。
密码分析学
穷举攻击:又称作蛮力攻击,是指密码分析者用试遍所有密钥的方法来破译密码对可能的密钥或明文的穷举。
统计分析攻击 :指密码分析者通过分析密文和明文的统计规律来破译密码。
数学分析攻击:指密码分析者针对加密算法的数学依据,通过数学求解的方法来破译密码。
破译密码的类型
根据密码分析者掌握明、密文的程度密码分析可分类为:
1、唯密文攻击:仅根据密文进行的密码攻击。
2、已知明文攻击:根据一些相应的明、密文对进行的密码攻击。
3、选择明文攻击:可以选择一些明文,并获取相应的密文,这是密码分析者最理想的情形。例如,在公钥体制中。
4、选择密文攻击:密码分析者能选择不同的被加密的密文,并可得到对应的解密的明文,密码分析者的任务是推出密钥。
5、选择密钥攻击 :这种攻击并不表示密码分析者能够选择密钥,它只表示密码分析者具有不同密钥之间关系的有关知识。
6、软磨硬泡攻击 :密码分析者威胁、勒索,或者折磨某人,直到他给出密钥为止。
密码算法的安全性
理论上,除一文一密外,没有绝对安全的密码体制,通常,称一个密码体制是安全的是指计算上安全的,即:密码分析者为了破译密码,穷尽其时间、存储资源仍不可得,或破译所耗资材已超出因破译而获得的获益。
对称密码体制
经典的密码体制中,加密密钥与解密密钥是相同的,或者可以简单相互推导,也就是说:知道了加密密钥,也就知道了解密密钥;知道了解密密钥,也就知道了加密密钥。所以,加、解密密钥必须同时保密。这种密码体制称为对称(也称单钥)密码体制。最典型的是DES数据加密
标准
excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载
,应该说数据加密标准DES是单钥体制的最成功的例子。
1973.5.15: 美国国家标准局(NSA)公开征求密码体制的联邦注册;
1975.3.17:DES首次在《联邦记事》公开,它由IBM开发,它是LUCIFER的改进;
1977.2.15:DES被采用作为非国家机关使用的数据加密标准,此后,大约每五年对DES进行依次审查,1992年是最后一次审查,美国政府已声明,1998年后对DES不再审查了;
1977.2.15:《联邦信息处理》标准版46(FIPS PUB46)给出了DES的完整描述。
DES分组密码系统
DES密码体制:它是应用56位密钥,加密64比特明文分组的分组秘钥密码体制
DES加密算法:
(一)初始置换:x0=L0R0=IP(x);
(二)16次迭代:xi-1=Li-1Ri-1,
Li=Ri,Ri=Li f(Ri-1,ki)
i=1,2,…,16;
(三)逆置换:x16=L16R16,y=IP-1(x16)。
密钥生成器:密钥ki是由56位系统密钥k生成的32位子密钥。
函数f及S盒:f(Ri-1,ki)=P(S(E(Ri-1)ki))
其中E,P是两个置换, 表示比特的“异或”,S是一组八个变换S1,S2,S3,… ,S8 ,称为S盒,每个盒以6位输入,4位输出,S盒构成了DES 安全的核心。
DES算法流程图
关于DES的讨论
S盒是唯一非线性组件:有人认为其中可能含有某种“陷门”,国家安全机关可以解密。
DES的密钥量太小:密钥量为256
1977年:Diffie.Hellman提出制造一个每秒测试106的VLSI芯片,则一天就可以搜索完整个密钥空间,当时造价2千万美圆。
CRYPTO’93:R.Session,M.Wiener提出并行密钥搜索芯片,每秒测试5x107个密钥,5760片这种芯片,造价10万美元,平均一天即可找到密钥。
Internet的超级计算能力:1997年1月28日,美国RSA数据安全公司在Internet上开展了一项“秘密密钥挑战”的竞赛,悬赏一万美圆,破解一段DES密文。
计划
项目进度计划表范例计划下载计划下载计划下载课程教学计划下载
公布后,得到了许多网络用户的强力相应。科罗拉州的程序员R.Verser设计了一个可以通过互联网分段运行的密钥搜索程序,组织了一个称为DESCHALL的搜索行动,成千上万的的志愿者加入到计划中。
第96天,即竞赛公布后的第140天,1997年6月17日晚上10点39分,美国盐湖城Inetz公司职员M.Sanders成功地找到了密钥,解密出明文:The unknown Message is:“Stronge cryptography makes the word a safer place”(高强度密码技术使世界更安全)。 Internet仅仅利用闲散资源,毫无代价就破译了DES密码,这是对密码方法的挑战,是Internet超级计算能力的显示.
差分分析法:除去穷举搜索密钥外,还有其他形式的攻击方法,最著名的有Biham,Shamir的差分分析法。这是一个选择明文攻击方法。虽然对16轮DES没有攻破,但是,如果迭代的轮数降低,则它可成功地被攻破。例如,8轮DES在一个个人计算机上只需要2分钟即可被攻破。
高级加密标准AES
在攻击面前,虽然多重DES表现良好。不过,考虑到计算机能力的持续增长,人们需要一种新的、更加强有力的加密算法。1995年,美国国家标准技术研究所NIST开始寻找这种算法。最终,美国政府采纳了由密码学家Rijmen和Daemen发明的Rijindael算法,使其成为了高级加密标准AES(Advanced Encryption Standard)。
Rijindael算法之所以最后当选,是因为它集安全性、效率、可实现性及灵活性于一体。
AES算法是具有分组长度和密钥长度均可变的多轮迭代型加密算法。分组长度一般为128比特位,密钥长度可以是128/192/256位。实际上,AES算法的密钥长度可以扩展为64的任意整数倍,尽管AES标准中只有128,192和256被认可。
AES的128位块可以很方便地考虑成一个4×4矩阵,这个矩阵称为“状态”(state)。例如,假设输入为16字节b0,b1,…,b15,这些字节在状态中的位置及其用矩阵的表示如表2-8所示。注意,这些状态用输入数据逐列填充。
公钥密码体制
一个安全的对称密钥密码系统,可以达到下列功能:
保护信息机密
认证发送方之身份
确保信息完整性
对称密钥密码系统具有下列缺点:
收发双方如何获得其加密密钥及解密密钥?
密钥的数目太大
无法达到不可否认服务
传统密码体制的缺陷与公钥密码体制的产生
现代密码学修正了密钥的对称性,1976年,Diffie,Hellmann提出了公开密钥密码体制(简称公钥体制),它的加密、解密密钥是不同的,也是不能(在有效的时间内)相互推导。所以,它可称为双钥密码体制。它的产生,是密码学革命性的发展,它一方面,为数据的保密性、完整性、真实性提供了有效方便的技术。另一方面,科学地解决了密码技术的瓶颈──密钥的分配问
题
快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题
。
第一个公钥体制是1977年由Rivest,Shamir,Adleman提出的,称为RSA公钥体制,其安全性是基于整数的因子分解的困难性。
RSA公钥体制已得到了广泛的应用。其后,诸如基于背包问题的Merkle-Hellman背包公钥体制,基于有限域上离散对数问题的EIGamal公钥体制,基于椭圆曲线的密码体制等等公钥体制不断出现,使密码学得到了蓬勃的发展。
公钥密码体制介绍
公钥密码体制加解密过程主要有以下几步 :
安全的公开密钥密码可以达到下列功能:
(1)简化密钥分配及管理问题
公钥体制用于数据加密时:用户将自己的公开(加密)密钥登记在一个公开密钥库或实时公开,秘密密钥则被严格保密。信源为了向信宿发送信息,去公开密钥库查找对方的公开密钥,或临时向对方索取公钥,将要发送的信息用这个公钥加密后在公开信道上发送给对方,对方收到信息(密文)后,则用自己的秘密(解密)密钥解密密文,从而,读取信息。可见,这里省去了从秘密信道传递密钥的过程。这是公钥体制的一大优点。
安全的公开密钥密码可以达到下列功能:
(2)保护信息机密
任何人均可将明文加密成密文,此后只有拥有解密密钥的人才能解密。
安全的公开密钥密码可以达到下列功能:
(3)实现不可否认功能
公钥体制用于数字签名时:
信源为了他人能够验证自己发送的消息确实来自本人,他将自己的秘密(解密)密钥公布,而将公开(加密)密钥严格保密。与别人通信时,则用自己的加密密钥对消息加密──称为签名,将原消息与签名后的消息一起发送.
对方收到消息后,为了确定信源的真实性,用对方的解密密钥解密签名消息──称为(签名)验证,如果解密后的消息与原消息一致,则说明信源是真实的,可以接受,否则,拒绝接受。
RSA算法
1976年:Diffie,Hellman在“New Direction in Cryptography”(密码学新方向)一文中首次提出公开密钥密码体制的思想。
1977年:Rivest,Shamir,Adleman第一次实现了公开密钥密码体制,现称为RSA公钥体制。
散列函数
散列函数没有密钥,散列函数就是把可变输入长度串(叫做预映射,Pre-image)转换成固定长度输出串(叫做散列值)的一种函数。
散列函数又可称为压缩函数、杂凑函数、消息摘要、指纹、密码校验和、信息完整性检验(DIC)、操作认证码(Message Authentication Code,MAC)。
散列函数的概念
散列函数的概念
散列函数有4个主要特点:
(1)它能处理任意大小的信息,并将其信息摘要生成固定大小的数据块(例如128位,即16字节),对同一个源数据反复执行Hash函数将总是得到同样的结果。
(2)它是不可预见的。产生的数据块的大小与原始信息的大小没有任何联系,同时源数据和产生的数据块的数据看起来没有明显关系,但源信息的一个微小变化都会对数据块产生很大的影响。
(3)它是完全不可逆的,即散列函数是单向的,从预映射的值很容易计算其散列值,没有办法通过生成的散列值恢复源数据。
(4)它是抗碰撞的,即寻找两个输入得到相同的输出值在计算上是不可行的。
假设单向散列函数H(M)作用于任意长度的消息M,它返回一个固定长度的散列值h,其中h的长度为定数m,该函数必须满足如下特性:
给定M,很容易计算h;
给定h,计算M很难;
给定M,要找到另一消息M’并满足H(M’)=H(M)很难。
常用的消息摘要算法有
(1)MD2算法
(2)MD4和MD5算法
(3)SHA算法
(4)RIPEMD算法
SHA算法
SHA (Secure Hash Algorithm)由美国国家标准和技术局NIST设计,1993年被作为联邦信息处理标准(FIPS PUB 180)公布,1995年又公布了修订版FIPS PUB 180-1,通常称为SHA-1。
就当前的情况来看,SHA-1由于其安全强度及运算效率方面的优势已经成为使用最为广泛的散列函数。
该算法输入消息的最大长度为264-1位,产生的输出是一个160位的消息摘要。输入按512 位的分组进行处理。
数字签名
数字签名最早被建议用来对禁止核试验条律的验证。禁止核试验条律的缔约国为了检测对方的核试验,需要把地震测试仪放在对方的地下,而把测试的数据送回,自然这里有一个矛盾:东道主需要检查发送的数据是否仅为所需测试的数据;检测方需要送回的数据是真实的检测数据,东道主没有篡改。
数字签名的概念
2.6 数字签名
数字签名(Digital Signatures)技术是实现交易安全的核心技术之一,其实现基础就是加密技术。
一般书信或文件传送根据亲笔签名或印章来证明真实性,在计算机网络中传送的报文是使用数字签名来证明其真实性的。
数字签名可以保证实现以下几点:
发送者事后不能否认对发送报文的签名。
接收者能够核实发送者发送的报文签名。
接收者或其他人不能伪造发送者的报文签名。
接收者不能对发送者的报文进行部分篡改。
2.6.1 数字签名的概念
基本要求:
签名不能伪造:签名是签名者对文件内容合法性的认同、证明、和标记,其他人的签名无效;
签名不可抵赖:这是对签名者的约束,签名者的认同、证明、标记是不可否认的;
签名不可改变:文件签名后是不可改变的,这保证了签名的真实性、可靠性;
签名不可重复使用:签名需要时间标记,这样可以保证签名不可重复使用。
签名容易验证:对于签名的文件,一旦发生纠纷,任何第三方都可以准确、有效地进行验证。
2.6 数字签名
使用对称和非对称密码算法都可以实现数字签名。
目前采用较多的是公钥加密技术使用公钥加密技术的签名和验证过程是:
1)发送方(甲)先用单向散列函数对某个信息(如
合同
劳动合同范本免费下载装修合同范本免费下载租赁合同免费下载房屋买卖合同下载劳务合同范本下载
的电子文件)A进行计算,得到128位的结果B,再用私钥SK对B进行加密,得到C,该数据串C就是甲对合同A的签名。
2)他人(乙)的验证过程为:乙用单向散列函数对A进行计算,得到结果B1,对签名C用甲的公钥PK进行解密,得到数据串B2,如果B1=B2,则签名是真的,反之签名则为假的。
2.6.1 数字签名的概念
散列函数:散列函数是数字签名的一个重要辅助工具, 应用散列函数可以生成一个文件的,具有固定长度的文件摘要,从而使数字签名可以迅速有效地签名一个任意长度的文件。一般地,对文件的任意小改动,都会改变文件的散列值,从而,秘密的散列函数可以用来检测病毒等对文件的破坏。
对签名的攻击:对数字签名有各种各样的欺骗存在,重复使用是一个典型欺骗,如电子支票,重复的使用具有可怕后果,阻止这种欺骗的有效方法是签名中包含时间日期标志。
2.6 数字签名
1、Elgamal算法 :ElGamal签名
方案
气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载
基于离散对数问题
离散对数问题:设p是一个素数,bZ*p,寻找整数 d,0
本文档为【密码学基础素材PPT课件】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。