已阅读5页,还剩75页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
.,第三章密码学基础与应用,3.1密码学概述3.2古典密码学3.3对称密码学3.4非对称密码学3.5Hash算法3.6数字签名3.7密码与网络安全协议,.,3.1密码学概述,密码学包括密码编码学和密码分析学。密码算法:用于加密和解密的数学函数。明文:原本的消息。密文:加密后的消息。密码系统:由算法以及所有可能的明文、密文和密钥组成。C=E(M)表示加密,M=D(C)表示解密,M=D(E(M),.,密码算法的分类(一),按照保密的内容分:受限制的(restricted)算法对数据的保密性基于对算法的保密。基于密钥(key-based)的算法算法的保密性基于对密钥的保密。,.,密码算法的分类(二),按照对明文的处理方法:分组密码(blockcipher)将明文分成固定长度的组,用同一密钥和算法对每一块加密,输出也是固定长度的密文。流密码(streamcipher)又称序列密码。序列密码每次加密一位或一字节的明文。序列密码是手工和机械密码时代的主流。,.,序列密码,.,分组密码,.,密码算法的分类(三),在基于密钥的算法中,按照密钥的特点分类:对称密码算法(symmetriccipher)又称传统密码算法(conventionalcipher),就是加密密钥和解密密钥相同,或实质上等同,即从一个易于推出另一个。又称秘密密钥算法或单密钥算法。非对称密钥算法(asymmetriccipher)加密密钥和解密密钥不相同,从一个很难推出另一个。又称公开密钥算法(public-keycipher)。,.,3.2古典密码学,密码技术是信息安全的核心技术。密码技术要求很高的数学基础:群和域的理论、计算复杂性以及实时分析,更不用说概率与统计。我们希望建立这样一种密码算法,它对于合法的发送者和接受者来说易于操作,而对于恶意的截取者却十分困难。可靠的密码学建立在数学和形式化的计算机科学产生的结论之上。,.,密码学的产生与发展,滚筒密码看下面一段话:经大们的意日那方过家参名被的些式短启观字埋凉投进暂程了和在风奔行的去一生教吹他着欢一个前堂来的沟迎家大从里,灵通仪中教事,庭魂。式国堂的是院就后餐。职因里在,馆围业为的风一吃绕。据古中本饭着副说树,正。一市这沙和经途个长样沙一的中天说他作群市。井们响不长副的那死,信公市石底后让神干长板下的人的去先路埋位惬中了生上着置意国,又,死离,人爱兴许人上也用开致多。帝让一玩勃石人最人种笑勃板们近觉超的地上之。得越市带刻所一上语长领着以阵帝言和我人愿夏和的,.,经大们的意日那方过家参名被的些式短启观字埋凉投进暂程了和在风奔行的去一生教吹他着欢一个前堂来的沟迎家大从里,灵通仪中教事,庭魂。式国堂的是院就后餐。职因里在,馆围业为的风一吃绕。据古中本饭着副说树,正。一市这沙和经途个长样沙一的中天说他作群市。井,们响不,长副的那死,信公市石底后让神干长板下的人的去先路埋位惬中了生上着置意国,又,死离,人爱兴许人上也用开致多。帝让一玩勃石人最人种笑勃板们近觉超的地上之。得越市带刻所一上语长领着以阵帝言和我人愿夏和的,滚筒密码,经,过,短,暂,的,欢,大,家,启,程,去,关键参数:滚筒的宽度(密钥),.,恺撒密码(Caesar),原理:把一个字母替换为它后面固定位置的另一个字母(单表代换密码)。ABCDEFGXYZDEFGHIJABC明文:Caesarcipherisashiftsubstitution密文:FDHVDUFLSKHULVDVKLIWVXEVWLWXWLRQ,.,弗纳姆密码(VernamCipher),1918年GilbertVernam为AT&T设计的一种一次一密乱码本密码(多表代换密码)。原理:使用一个任意长的不重复数字序列,把它和明文组合在一起。明文:VERNAMCIPHER等价数字:214171301228157417+随机数:7648168244358116054888和mod26:1907171815819231201密文:tahrspitxmab,.,维吉尼亚密码,m个移位代换表由m个字母组成的密钥字确定明文:weardiscoveredsave密钥:deceptivedeceptive对应数字:3421519821密文:ZICVTWQNGRZGVTWAVZH,.,换位密码(置换密码)(一),换位就是将明文中的字母的位置重排。最简单的换位就是逆序法:明文:computersystem密文:metsysretupmoc,.,换位密码(置换密码)(二),列置换(纵行换位):把明文中的字符按列重新排列。例如明文:THISISAMESSAGE.THISISAMESSAGEX密文:TSSHAAIMGSEEISX问题:1.排成的矩阵的宽度(有多少列)。2.排成矩阵后,各列按什么顺序输出。,.,换位密码(置换密码)(三),引入密钥k,如k=COMPUTER,明文为:WHATCANYOULEARNFROMTHISBOOK密文为:WORONNSXALMKHUOOTETXYFBXARIXCAHX,.,现代密码学的原理,加密体系的安全性并不依赖于加密的方法本身,而是依赖于所使用的密钥。当时的密码体系缺乏数学背景,因而也缺少测量或评价这些体系抗攻击的能力。1948年,Shannon发表的论文通信的数学原理将数学背景加入了密码学。,.,对称加密算法,分为两种:分组密码每次对一块数据加密,多数网络加密应用,如DES,IDEA,RC6,Rijndael。流密码(序列密码)每次对一位或一字节加密,语音和视频流的加密传输,如Vigenre,Vernam。速度快,安全强度高,主要用做数据加密算法。,.,非对称密钥算法(公开密钥算法),用一个密钥进行加密,而用另一个进行解密。加密密钥可以公开,又称公开密钥(publickey),简称公钥。解密密钥必须保密,又称私人密钥(privatekey),简称私钥。大部分为分组密码。如RSA,ECC,ElGamal数据加密、身份认证、密钥分发、数字签名。加密解密速度慢。,.,密码分析,密码分析学是研究密钥未知的情况下恢复明文的科学。编码的特征:转明文为密文的方法:代替和换位所用的密钥数:对称密码、非对称密码处理明文的方法:分块和单字节,.,密码分析可以发现密码体制的弱点。常见的攻击(密码分析方法),.,密码分析方法,确定性利用若干已知的数学关系式表示出所求的未知量。统计性利用明文的已知统计规律进行破译。,.,代替密码和换位密码,计算机出现前,以字符代替或换位计算机出现后,以比特代替或换位代替密码(substitutioncipher):就是明文中的每一个字符被替换成密文中的另一个字符。接收者对密文做反向替换就可以恢复出明文。如恺撒密码。换位密码(transpositioncipher),又称置换密码(permutationcipher):明文的字母保持相同,但顺序被打乱了。,.,代替密码,简单代替密码(单字母密码):明文的一个字符用相应的一个密文字符代替。如恺撒密码(密钥为3)。多名码代替密码:明文的一个字符可以映射成密文的几个字符之一。字母代替密码:组成加密字符块。多表代替密码:由多个简单的代替密码构成。如滚动密钥密码。,.,代替密码的破译,猜测密钥的长度利用字母频度表进行破译单个字母对单个字母,不管怎样变换,字母的出现概率在一个具体的语言里面是十分稳定的。稳定的概率是破译这种经典密码体制的关键。,.,各个明文字母的概率和密文字母频率的对照,.,换位密码的破译,判断密码类型:利用密文中字母出现的频率判断是否为换位密码。根据消息的上下文猜测密钥的长度,即列数。确定各列的顺序。,.,3.3对称密码学,DES数据加密标准1973年5月,美国国家标准局发出通告,公开征求对计算机数据在传输和存储期间的进行数据加密的算法。要求:必须提供高度的安全性;具有相当高的复杂性,使得破译的开销超过获得的利益,但同时又便于理解和掌握;安全性应当不依赖于算法的保密,加密的安全性仅以加密密钥的保密为基础;,.,必须适合不同的用户和不同的应用场合;实现算法的电子器件必须很经济,运行有效;必须能够出口。1975年,IBM提出的算法被采纳,并向全国公布,征求意见。1977年1月15日,美国国家标准局正式采用这个算法作为数据加密标准(同年7月15日生效)。1998年12月以后新的美国联邦加密标准被称为高级加密标准AES。,.,DES的算法思想,将二进制序列的输入明文,以64位为数据分组,然后对这些明文进行替换和换位,最后形成密文。,.,DES算法的基本特点,对称算法:既可用于加密,也可用于解密。64位的密钥,使用长度为56位(64位密钥中,有8位用于奇偶校验)。加密算法是换位与置换的结合。每个DES都在明文上实施16重相同的组合技术,这种重复性可以被理想地应用到一个专用芯片中。,.,DES加密过程,.,DES加密过程细化,DES加密过程主要涉及如下环节(模块):初始换位和逆初始换位将64位明文分为32位的左右两段:L0和R0生成每一轮的子密钥进行16轮相同的迭代运算:混淆+异或+交换将最后左右两段合并,.,DES的安全性,密钥长度太小,IBM建议用112比特;差分密码分析与线性分析;20世纪90年代,RSA公司发起对DES的三次挑战;1999年一百多个CPU利用并行算法,用23小时左右成功破译;1999年在互联网上,用分割密钥方法成功破译。,.,三重DES(TDES),执行3次DES算法,相当于使用3倍DES的密钥长度的密钥,记加密密钥为加密:解密:,.,初始换位IP,.,逆初始换位,.,子密钥的生成,.,PC-1变换及密钥的分割,每轮左移位数,.,压缩置换PC-2,从56位密钥中取出48位,PC-2压缩算法,.,f算法,f算法是DES精华所在,用它来实现分组加密的扩展和混淆。在DES中,其他部分是线性的,而f算法是非线性的。f算法主要由E-盒、S-盒和P-盒组成。,.,f算法的组成,.,E-盒(ExpansionPermutation),把数据明文的右半部分Ri从32位扩展到48位。这样的好处有:可以与48位的密钥进行异或运算;有利于产生雪崩效应(AvalancheEffect)尽快地使输出(密文)的每一位依赖输入(明文和密钥)的每一位。,.,E-盒扩展置换,.,S-盒代换,对48位的输入替代压缩成32位的输出。替代由8个S-盒进行。每个S-盒有6位输入,4位输出。,.,.,.,P-盒置换,对S-盒的32位输出进行一次换位,.,3.4非对称密码学,公钥密码体制的基本原理1976年,Diffie和Hellman提出了公钥密码体制密钥公开是否有价值?,.,基于公开密钥的加密过程,.,公钥密码体制的加密功能,A向B发消息X,B的公钥为KUb,私钥为KRb加密Y=EKUb(X)解密X=DKRb(Y),.,基于公开密钥的认证过程,.,公钥密码体制的认证,A向B发送消息XA的公钥为KUa,私钥为Kra“加密”:Y=EKRa(X)(数字签名)“解密”:X=DKUa(Y)注意:不能保证消息的保密性,.,对称密码公钥密码,.,公钥密码体制实现的关键问题:如何确定公钥PK和私钥SK及加密、解密的算法。SK与PK成对出现,需满足如下条件:Dsk(Epk(X)=XDpk(Epk(X)X在计算机上可以容易地产生成对的PK和SK从已知的PK实际上不可能推导出SK加密和解密运算可以对调,即Dsk(Epk(X)=X=Epk(Dsk(X),.,如何确定PK和SK?,陷门单向函数一个函数,若计算函数值很容易,并且在缺少一些附加信息时计算函数的逆是不可行的,但是已知这些附加信息(如SK)时,可在多项式时间内计算出函数的逆,那么我们称这样的函数为陷门单向函数。将特定的某类陷门单向函数记为F,随机选取一个属于F的函数f,作为公开加密函数,其逆函数是秘密解密函数,利用SK将可有效解密。,.,公钥密钥的应用范围,加密/解密数字签名(身份认证)密钥交换,.,公钥密码体制基于的数学难题,背包问题大整数分解问题(TheIntegerFactorizationProblem,RSA体制)有限域的乘法群上的离散对数问题(TheDiscreteLogarithmProblem,ElGamal体制)椭圆曲线上的离散对数问题(TheEllipticCurveDiscreteLogarithmProblem,类比的ElGamal体制),.,目前受到广泛认可的加密系统,大整数因子分解系统(如RSA)椭圆曲线离散对数系统(ECC)离散对数系统(如DSA),.,RSA算法,由MIT的Rivest,Shamir&Adleman在1977提出最著名的且被广泛应用的公钥加密体制明文、密文是0到n-1之间的整数,通常n的大小为1024位或309位十进制数,.,RSA算法描述,加密:C=MemodN,where0MN,N=pq解密:M=CdmodN公钥为(e,N),私钥为(d,p,q)必须满足以下条件:Med=MmodN计算Me和Cd是比较容易的由e和n确定d是不可行的,.,RSA密钥产生过程,随机选择两个大素数p,q计算N=p.q注意(N)=(p-1)(q-1)选择e使得1e(N),且gcd(e,(N)=1解下列方程求出de.d=1mod(N)且0dN公布公钥:KU=e,N保存私钥:KR=d,p,q,.,RSA的使用,发送方要加密明文M:获得接收方的公钥KU=e,N计算:C=MemodN,where0MN接收方解密密文C:使用自己的私钥KR=d,p,q计算:M=CdmodN注意:M必须比N小,.,RSAExample,选择素数:p=17e=7求d:de=1mod160andd160因此d=23(如何计算?)公钥KU=7,187私钥KR=23,17,11,.,RSAExamplecont,利用RSA加解密:明文M=88(88187)加密:C=887mod187=11解密:M=1123mod187=88,.,信息的认证是通过认证符进行。产生认证符的方法一般分为三类:信息加密:对明文加密后以密文作为认证符。消息认证码(MAC):用一个公开函数作用后,产生固定长度的数值作为认证符,也称为密码校验和。散列函数:定义一个函数将任意长度的消息映射为定长的散列值,用散列值作为认证符。,消息认证:保证数据的完整性,3.5Hash算法,.,散列(Hash)函数,也称杂凑函数、哈希函数,通常简写为H,是一个单向公开函数。它可以将任意长的消息M映射为较短的、固定长度的一个值H(M)作为消息M的认证符。H(M)也称消息摘要MD(messagedigest)或杂凑码、散列码。其目的是为文件、消息或其他的分组数据产生“指纹”。,.,Hash函数的结构,对不定长的输入产生定长的输出,且最后的结果要与所有字节有关。分块填充链接模式,迭代型结构:将输入数据分为L个固定长度为b比特的分组(分块、填充);散列算法中重复使用一个压缩函数f,产生一个n比特的输出(链接)。,.,Hash函数举例,典型的Hash算法有MD5(Rivest提出,1992年RFC1321公布,码长128比特)和安全Hash算法SHA和SHA-1(SecureHashAlgorithm,码长160比特)。由于SHA和SHA-1比MD5多了32比特,所以更安全,但实现速度要慢些。,.,3.6数字签名,数字签名(DigitalSignature)在ISO7498-2的标准中定义为:
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小区健身器材管护实施方案
- 素养教育组织架构优化
- 管道廊道消防安全要求
- 课堂教学优化实施细则
- 金融市场学第三版习题及答案
- 健康素养达标测试试题及答案
- 建筑工程安全保障体系与措施
- 基层医疗机构急诊急救理论试题及答案
- 火车司机考试题库及答案
- 轨道车司机抽考题库及答案
- Be动词是个好妈妈她有三个乖娃娃(课件)英语三年级上册
- 水电站安全守护制度
- DL-T825-2021电能计量装置安装接线规则
- 退休保安人员聘用合同模板
- 环保设备运行与维护管理
- 英语四六级词汇汇总(带音标+免费下载)
- 秋冬季猪的饲养管理课件(模板)
- 重庆高新区“拥军门店”申请审批表
- 如愿三声部合唱简谱
- 《发现雕塑之美》第4课时《加法与减法的艺术》
- GB/T 3292.1-2008纺织品纱线条干不匀试验方法第1部分:电容法
评论
0/150
提交评论