第5章 公钥密码.ppt
《第5章 公钥密码.ppt》由会员分享,可在线阅读,更多相关《第5章 公钥密码.ppt(118页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Copyright Yuan Copyright Yuan Email:Email: 南京航空航天大学网络研究室南京航空航天大学网络研究室南京航空航天大学网络研究室南京航空航天大学网络研究室双钥密码双钥密码第五讲:双钥密码一一、基基本本概概念念二二、R RS SA A密密码码体体制制三三、背背包包密密码码体体制制四四、R Ra ab bi in n密密码码体体制制五五、E El lG Ga am ma al l密密码码体体制制六六、椭椭圆圆曲曲线线密密码码体体制制七七、M Mc cE El li ie ec ce e密密码码体体制制八八、L LU UC C密密码码体体制制九九、秘秘密密共共享享
2、密密码码体体制制十十、有有限限自自动动机机密密码码体体制制2023/1/301Copyright Yuan Copyright Yuan Email:Email: 南京航空航天大学网络研究室南京航空航天大学网络研究室南京航空航天大学网络研究室南京航空航天大学网络研究室双钥密码双钥密码第五讲:双钥密码双(公)钥密码体制于1976年由W.Diffie和M.Hellman1976提出,同时R.Merkle1978也独立提出了这一体制。可用于保密通信,也可用于数字签字。这一体制的出现在密码学史上是划时代的事件,它为解决计算机信息网中的安全提供了新的理论和技术基础。自1976年以来,双钥体制有了飞速发展
3、,不仅提出了多种算法,而且出现了不少安全产品,有些已用于NII和GII之中。本章将介绍其中的一些主要体制,特别是那些既有安全性,又有实用价值的算法。其中,包括可用于密钥分配、加解密或数字签名的双钥算法。一个好的系统,不仅算法要好,还要求能与其它部分,如协议等进行有机的组合。一、基本概念一、基本概念2023/1/302Copyright Yuan Copyright Yuan Email:Email: 南京航空航天大学网络研究室南京航空航天大学网络研究室南京航空航天大学网络研究室南京航空航天大学网络研究室双钥密码双钥密码一、基本概念一、基本概念 由于双钥体制的加密变换是公开的,使得任何人都可以采
4、用选择明文来攻击双钥体制,因此,明文空间必须足够大才能防止穷尽搜索明文空间攻击。这在双钥体制应用中特别重要(如用双钥体制加密会话密钥时,会话密钥要足够长)。一种更强有力的攻击法是选择密文攻击,攻击者选择密文,而后通过某种途径得到相应的明文,多数双钥体制对于选择密文攻击特别敏感。通常采用两类选择密文攻击:(1)冷漠(Indifferent)选择密文攻击。在接收到待攻击的密文之前,可以向攻击者提供他们所选择的密文的解密结果。(2)自适应选择密文攻击,攻击者可能利用(或接入)被攻击者的解密机(但不知其秘密钥),而可以对他所选择的、与密文有关的待攻击的密文,以及以前询问得到的密文进行解密。2023/1
5、/303Copyright Yuan Copyright Yuan Email:Email: 南京航空航天大学网络研究室南京航空航天大学网络研究室南京航空航天大学网络研究室南京航空航天大学网络研究室双钥密码双钥密码一、基本概念一、基本概念本讲介绍双钥体制的基本原理和各种重要算法,如RSA、背包、Rabin、ElGamal、椭圆曲线、McEliece、LUC、秘密共享、有限自动机等密码算法。1.双钥密码体制的基本概念双钥密码保密、认证系统的的安全性主要取决于构造双钥算法所依赖的数学问题。要求加密函数具有单向性,即求逆的困难性。因此,设计双钥体制的关键是先要寻求一个合适的单向函数。(1)单向函数定
6、义5-1-1 令函数f是集A到集B的映射,以f:AB表示。若对任意x1x2,x1,x2A,有f(x1)f(x2),则称f为单射,或11映射,或可逆的函数。2023/1/304Copyright Yuan Copyright Yuan Email:Email: 南京航空航天大学网络研究室南京航空航天大学网络研究室南京航空航天大学网络研究室南京航空航天大学网络研究室双钥密码双钥密码一、基本概念一、基本概念f为可逆的充要条件是,存在函数g:B A,使对所有xA有gf(x)=x。定义5-1-2 一个可逆函数f:AB,若它满足:p1o 对所有xA,易于计算f(x)。p2o 对“几乎所有xA”由f(x)求
7、x“极为困难”,以至于实际上不可能做到,则称f为一单向(One-way)函数。定义中的“极为困难”是对现有的计算资源和算法而言。Massey称此为视在困难性(apparent difficulty),相应函数称之为视在单向函数。以此来和本质上(Essentially)的困难性相区分 Massey 1985。(1)单向函数单向函数2023/1/305Copyright Yuan Copyright Yuan Email:Email: 南京航空航天大学网络研究室南京航空航天大学网络研究室南京航空航天大学网络研究室南京航空航天大学网络研究室双钥密码双钥密码一、基本概念一、基本概念例5-1-1 令令f
8、是在有限域是在有限域GF(p)中的指数函数,其中中的指数函数,其中p是大素数,即是大素数,即 y=f(x)=x (511)式式中中,x GF(p),x为为满满足足0 xp1的的整整数数,其其逆逆运运算算是是GF(p)中中定义的对数运算,即定义的对数运算,即 x=log x 0 xp1 (512)显显然然,由由x求求y是是容容易易的的,即即使使当当p很很大大,例例如如p 2100时时也也不不难难实实现现。为为方方便便计计算算以以下下令令=2。所所需需的的计计算算量量为为lb p次次乘乘法法,存存储储量量为为(lb p)2比比特特,例例如如p=2100时时,需需作作100乘乘法法。利利用用高高速速
9、计计算算机机由由x计计算算 x可可在在0.1毫毫秒秒内内完完成成。但但是是相相对对于于当当前前计计算算GF(p)中中对对数数最最好好的的算算法法,要要从从 x计计算算x所所需需的的存存储储量量大大约约为为 比比特特和和运运算算量量大大约约为为 。当当p=2100时时,所所需需的的计计算算量量为为 次次,以以计计算算指指数数一一样样快快的的计计算算机机进进行行计计算算需需时时约约1010.7秒秒(1年年=107.5秒秒,故故约约为为1600年年!其其中中假假定定存存储储量量的的要要求求能能够够满满足足)。可可见见,当当p很很大大时时,GF(p)中中的的f(x)=x,xp1是是个单向函数。个单向函
10、数。(1)单向函数单向函数2023/1/306Copyright Yuan Copyright Yuan Email:Email: 南京航空航天大学网络研究室南京航空航天大学网络研究室南京航空航天大学网络研究室南京航空航天大学网络研究室双钥密码双钥密码一、基本概念一、基本概念 Pohlig和Hellman对(p1)无大素因子时给出一种快速求对数的算法Pohlig等1978。特别是,当p=2n1时,从x求x的计算量仅需(log p)2次乘法。对于p=2160,在高速计算机上大约仅需时10毫秒。因此,在这种情况下,f(x)=x就不能被认为是单向函数。由上述我们可以得出,当对素数p,且p1有大的素因
11、子时,GF(p)上的函数f(x)=x是一个视在单向函数。寻求在GF(p)上求对数的一般快速算法是当前密码学研究中的一个重要课题。(1)单向函数单向函数2023/1/307Copyright Yuan Copyright Yuan Email:Email: 南京航空航天大学网络研究室南京航空航天大学网络研究室南京航空航天大学网络研究室南京航空航天大学网络研究室双钥密码双钥密码一、基本概念一、基本概念(2)陷门单向函数单向函数是求逆困难的函数,而单向陷门函数(Trapdoor one-way function),是在不知陷门信息下求逆困难的函数,当知 道 陷 门 信 息 后,求 逆 是 易 于 实
12、 现 的。这 是 Diffie和Hellmam1976引入的有用概念。例:号码锁。但如何给陷门单向函数下定义则很棘手,因为(1)陷门函数其实就不是单向函数,因为单向函数是在任何条件下求逆都是困难的;(2)陷门可能不止一个,通过试验,一个个陷门就可容易地找到逆。如果陷门信息的保密性不强,求逆也就不难。2023/1/308Copyright Yuan Copyright Yuan Email:Email: 南京航空航天大学网络研究室南京航空航天大学网络研究室南京航空航天大学网络研究室南京航空航天大学网络研究室双钥密码双钥密码一、基本概念一、基本概念定义:5-1-3 陷门单向函数是一类满足下述条件的
13、单向函数:fz:AzBz,zZ,Z是陷门信息集。(1)对所有zZ,在给定z下容易找到一对算法Ez和Dz使对所有xA,易于计算fz及其逆,即 fz(x)=Ez(x)(513)Dz(fz(x)=x (514)而且当给定z后容易找到一种算法Fz,称其为可用消息集鉴别函数,对所有xA易于检验是否xAz(AzA),Az是可用的明文集。(2)对“几乎”所有zZ,当只给定Ez和Fz时,对“几乎所有”xAz,“很难”意即“实际上不可能”从y=Ez(x)算出x。(2)陷门单向函数陷门单向函数2023/1/309Copyright Yuan Copyright Yuan Email:Email: 南京航空航天大学
14、网络研究室南京航空航天大学网络研究室南京航空航天大学网络研究室南京航空航天大学网络研究室双钥密码双钥密码一、基本概念一、基本概念第(1)条让我们注意识别x是在允许的定义范围内。当集A未划分时,这不难做到。但是当集Az与z有关时,则应当能确信可以检验x是在Az中(这容易做到)的同时,是否在不知z下也能检验x是在Az之中,因为如果人们在不知z下使用算法Ez时就需要解决此问题。第(2)条半精确地定义了陷门单向函数为一单向函数。它表明在给定算法Ez,Dz时,对“几乎所有”xAz,至少对“大多数”zZ和“大多数”xAz,在“计算上”不可能求出逆。即使已知有限明密文对(xi,yi),i=1,2,n,也难以
15、轻易地从Ez(x)算出x,其中xAz但不在已知的明密文对中。(3)对任一z,集Az必须是保密系统中明文集中的一个“方便”集。即便于实现明文到它的映射。(在PKC中是默认的条件)。(Diffie和Hellman定义的陷门函数中,Az=A,对所有Z成立。而实际中的Az取决于Z)。(2)陷门单向函数陷门单向函数2023/1/3010Copyright Yuan Copyright Yuan Email:Email: 南京航空航天大学网络研究室南京航空航天大学网络研究室南京航空航天大学网络研究室南京航空航天大学网络研究室双钥密码双钥密码一、基本概念一、基本概念(3)公钥系统公钥系统在一个公钥系统中,所
16、有用户共同选定一个陷门单向函数,加密运算E及可用消息集鉴别函数F。用户i从陷门集中选定zi,并公开Ezi和Fzi。任一要向用户i送机密消息者,可用Fzi检验消息x是否在许用明文之中,而后送y=Ezi(x)给用户i 即可。在仅知y,Ezi和Fzi下,任一用户不能得到x。但用户i利用陷门信息zi,易于得到Dzi(y)=x。定义5-1-4 对zZ和任意xX,Fi(x)yY=X。若 Fj(Fi(x)=Fi(Fj(x)(515)成立,则称F为可换单向函数。可换单向函数在密码学中更有用。2023/1/3011Copyright Yuan Copyright Yuan Email:Email: 南京航空航天
17、大学网络研究室南京航空航天大学网络研究室南京航空航天大学网络研究室南京航空航天大学网络研究室双钥密码双钥密码一、基本概念一、基本概念(4)用于构造双钥密码的单向函数用于构造双钥密码的单向函数1976年Diffie和Hellman发表的文章中虽未给出陷门单向函数,但大大推动了这方面的研究工作。双钥密码体制的研究在于给出这种函数的构造方法以及它们的安全性。陷门单向函数的定义并没有给出这类函数是否存在。但他们指出“一个单钥密码体制,如果能抗击选择明文攻击,就可规定一个陷门单向函数”。以其密钥作为陷门信息,则相应的加密函数就是这类函数。这是构造双钥体制的途径。下面给出一些目前多数双钥体制所用的单向函数
18、的例子。2023/1/3012Copyright Yuan Copyright Yuan Email:Email: 南京航空航天大学网络研究室南京航空航天大学网络研究室南京航空航天大学网络研究室南京航空航天大学网络研究室双钥密码双钥密码一、基本概念一、基本概念 多项式求根。多项式求根。有限域GF(p)上的一个多项式y=f(x)=xnan-1xn-1a1xa0 mod p 当给定a0,a1,an-1,p及x时,易于求y,利用Honers 法则,即 f(x)=(xan-1)xan-2)xan-3)xa1)xa0 mod p。(516)最多有n次乘法和n1次加法。反之,已知y,a0,an-1,要求解
19、x需能对高次方程求根。这至少要n2(lb p)2次乘法,a表不大于a的最大整数,当n,p大时很难。离离散散对对数数DL。给定一大素数p,p1含另一大素数因子q。可构造一乘群Zp*,它是一个p1阶循环群。其生成元为整数g,1gp1。已知x,求 y=gx mod p容 易,只 需 lb2x 1次 乘 法。如 x=15=11112,g15=(1g)2g)2g)2g mod p,要用14次乘法。(4)用于构造双钥密码的单向函数用于构造双钥密码的单向函数2023/1/3013Copyright Yuan Copyright Yuan Email:Email: 南京航空航天大学网络研究室南京航空航天大学网
20、络研究室南京航空航天大学网络研究室南京航空航天大学网络研究室双钥密码双钥密码一、基本概念一、基本概念 若已知y,g,p,求x=logg y mod p为离散对数问题。最快求解法运算次数渐近值为 (517)p=512时,。若离散对数定义在GF(2n)中的2n1阶循环群上,它的预计算量的渐近式为 (518)求一特定离散对数的计算量的渐近式为 (519)广义离散对数问题是在n阶有限循环群G上定义的。(4)用于构造双钥密码的单向函数用于构造双钥密码的单向函数2023/1/3014Copyright Yuan Copyright Yuan Email:Email: 南京航空航天大学网络研究室南京航空航天
21、大学网络研究室南京航空航天大学网络研究室南京航空航天大学网络研究室双钥密码双钥密码一、基本概念一、基本概念大整数分解FAC(Factorization Problem)。判断一个大奇数n是否为素数的有效算法,大约需要的计算量是lb n4,当n为256或512位的二元数时,用当前计算机做可在10分钟内完成。已知FACCONP。若已知二大素数p和q,求n=pq只需一次乘法,但若由n,求p和q,则是几千年来数论专家的攻关对象。(4)用于构造双钥密码的单向函数用于构造双钥密码的单向函数2023/1/3015Copyright Yuan Copyright Yuan Email:Email: 南京航空航
22、天大学网络研究室南京航空航天大学网络研究室南京航空航天大学网络研究室南京航空航天大学网络研究室双钥密码双钥密码一、基本概念一、基本概念 迄今为止,已知的各种算法的渐近运行时间为:试除法:最早的也是最慢的算法,需试验所有小于sqrt(n)的素数,运行时间为指数函数。二次筛(QS):(5110)为小于110位整数最快的算法,倍多项式二次筛(MPQS)是QS更快的变型,MPQS的双倍大指数变型还要快些。椭圆曲线(EC):(5111)数域筛(NFS):(5112)式中,p是n的最小的素因子,最坏的情况下p n1/2。当n 2664,要用3.8109年(一秒进行100万次运算)。虽然整数分解问题已进行了
23、几世纪研究,但至今尚未发现快速算法。目前对于大于110位的整数数域筛是最快的算法,曾用于分解第9个Fermat数。目前的进展主要是靠计算机资源实现的。T(n)与L(p)的表示式大致相同,一般当n=p时,解离散对数要更难些。(4)用于构造双钥密码的单向函数用于构造双钥密码的单向函数2023/1/3016Copyright Yuan Copyright Yuan Email:Email: 南京航空航天大学网络研究室南京航空航天大学网络研究室南京航空航天大学网络研究室南京航空航天大学网络研究室双钥密码双钥密码一、基本概念一、基本概念 RSA问题,是FAC问题的一个特例。n是两个素数p和q之积,给定n
24、后求素因子p和q的问题称之为RSAP。求n=pq分解问题有以下几种形式:(1)分解整数n为p和q;(2)给定整数M和C,求d使CdM mod n;(3)给定整数e和C,求M使MeC mod n;(4)给定整数x和C,决定是否存在整数y使xy2 mod n(二次剩余问题)。背包问题,可参看5.3节。Diffie-Hellman问题(DHP)。给定素数p,令为Zp*的生成元,若已知a和b,求 a b的问题为Diffie-Hellman问题,简记为DHP。若为循环群G的生成元,且已知a和b为G中的元素,求 a b的问题为广义Diffie-Hellman问题,简记为GDHP。(4)用于构造双钥密码的单
25、向函数用于构造双钥密码的单向函数2023/1/3017Copyright Yuan Copyright Yuan Email:Email: 南京航空航天大学网络研究室南京航空航天大学网络研究室南京航空航天大学网络研究室南京航空航天大学网络研究室双钥密码双钥密码一、基本概念一、基本概念 二次剩余问题,给定一个奇合数n和整数a,决定a是否为mod n的平方剩余。模n的平方根问题(SQROOT),模n的平方根问题可参看5.4节。(4)用于构造双钥密码的单向函数用于构造双钥密码的单向函数2023/1/3018Copyright Yuan Copyright Yuan Email:Email: 南京航空
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第5章 公钥密码 密码
限制150内