欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    第7章数据加密技术ppt课件.ppt

    • 资源ID:70087106       资源大小:2.94MB        全文页数:112页
    • 资源格式: PPT        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    第7章数据加密技术ppt课件.ppt

    经营者提供商品或者服务有欺诈行为的,应当按照消费者的要求增加赔偿其受到的损失,增加赔偿的金额为消费者购买商品的价款或接受服务的费用网络安全与管理经营者提供商品或者服务有欺诈行为的,应当按照消费者的要求增加赔偿其受到的损失,增加赔偿的金额为消费者购买商品的价款或接受服务的费用第第7章章 数据加密技术数据加密技术知识目标掌握数据加密的有关概念、数据加密的模型了解传统的加密技术掌握现代加密技术的原理及其分类掌握非对称加密算法的基本原理掌握报文鉴别的概念技能目标掌握DES算法的基本思想及其加密、解密过程和安全性掌握RSA算法的基本思想及其加密、解密过程了解报文摘要MD5和安全散列算法了解数据加密技术的应用经营者提供商品或者服务有欺诈行为的,应当按照消费者的要求增加赔偿其受到的损失,增加赔偿的金额为消费者购买商品的价款或接受服务的费用7.1 数据加密概述数据加密概述经营者提供商品或者服务有欺诈行为的,应当按照消费者的要求增加赔偿其受到的损失,增加赔偿的金额为消费者购买商品的价款或接受服务的费用7.1.1 密码学的有关概念密码学的有关概念1.消息:消息(message,M)是用语言、文字、数字、符号、图像、声音或其组合等方式记载或传递的有意义的内容。如果消息被攻击者窃取,就能够读懂其中的含义,所以在密码学中,保护的对象就是消息。2.明文:未经过任何伪装或技术处理的消息称为明文(plain text,P)。3.加密:利用某些方法或技术对明文进行伪装或隐藏的过程称为加密(encryption,E)。4.密文:被加密的消息称为密文(cipher text,C)。密文看起来是一堆杂乱无章、没任何意义的数据。经营者提供商品或者服务有欺诈行为的,应当按照消费者的要求增加赔偿其受到的损失,增加赔偿的金额为消费者购买商品的价款或接受服务的费用7.1.1 密码学的有关概念密码学的有关概念5.解密:将密文恢复为原明文的过程或操作称为解密(decryption,)。解密也称为脱密,可以看成加密的逆过程。6.加密算法:加密算法(encryption algorithm)是将明文消息加密成密文所采用的一组规则或数学函数。7.解密算法:解密算法(decryption algorithm)是将密文消息解密成明文所采用的一组规则或数学函数。8.密钥:密钥(key,K)是进行加密或解密操作所需要的秘密参数或关键信息。如果缺少密钥,就不能正确地进行加密或者解密。在加密算法中,密钥又分为加密密钥(加密时采用的密钥)和解密密钥(解密时采用的密钥)。经营者提供商品或者服务有欺诈行为的,应当按照消费者的要求增加赔偿其受到的损失,增加赔偿的金额为消费者购买商品的价款或接受服务的费用7.1.2 加密算法的模型加密算法的模型图7-1 加密算法的一般模型经营者提供商品或者服务有欺诈行为的,应当按照消费者的要求增加赔偿其受到的损失,增加赔偿的金额为消费者购买商品的价款或接受服务的费用加密和解密的描述公式发送端对数据的处理可以用下式描述:接收端对数据的处理可以用下式描述:经营者提供商品或者服务有欺诈行为的,应当按照消费者的要求增加赔偿其受到的损失,增加赔偿的金额为消费者购买商品的价款或接受服务的费用密码学的内容密码学包括两方面密切相关的内容:一方面是密码编码学,主要是研究各种加密方案,保护信息不被敌方或者任何无关的第三方侦悉;另一方面是密码分析学,研究攻破一个加密算法的途径,恢复被隐藏的信息的本来面目。这两个部分相辅相成,互相促进,也是矛盾的两个方面。经营者提供商品或者服务有欺诈行为的,应当按照消费者的要求增加赔偿其受到的损失,增加赔偿的金额为消费者购买商品的价款或接受服务的费用7.1.3 传统的加密技术传统的加密技术在计算机出现之前,密码学由基于字符的密码算法构成(即针对字符进行操作)的。密码算法主要采用的是替代(substitution)和置换(transposition)这两种方法,好的密码算法是结合这两种方法,每次进行多次运算。现代的计算机密码算法要复杂得多,但基本原理没有变化,其重要的变化是算法只对位而不是字符进行变换。传统的加密技术有以下几种。经营者提供商品或者服务有欺诈行为的,应当按照消费者的要求增加赔偿其受到的损失,增加赔偿的金额为消费者购买商品的价款或接受服务的费用1.替代密码替代密码替代密码是将明文中的每一个字符替换成密文中的另一个字符,接收者对密文进行逆替换就恢复出明文来。在传统的加密技术中有3种类型的替代密码:单表替代密码、多表替代密码和多字母替代密码。经营者提供商品或者服务有欺诈行为的,应当按照消费者的要求增加赔偿其受到的损失,增加赔偿的金额为消费者购买商品的价款或接受服务的费用1)单表替代密码所谓的单表替代密码,就是明文中的每一个字符用相应的密文字符代替。著名的“凯撒密码”就是一种单表替代密码,也称为循环移位密码。这是一种古老的加密方法,当年凯撒大帝行军打仗时用这种方法进行通信,因此得名。经营者提供商品或者服务有欺诈行为的,应当按照消费者的要求增加赔偿其受到的损失,增加赔偿的金额为消费者购买商品的价款或接受服务的费用凯撒密码加密的原理凯撒密码加密的原理是把明文中的每一个字母都用该字母在字母表中右边的第个字母替代(这里k就是加密密钥),并认为Z后边又是A。例如,假如k为3,其替代表(在这里,为了不出现混淆,明文使用的是小写字母,密文使用的是大写字母,在实际使用中可不作这样要求)如下:经营者提供商品或者服务有欺诈行为的,应当按照消费者的要求增加赔偿其受到的损失,增加赔偿的金额为消费者购买商品的价款或接受服务的费用凯撒密码举例例如,明文为:network security则密文为:QHWZRUN VHFXULWB如果将26个字母分别对应于整数025,可得凯撒密码变换为:加密:解密经营者提供商品或者服务有欺诈行为的,应当按照消费者的要求增加赔偿其受到的损失,增加赔偿的金额为消费者购买商品的价款或接受服务的费用一般的凯撒密码变换 加密:解密:经营者提供商品或者服务有欺诈行为的,应当按照消费者的要求增加赔偿其受到的损失,增加赔偿的金额为消费者购买商品的价款或接受服务的费用凯撒密码的缺点显然,这种加密算法是不安全的,它非常容易被攻破。首先,简单的单表替代没有掩盖明文不同字母出现的频率;其次,移位替代的密钥空间有限,只有26个密钥,利用暴力攻击很容易破解 经营者提供商品或者服务有欺诈行为的,应当按照消费者的要求增加赔偿其受到的损失,增加赔偿的金额为消费者购买商品的价款或接受服务的费用2)多表替代密码大多数多表替代密码是周期替代密码,当周期为1时,就是单表替代密码。多表替代密码的种类很多,一种常用的多表替代密码叫Vigenere(维吉尼亚)密码。它是循环使用有限个字母实现替代的。在Vigenere密码中,把26个字母循环移位,排列在一起,形成一个2626的方阵表,如下表所示。列行ABCDEFGHIJKLMNOPQRSTUVWXYZAABCDEFGHIJKLMNOPQRSTUVWXYZBBCDEFGHIJKLMNOPQRSTUVWXYZACCDEFGHIJKLMNOPQRSTUVWXYZABDDEFGHIJKLMNOPQRSTUVWXYZABCEEFGHIJKLMNOPQRSTUVWXYZABCDFFGHIJKLMNOPQRSTUVWXYZABCDEGGHIJKLMNOPQRSTUVWXYZABCDEFHHIJKLMNOPQRSTUVWXYZABCDEFGIIJKLMNOPQRSTUVWXYZABCDEFGHJJKLMNOPQRSTUVWXYZABCDEFGHIKKLMNOPQRSTUVWXYZABCDEFGHIJLLMNOPQRSTUVWXYZABCDEFGHIJKMMNOPQRSTUVWXYZABCDEFGHIJKLNNOPQRSTUVWXYZABCDEFGHIJKLMOOPQRSTUVWXYZABCDEFGHIJKLMNPPQRSTUVWXYZABCDEFGHIJKLMNOQQRSTUVWXYZABCDEFGHIJKLMNOPRRSTUVWXYZABCDEFGHIJKLMNOPQSSTUVWXYZABCDEFGHIJKLMNOPQRTTUVWXYZABCDEFGHIJKLMNOPQRSUUVWXYZABCDEFGHIJKLMNOPQRSTVVWXYZABCDEFGHIJKLMNOPQRSTUWWXYZABCDEFGHIJKLMNOPQRSTUVXXYZABCDEFGHIJKLMNOPQRSTUVWYYZABCDEFGHIJKLMNOPQRSTUVWXZZABCDEFGHIJKLMNOPQRSTUVWXY经营者提供商品或者服务有欺诈行为的,应当按照消费者的要求增加赔偿其受到的损失,增加赔偿的金额为消费者购买商品的价款或接受服务的费用Vigenere密码加密原理实际使用时,往往把某个容易记忆的词或词组当做密钥。给一个信息加密时,只要把密钥反复写在明文下方,以明文字母选择列,以密钥字母选择行,两者的交点就是加密生成的密文字母。例如,以HOW为密钥,明文为ILOVEYOUP=ILOVEYOUK=HOWHOWHO加密后的密文Ek(P)=PZKCSUVI解密时,以密钥字母选择行,从中找到密文字母,密文字母所在列的列名即为明文字母。经营者提供商品或者服务有欺诈行为的,应当按照消费者的要求增加赔偿其受到的损失,增加赔偿的金额为消费者购买商品的价款或接受服务的费用3)多字母替代密码多字母替代密码是每次对多于一个的字母进行替代的加密方法。例如,将明文中的字符每3个分为一组,当出现AAA时用RTQ替代,当出现AAB时用SLL替代,等等。在进行解密时,再按照这个对应关系进行逆替换就可以恢复出原来的明文。多字母替代密码的优点在于将字母的出现频率隐蔽或者均匀化,从而利于抗统计分析。多字母替代密码是在19世纪中期发明的,在第一次世界大战中,英国人就采用了这种对成组字母加密的密码。经营者提供商品或者服务有欺诈行为的,应当按照消费者的要求增加赔偿其受到的损失,增加赔偿的金额为消费者购买商品的价款或接受服务的费用2.置换密码置换密码置换密码也称为换位密码,是根据一定的规则重新排列明文字母的顺序,使之成为密文。常用的置换密码有列置换密码和周期置换密码两种。经营者提供商品或者服务有欺诈行为的,应当按照消费者的要求增加赔偿其受到的损失,增加赔偿的金额为消费者购买商品的价款或接受服务的费用1)列置换密码列置换密码是将明文分割成n列的分组形式(即每行n个字符),按照每一列从上向下产生密文。例如,将明文WHAT YOU CAN LEARN FROM THIS BOOK分割成为5列的分组(这里5就成为密钥k),最后不全的组可以用不常使用的字符填满,如右所示:按照每一列,从上向下,就可以得到密文:WOLFHOHUERIKACAOSXTARMBXYNN TOX,这里的密钥是数字5。经营者提供商品或者服务有欺诈行为的,应当按照消费者的要求增加赔偿其受到的损失,增加赔偿的金额为消费者购买商品的价款或接受服务的费用2)周期置换密码周期置换密码是把明文中的字母按照给定的顺序排在一个矩阵中,然后用另一种顺序选出矩阵中的字母来产生明文。例如,将上例中的明文按行排在一个56的矩阵中。给定一个置换,密钥为24513,即按第二列,第四列,第五列,第一列,第三列的次序排列,可得到如右的矩阵:然后按每一行,从左向右读出,即可得到密文:HTYWAUANOCERNLARMTFO IBOHSKXXOX。经营者提供商品或者服务有欺诈行为的,应当按照消费者的要求增加赔偿其受到的损失,增加赔偿的金额为消费者购买商品的价款或接受服务的费用7.1.4 现代加密技术现代加密技术在传统的加密技术中,算法的安全性主要是基于算法的保密性,一旦算法被泄露,很容易就被破解。这种算法称为受限制的算法。在现代密码学中,由于加密技术的普遍应用,不可能为每一个应用都开发一个成熟、有效的加密算法,因此算法的安全性就不能基于算法的保密性,而要基于密钥的保密性。也就是说,只要密钥不公开,即使算法公开并被分析,不知道密钥的人也无法理解加密过的消息。现代加密技术中,引入了计算机对信息进行加密和解密处理,因此,运算速度大大提高,要求的密钥长度也越来越长。经营者提供商品或者服务有欺诈行为的,应当按照消费者的要求增加赔偿其受到的损失,增加赔偿的金额为消费者购买商品的价款或接受服务的费用7.1.5 现代加密技术的分类现代加密技术的分类密码学发展至今,产生了很多密码算法。有的算法已在学术刊物中披露,而更多的却作为军事、商业及贸易等秘密被严加保密。因此,密码算法的分类也是多种多样的。这里,重点介绍以下分类。经营者提供商品或者服务有欺诈行为的,应当按照消费者的要求增加赔偿其受到的损失,增加赔偿的金额为消费者购买商品的价款或接受服务的费用1.分组密码和序列密码分组密码和序列密码按照对明文的处理方式,密码算法可以分为分组密码和序列密码。经营者提供商品或者服务有欺诈行为的,应当按照消费者的要求增加赔偿其受到的损失,增加赔偿的金额为消费者购买商品的价款或接受服务的费用1)分组密码分组密码的加密方式是首先将明文序列以固定长度进行分组,每一组明文用相同的密钥和加密函数进行运算。分组密码的优点是:明文信息良好的扩散性。对插入的敏感性。不需要密钥同步。较强的适用性,适宜作为加密标准。缺点是:加密速度慢,错误扩散和传播。经营者提供商品或者服务有欺诈行为的,应当按照消费者的要求增加赔偿其受到的损失,增加赔偿的金额为消费者购买商品的价款或接受服务的费用2)序列密码序列密码的加密过程是把报文、语音、图像和数据等原始信息转换成明文数据序列,然后将它同密钥序列进行逐位模2加生成密文序列发送给接收者。接收者用相同的密钥序列进行逐位解密来恢复明文序列。序列密码的安全性主要依赖于密钥序列。序列密码的优点是:处理速度快,实时性好。错误传播少。不存在串破译问题。适用于军事、外交等保密信道。缺点是:明文扩散性差。插入信息的敏感性差。需要密钥同步。经营者提供商品或者服务有欺诈行为的,应当按照消费者的要求增加赔偿其受到的损失,增加赔偿的金额为消费者购买商品的价款或接受服务的费用2.对称加密算法和非对称加密算对称加密算法和非对称加密算法法按加密和解密密钥的类型划分,可分为对称加密算法和非对称加密算法两种。1)对称加密算法如果加密密钥和解密密钥相同,或由其中一个很容易得出另一个,这样的密码算法称为对称加密算法。在这种算法中,加密和解密密钥都需要保密。对称加密算法也称为单密钥算法或私钥加密算法。常用的对称加密算法有DES、IDEA、RC2、RC4、SKIPJACK等。2)非对称加密算法如果加密密钥与解密密钥不同,且由其中一个不容易得到另一个,则这种加密算法是非对称加密算法。这两个不同的密钥,往往其中一个是公开的,另一个是保密的。非对称加密算法也称为公钥加密算法。常用的非对称加密算法有RSA、Elgamal、背包算法、Rabin、ECC(椭圆曲线加密算法)等。经营者提供商品或者服务有欺诈行为的,应当按照消费者的要求增加赔偿其受到的损失,增加赔偿的金额为消费者购买商品的价款或接受服务的费用3.单向加密算法和双向加密算法单向加密算法和双向加密算法根据加密变换是否可逆,可以将加密算法分为单向加密算法和双向加密算法。1)单向加密算法单向加密算法使用的是单向函数(也称为散列函数、Hash函数),可以将明文加密成密文,但却不能将密文转换为明文(或在计算上不可行),只有同样的输入数据经过同样的不可逆运算才能得到同样的加密数据。单向加密算法用于不需要解密的场合,因此不需要密钥。单向加密算法主要用来进行数据完整性校验和身份验证。单向加密算法的代表有MD4算法、MD5算法、安全散列算法SHA。2)双向变换加密算法通常的加密解密都属于双向变换加密算法,即可以把加密的密文通过解密恢复为原来的明文。经营者提供商品或者服务有欺诈行为的,应当按照消费者的要求增加赔偿其受到的损失,增加赔偿的金额为消费者购买商品的价款或接受服务的费用7.2 对称加密算法对称加密算法对称加密算法是应用较早的数据加密方法,技术成熟。对称密钥加密算法中应用最广泛的数据加密标准(data encryption standard,DES)算法。经营者提供商品或者服务有欺诈行为的,应当按照消费者的要求增加赔偿其受到的损失,增加赔偿的金额为消费者购买商品的价款或接受服务的费用7.2.1 DES算法及其基本思想算法及其基本思想1973年,美国国家标准局NBS在认识到建立数据保护标准的需要的情况下,开始征集联邦数据加密标准的方案,1975年3月17日,NBS公布了IBM公司提供的密码算法,以标准建议的形式在全国范围内征求意见。经过两年多的公开讨论之后,1977年7月15日NBS宣布接受这个建议,并作为第46号联邦信息处理标准,即DES正式颁布,供民用、商业和非国防性政府部门使用,也使得DES成为使用最广泛的一种加密算法。经营者提供商品或者服务有欺诈行为的,应当按照消费者的要求增加赔偿其受到的损失,增加赔偿的金额为消费者购买商品的价款或接受服务的费用1.DES算法描述算法描述DES采用分组密码,它把要加密的明文以64位为一组,分成若干个分组,若最后一个分组不足64位,则在分组之后用0补足。分组之后,利用给定的密钥,依次对每个分组进行加密,每个分组都会产生64位的密文分组。把所有的分组加密完之后,把产生的所有64位密文分组按顺序组合起来就构成了用户需要的整个密文。DES算法所使用的密钥长度为64位,但实际只使用其中的56位,其余的8位用做奇偶校验位。经营者提供商品或者服务有欺诈行为的,应当按照消费者的要求增加赔偿其受到的损失,增加赔偿的金额为消费者购买商品的价款或接受服务的费用1)DES算法的过程经营者提供商品或者服务有欺诈行为的,应当按照消费者的要求增加赔偿其受到的损失,增加赔偿的金额为消费者购买商品的价款或接受服务的费用第一个阶段为初始置换(IP)IP表经营者提供商品或者服务有欺诈行为的,应当按照消费者的要求增加赔偿其受到的损失,增加赔偿的金额为消费者购买商品的价款或接受服务的费用第二个阶段是进行16轮的迭代运算。在第i(1i16)轮运算中,输入的是Li-1、Ri-1和该轮需要的子密钥Ki(第1轮的输入是L0、R0和K1),输出的是Li、Ri。Li、Ri和子密钥Ki+1就成为下一轮的输入。两次相邻的运算之间的关系是:Li=Ri-1Ri=Li-1 g(Ri-1,Ki)其中表示异或操作。当进行完16轮的操作之后,把输出的L16、R16进行对换,并合并为64位的输出。经营者提供商品或者服务有欺诈行为的,应当按照消费者的要求增加赔偿其受到的损失,增加赔偿的金额为消费者购买商品的价款或接受服务的费用第三个阶段完成逆初始置换(IP-1)IP-1表经营者提供商品或者服务有欺诈行为的,应当按照消费者的要求增加赔偿其受到的损失,增加赔偿的金额为消费者购买商品的价款或接受服务的费用剩下的两个问题每一轮的子密钥K1、K2、K3、K16是如何产生的。g函数的结构。经营者提供商品或者服务有欺诈行为的,应当按照消费者的要求增加赔偿其受到的损失,增加赔偿的金额为消费者购买商品的价款或接受服务的费用2)子密钥的产生子密钥产生经营者提供商品或者服务有欺诈行为的,应当按照消费者的要求增加赔偿其受到的损失,增加赔偿的金额为消费者购买商品的价款或接受服务的费用密钥置换PC1经营者提供商品或者服务有欺诈行为的,应当按照消费者的要求增加赔偿其受到的损失,增加赔偿的金额为消费者购买商品的价款或接受服务的费用每轮移动的位数经营者提供商品或者服务有欺诈行为的,应当按照消费者的要求增加赔偿其受到的损失,增加赔偿的金额为消费者购买商品的价款或接受服务的费用 置换选择PC2经营者提供商品或者服务有欺诈行为的,应当按照消费者的要求增加赔偿其受到的损失,增加赔偿的金额为消费者购买商品的价款或接受服务的费用3)g函数经营者提供商品或者服务有欺诈行为的,应当按照消费者的要求增加赔偿其受到的损失,增加赔偿的金额为消费者购买商品的价款或接受服务的费用扩展置换E经营者提供商品或者服务有欺诈行为的,应当按照消费者的要求增加赔偿其受到的损失,增加赔偿的金额为消费者购买商品的价款或接受服务的费用S盒结构经营者提供商品或者服务有欺诈行为的,应当按照消费者的要求增加赔偿其受到的损失,增加赔偿的金额为消费者购买商品的价款或接受服务的费用S盒的具体置换过程 S盒的具体置换过程为:某个S盒的6位输入的第1位和第6位形成一个2位的二进制数(从03),对应表中的行号;同时,输入的中间4位构成4位二进制数(从015)对应表中的列号(注意:行和列均从0开始计数)。将8个S盒的输出连在一起生成一个32位的输出,输出结果再通过如下表 所示的P盒置换产生一个32位的输出,这个输出的值就是g函数的输出值g(Ri-1,Ki)。经营者提供商品或者服务有欺诈行为的,应当按照消费者的要求增加赔偿其受到的损失,增加赔偿的金额为消费者购买商品的价款或接受服务的费用P盒置换经营者提供商品或者服务有欺诈行为的,应当按照消费者的要求增加赔偿其受到的损失,增加赔偿的金额为消费者购买商品的价款或接受服务的费用2.DES解密解密DES解密操作与加密采用相同的算法,如下图所示。解密算法使用子密钥的顺序与加密过程相反。经营者提供商品或者服务有欺诈行为的,应当按照消费者的要求增加赔偿其受到的损失,增加赔偿的金额为消费者购买商品的价款或接受服务的费用DES解密算法经营者提供商品或者服务有欺诈行为的,应当按照消费者的要求增加赔偿其受到的损失,增加赔偿的金额为消费者购买商品的价款或接受服务的费用7.2.2 DES算法的安全性分析算法的安全性分析1.56位的密钥长度对于当前的计算速度来说太小2.16轮的迭代运算次数可能太少3.S盒中可能存在着不安全的因素4.DES的一些关键部分不应当保密经营者提供商品或者服务有欺诈行为的,应当按照消费者的要求增加赔偿其受到的损失,增加赔偿的金额为消费者购买商品的价款或接受服务的费用7.3 非对称加密算法非对称加密算法经营者提供商品或者服务有欺诈行为的,应当按照消费者的要求增加赔偿其受到的损失,增加赔偿的金额为消费者购买商品的价款或接受服务的费用7.3.1 非对称加密算法概述非对称加密算法概述在介绍非对称加密算法之前,先介绍对称加密算法的一些缺陷。(1)密钥数量大。(2)密钥分配困难。(3)无法抗抵赖。经营者提供商品或者服务有欺诈行为的,应当按照消费者的要求增加赔偿其受到的损失,增加赔偿的金额为消费者购买商品的价款或接受服务的费用非对称加密算法的概念 在这之前,加密和解密算法都是建立在替代和置换的基础上,而非对称加密算法则是建立在数学函数的基础之上,更重要的是,非对称加密算法是非对称的,加密密钥与解密密钥不同,且由其中一个不容易得到另一个,用其中一个密钥加密的数据,必须用另外一个密钥才能进行解密。因此在使用的时候,可以公开其中一个密钥(称为公开密钥,简称公钥),而保密另外一个密钥(私人密钥,简称私钥)。这对于保密通信、密钥分配和鉴别等领域产生深远的影响。经营者提供商品或者服务有欺诈行为的,应当按照消费者的要求增加赔偿其受到的损失,增加赔偿的金额为消费者购买商品的价款或接受服务的费用公钥加密算法可用于以下两个方面:(1)保密通信(2)数字签名 经营者提供商品或者服务有欺诈行为的,应当按照消费者的要求增加赔偿其受到的损失,增加赔偿的金额为消费者购买商品的价款或接受服务的费用(1)保密通信经营者提供商品或者服务有欺诈行为的,应当按照消费者的要求增加赔偿其受到的损失,增加赔偿的金额为消费者购买商品的价款或接受服务的费用(2)数字签名 经营者提供商品或者服务有欺诈行为的,应当按照消费者的要求增加赔偿其受到的损失,增加赔偿的金额为消费者购买商品的价款或接受服务的费用非对称加密算法的基础非对称加密算法的算法基础是基于一些数学难题的。比如有基于背包问题的背包算法(这是最早的非对称加密算法),基于大整数因数分解的RSA算法、LUC算法、Rabin体制等,基于有限域中计算离散对数的困难的ElGamal算法、椭圆曲线加密算法(Elliptic Curve Cryptosystems,ECC)、Diffie-Hellman算法。经营者提供商品或者服务有欺诈行为的,应当按照消费者的要求增加赔偿其受到的损失,增加赔偿的金额为消费者购买商品的价款或接受服务的费用7.3.2 RSA算法及其基本思想算法及其基本思想著名的非对称加密算法RSA是由美国麻省理工学院的位科学家Rivest、Shamir和Adleman于1976年提出的,故名RSA,并在1978年正式发表。RSA是非对称加密算法中最具有典型意义的算法,大多数使用非对称加密算法进行加密和数字签名的产品和标准使用的都是RSA算法。经营者提供商品或者服务有欺诈行为的,应当按照消费者的要求增加赔偿其受到的损失,增加赔偿的金额为消费者购买商品的价款或接受服务的费用1.RSA基于的数学难题基于的数学难题RSA算法的安全性基于大整数因数分解的困难性。我们知道,求一对大素数的乘积很容易,但要对这个乘积进行因式分解则非常困难,迄今为止在数学上还没有找到有效的办法。经营者提供商品或者服务有欺诈行为的,应当按照消费者的要求增加赔偿其受到的损失,增加赔偿的金额为消费者购买商品的价款或接受服务的费用2.RSA的数学基础的数学基础如果要想更好地了解RSA的加密和解密的原理,先补充一些数学知识。1)模运算mod2)乘法逆元3)欧拉数4)欧拉定理经营者提供商品或者服务有欺诈行为的,应当按照消费者的要求增加赔偿其受到的损失,增加赔偿的金额为消费者购买商品的价款或接受服务的费用1)模运算mod如果a是一个整数,而n是一个正整数,定义a mod n的结果为为a除以n得到的余数。例如,11 mod 7=4,25 mod 7=4。如果两个整数a、b满足:(a mod n)=(b mod n),则称整数a和b模n同余,可记为:a b mod n例如,11 25 mod 7。经营者提供商品或者服务有欺诈行为的,应当按照消费者的要求增加赔偿其受到的损失,增加赔偿的金额为消费者购买商品的价款或接受服务的费用2)乘法逆元如果两个整数x、y满足:xy 1 mod n则称y是x的关于模n的乘法逆元(也可称为x是y的关于模n的乘法逆元)。需要注意的是,并非所有整数都有乘法逆元。性质:若n为素数,对于所有非0的x(xn)都存在乘法逆元。经营者提供商品或者服务有欺诈行为的,应当按照消费者的要求增加赔偿其受到的损失,增加赔偿的金额为消费者购买商品的价款或接受服务的费用3)欧拉数设n是正整数,那么从1到n-1中与n互素的数的个数称为n的欧拉数,记为(n)。例如,n=10,从1到9之间与10互素的数有1、3、7、9共4个,因此(10)=4。欧拉数的两个性质:(1)若p是素数,则(p)=p-1。(2)若pq,且均为素数,则(pq)=(p)(q)=(p-1)(q-1)。例如p=3,q=5,(35)=(15)=(3-1)(5-1)=8。经营者提供商品或者服务有欺诈行为的,应当按照消费者的要求增加赔偿其受到的损失,增加赔偿的金额为消费者购买商品的价款或接受服务的费用4)欧拉定理设pq,且均为素数,n=pq,那么任取整数x(0 xn),则:xm(n)+1 x mod n其中,m可为任意整数由于0 xn,上式也可以写成:xm(n)+1 mod n=x经营者提供商品或者服务有欺诈行为的,应当按照消费者的要求增加赔偿其受到的损失,增加赔偿的金额为消费者购买商品的价款或接受服务的费用欧拉定理得到的结论这样我们得到一个很有趣的结果,就是x经过一系列运算之后又变回了x。我们可以想象把x看成明文,中间的运算结果可以看成密文y(上式并没给出中间结果),经过最后的运算又恢复成了明文x。经营者提供商品或者服务有欺诈行为的,应当按照消费者的要求增加赔偿其受到的损失,增加赔偿的金额为消费者购买商品的价款或接受服务的费用3.RSA密钥对的产生密钥对的产生(1)随机地选取两个不同的大素数p和q(一般为150位以上的十进制数,可以从网上下载)。(2)计算乘积n=pq。(3)计算n的欧拉数(n)=(p-1)(q-1)。(4)随机取一个整数e,1e(n),且e和(n)互素。此时可求得满足下式的整数d:ed 1 mod(n)因为e和(n)互素,所以e的乘法逆元d是存在的。(5)把e,n公开作为公钥,把d,n作为私钥,而p、q、(n)要销毁。经营者提供商品或者服务有欺诈行为的,应当按照消费者的要求增加赔偿其受到的损失,增加赔偿的金额为消费者购买商品的价款或接受服务的费用4.RSA加密的过程加密的过程RSA加密明文消息p时(这里假设p是以十进制表示的数),首先将消息分成大小合适的数据分组,然后对分组分别进行加密。每个分组的大小应该比n小。设ci为明文分组pi加密后的密文,则加密公式为:ci=pie mod n经营者提供商品或者服务有欺诈行为的,应当按照消费者的要求增加赔偿其受到的损失,增加赔偿的金额为消费者购买商品的价款或接受服务的费用5.RSA解密的过程解密的过程解密时,对每一个密文分组进行如下运算:pi=cid mod n经营者提供商品或者服务有欺诈行为的,应当按照消费者的要求增加赔偿其受到的损失,增加赔偿的金额为消费者购买商品的价款或接受服务的费用7.3.3 RSA算法的安全性分析算法的安全性分析RSA的安全性基于这么一种想法,那就是模n(即选取的大素数p、q的乘积)要足够大以至于在适当的时间内把它分解是不可能的。目前,还没有一种有效的方法可以对大数进行因数分解。经营者提供商品或者服务有欺诈行为的,应当按照消费者的要求增加赔偿其受到的损失,增加赔偿的金额为消费者购买商品的价款或接受服务的费用7.4 报文鉴别报文鉴别经营者提供商品或者服务有欺诈行为的,应当按照消费者的要求增加赔偿其受到的损失,增加赔偿的金额为消费者购买商品的价款或接受服务的费用7.4.1 报文鉴别的概念和一般实报文鉴别的概念和一般实现方法现方法数据加密主要防止的是被动攻击,而报文鉴别的目的是保护数据不受主动攻击,也就是保护数据的完整性。数据即使被非法用户改变了或者数据是攻击者伪造的,数据的使用者也能发现。报文鉴别的主要方式有以下几种。1.报文加密函数2.报文鉴别码3.散列函数经营者提供商品或者服务有欺诈行为的,应当按照消费者的要求增加赔偿其受到的损失,增加赔偿的金额为消费者购买商品的价款或接受服务的费用7.4.2 散列函数散列函数散列函数又称Hash函数、单向函数,它将任意长度的报文M变换成固定长度的散列值(即报文摘要)h,散列函数表示为:h=H(M)它生成报文所独有的“指纹”。如果原始报文改变,再次通过散列函数时,它将生成不同的散列值,因此散列函数能用来检测报文的完整性,保证报文从建立开始到收到始终没有被改变或破坏。收到报文的接收者,使用同样的散列函数对报文重新计算散列值,并与收到的散列值相比较。如果相同,则证明报文在传输过程中没有被修改,否则报文是不可信的。经营者提供商品或者服务有欺诈行为的,应当按照消费者的要求增加赔偿其受到的损失,增加赔偿的金额为消费者购买商品的价款或接受服务的费用散列函数必须具备如下特征:(1)对于不同的报文不能产生相同的散列值,改变原始报文中的任意一位数值将产生完全不同的散列值。(2)对于任意一个报文无法预知它的散列值。(3)无法根据散列值倒推报文,因为一条报文的散列值可能是由无数的报文产生的。(4)散列算法是公开的,不需要保密,它的安全性来自它产生单向散列的能力。(5)散列值有固定的长度,一个短报文的散列与一个非常长的报文的散列可以产生相同长度的散列值。(6)要找到两个不同报文产生相同的散列值在计算上是不可行的。经营者提供商品或者服务有欺诈行为的,应当按照消费者的要求增加赔偿其受到的损失,增加赔偿的金额为消费者购买商品的价款或接受服务的费用7.4.3 报文摘要报文摘要MD5MD表示报文摘要(message digest),MD5是MD4的改进版,是由Ron Rivest在麻省理工学院提出的,曾是使用最广泛的散列算法。该算法对输入任意长度的报文进行计算,以512bit的分组进行处理,产生一个128位长度的报文摘要。MD5算法的实现要经过以下5个步骤。经营者提供商品或者服务有欺诈行为的,应当按照消费者的要求增加赔偿其受到的损失,增加赔偿的金额为消费者购买商品的价款或接受服务的费用1.附加填充比特附加填充比特通过附加填充比特,使其长度成为一个比512的倍数小64的数,即将报文扩展至L512-64(L为正整数)位,留出64位在步骤2使用。填充方法为:在报文后面填充一位1,然后填充所需数量的0。即使原始报文长度已经满足比512的倍数小64,仍然要进行填充。即最少要填充1位,最多填充512位。经营者提供商品或者服务有欺诈行为的,应当按照消费者的要求增加赔偿其受到的损失,增加赔偿的金额为消费者购买商品的价款或接受服务的费用2.附加长度值附加长度值用步骤1留出的64位填充报文的原始长度。当原始长度大于264时(即使现在看来,几乎不会出现这种情况),用消息长度模264之后的值填充。这时,填充之后的报文长度恰好是512的整数倍(如512的L倍)。把扩展后的消息以512位为一组进行分组,可以分为L组,表示为Y0,Y1,Y2,YL-1。经营者提供商品或者服务有欺诈行为的,应当按照消费者的要求增加赔偿其受到的损失,增加赔偿的金额为消费者购买商品的价款或接受服务的费用3.初始化初始化MD缓存器缓存器在MD5算法中,需要一个128位的缓存器,用来存放中间结果和最终结果。这个缓存器由4个32位寄存器A、B、C、D表示。这4个寄存器的初始值(十六进制,按低位字节在前的顺序存放)为:经营者提供商品或者服务有欺诈行为的,应当按照消费者的要求增加赔偿其受到的损失,增加赔偿的金额为消费者购买商品的价款或接受服务的费用4.处理处理512位的分组位的分组这一步骤为MD5的主循环,如图7-10所示。每次主循环处理一个512位的分组,处理L个分组总共要进行L次循环。第q(q=0,1,L-1)次循环是以当前正在处理的512位分组Yq和128位的缓存值ABCD为输入,然后更新缓存值ABCD的内容,作为下一次主循环的缓存值的输入。当q=0时,输入的ABCD正好是初始化的缓存值。每次主循环共包含4圈主操作,每圈主操作又包含16轮迭代运算,即每次主循环总共包括64轮迭代运算。某一轮运算的过程如图7-11所示。经营者提供商品或者服务有欺诈行为的,应当按照消费者的要求增加赔偿其受到的损失,增加赔偿的金额为消费者购买商品的价款或接受服务的费用MD5主循环处理图7-10 MD5主循环处理经营者提供商品或者服务有欺诈行为的,应当按照消费者的要求增加赔偿其受到的损失,增加赔偿的金额为消费者购买商品的价款或接受服务的费用MD5某一轮的运算操作图7-11 MD5某一轮的运算操作经营者提供商品或者服务有欺诈行为的,应当按照消费者的要求增加赔偿其受到的损失,增加赔偿的金额为消费者购买商品的价款或接受服务的费用(1)i表示第i轮操作,i取值范围为063。经营者提供商品或者服务有欺诈行为的,应当按照消费者的要求增加赔偿其受到的损失,增加赔偿的金额为消费者购买商品的价款或接受服务的费用(2)g函数 g函数的输入值为B、C、D。共有4圈主操作,每圈主操作使用的g函数不同,如表7-10所示。表7-10 g函数经营者提供商品或者服务有欺诈行为的,应当按照消费者的要求增加赔偿其受到的损失,增加赔偿的金额为消费者购买商品的价款或接受服务的费用(3)Xi Xi是由输入的512位的分组Yq得出的。把512位的分组以32位为一组,分为16组,表示为M0,M1,M2,M15。Xi就是由Mi通过运算得出的,每一的轮Xi如表7-11所示。经营者提供商品或者服务有欺诈行为的,应当按照消费者的要求增加赔偿其受到的损失,增加赔偿的金额为消费者购买商品的价款或接受服务的费用每一轮的Xi表7-11 每一轮的Xi经营者提供商品或者服务

    注意事项

    本文(第7章数据加密技术ppt课件.ppt)为本站会员(飞****2)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开