第4章 公钥密码技术.ppt

  1. 1、本文档共27页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章 公钥密码技术

第4章 公钥密码技术 本章主要内容 概述 公钥密码提出的背景 公钥密码的基本思想 公钥密码的应用 RSA公钥密码体制 ElGamal公钥密码体制 椭圆曲线密码体制 第4章 公钥密码技术 4.1概述 4.1.1 公钥密码提出的背景 1.密钥管理的困难性问题 传统密钥管理两两分别用一对密钥时则n个用户需要 n(n-1)/2个密钥,当用户量增大时密钥空间急剧增大。 2.系统的开放性问题 对称密码体制的密钥分发方法要求密钥共享各方互相信任,因此它不能解决陌生人间的密钥传递问题 3.数字签名问题 对称加密算法难以实现抗抵赖的安全需求。 第4章 公钥密码技术 4.1.2 公钥密码的基本思想 公钥密码也称为非对称密码。使用公钥密码的每一个用户都分别拥有两个密钥:加密密钥与解密密钥,它们两者并不相同,并且由加密密钥得到解密密钥在计算上是不可行的。每一个用户的加密密钥都是公开的。 第4章 公钥密码技术 单向陷门函数 单向陷门函数可以被定义为如下函数f: (1)给出f的定义域中的任意元素x, f(x)的计算是容易的; (2)给出y=f (x)中的y要计算x时,若知道设计函数f时结合进去的某种信息(该信息称为陷门),则容易计算;若不知道该信息,则难以计算。 设计公钥密码体制可以转换为寻找单向陷门函数。目前人们主要是基于如下的数学上的困难问题来设计单向函数和公钥密码体制: (1)大整数分解问题(如公钥密码体制RSA); (2)有限域上的离散对数问题(如公钥密码体制ElGamal): (3)椭圆曲线上的离散对数问题(如公钥密码体制ECC)。 第4章 公钥密码技术 4.1.3 公钥密码的应用 (1) 机密性的实现 发送方用接收方的公钥加密消息,接收方用自己的私钥来解密。 (2) 数字签名 发送方用自己的私钥来签名消息,接收方通过发送方对应的公钥来鉴别消息,并且发送方不能对自己的签名进行否认。 (3) 密钥分发和协商 发送方和接收方基于公钥密码系统容易实现在公开信道上的大规模的密钥分发和协商。 第4章 公钥密码技术 (2)如何快速的产生大素数 通常使用的过程是随机选取一个需要的数量级的奇数并检验这个数是否是素数。 几乎所有的检验素性的方法都是概率性的。 一般的,选取一个素数的过程如下: 1)随机选一个奇数n(例如使用伪随机数产生器); 2)用某种概率性算法(如Miller-Rabin算法)对n进行一次素性检验,如果n没有通过检验,转到步骤1; 3)重复步骤2足够多次,如果n都通过了检测,则认为n为素数。 第4章 公钥密码技术 Miller-Rabin( n )算法 将 n-1写成2km的形式,其中m是一个奇数 在{2,…,n-2}中随机的选取一个整数a 计算b=am mod n; if (b==1) return TRUE; for(i=0;ik;i++) { if(b==n-1) return TRUE; else b=b?b mod n; } return FALSE; 第4章 公钥密码技术 4.2.3 RSA的安全性 RSA的安全性是基于分解大整数的困难性假定,之所以为假定是因为其困难性至今还未能证明。 若能将n分解为两个素数因子p,q,则可计算?(n)=(p-1)(q - 1),d = e-1 mod ?(n) 因此,不难得出结论:破译RSA不会比大整数分解更加困难! (1)对模n的长度必须足够长,至少为1024比特 (2) p和q的长度应该相差不多; (3) p?1和q?1都应该包含大的素因子; (4) gcd(p?1,q?1)应该很小; (5)dn1/4。 第4章 公钥密码技术 4.2.4 RSA在应用中的问题 (1)用户之间不要共享模数n 如果已知n和?(n)的一个倍数,有快速算法来分解n (2)不同的用户选用的素数不能相同 (3)一般不能直接应用RSA进行加解密 由于RSA算法是决定性算法(即对相同的明文始终会给出相同的密文)和具有特殊的代数结构等原因,用RSA算法进行直接加密在很多环境下是不安全的。故在使用RSA进行加密前,需要对明文做某种预处理,一般是进行随机化的填充,如最优非对称加密填充(OAEP)。 第4章 公钥密码技术 4.4 椭圆曲线密码体制 4.4.1概述 由Heal Kablitz和Victor Miller在1985年分别提出并在近年开始得到重视。ECC的安全性基于椭圆曲线离散对数问题的难解性。同基于有限域上的离散对数问题的公钥密码体制相比,椭圆曲线密码体制主要有以下两个方面的优点。

文档评论(0)

liudao + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档