现代密码学--4.1--数论基础知识.ppt课件.ppt
《现代密码学--4.1--数论基础知识.ppt课件.ppt》由会员分享,可在线阅读,更多相关《现代密码学--4.1--数论基础知识.ppt课件.ppt(72页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第4章 公钥密码4.1 数论基础知识数论基础知识4.2 公钥密码的基本概念公钥密码的基本概念4.3 RSA公钥密码公钥密码4.4 ElGamal公钥密码公钥密码4.5 Rabin公钥密码公钥密码4.6 椭圆曲线公钥密码椭圆曲线公钥密码现代密码学现代密码学1感谢你的观看2019年8月254.1 数论基础知识数论基础知识现代密码学现代密码学2感谢你的观看2019年8月25 现代密码学素数与互素u定义定义1 1 对于整数对于整数a a, , b b(b b 0 0),若存在整数),若存在整数x x使得使得b b=axax,则称,则称a a整除整除b b,或,或a a是是b b的因子,记作的因子,记作
2、a a| |b b。u定义定义2 2 若若a a, , b b, , c c都是整数,都是整数,a a和和b b不全为不全为0 0且且c c| |a a, , c c| |b b,则称,则称c c是是a a和和b b的公因子。如果整数的公因子。如果整数d d满足:满足:u d d是是a a和和b b的公因子;的公因子;u a a和和b b的任一公因子,也是的任一公因子,也是d d的因子。的因子。u则称则称d d是是a a和和b b的最大公因子,记作的最大公因子,记作d d =gcdgcd ( (a a, , b b) )。如果如果gcdgcd ( (a a, , b b)=1)=1,则称,则称
3、a a和和b b互素。互素。3感谢你的观看2019年8月25u定义定义3 3 若若a a, , b b, , c c都是整数,都是整数,a a和和b b都不为都不为0 0且且a a| |c c, , b b| |c c,则称,则称c c是是a a和和b b的公倍数。如果整数的公倍数。如果整数d d满足:满足: d d是是a a和和b b的公倍数;的公倍数; d d整除整除a a和和b b的任一公倍数。的任一公倍数。 则称则称d d是是a a和和b b的的最小公倍数最小公倍数,记作,记作d d =lcm lcm ( (a a, , b b) )。现代密码学现代密码学素数与互素4感谢你的观看201
4、9年8月25 现代密码学u定义定义4 对于任一整数对于任一整数p (p1),若,若p的因的因子只有子只有1和和p,则称,则称p为素数,否则称为为素数,否则称为合数。合数。 对于任一整数对于任一整数a (a1),都可以唯一的分解,都可以唯一的分解为素数的乘积,即:为素数的乘积,即: a= p1p2pt 其中,其中,p1p2pt都是素数,都是素数,pi0 (i=1, 2, , t)。素数与互素5感谢你的观看2019年8月25u定义定义5 5 设设n n是一正整数,小于是一正整数,小于n n且与且与n n互素的正整数互素的正整数的个数称为欧拉(的个数称为欧拉(EulerEuler)函数,记作)函数,
5、记作 。欧拉函。欧拉函数有如下性质:数有如下性质: 若若n n是素数,则是素数,则 。 若若mm和和n n互素,则互素,则 。 如果如果 : 其中,其中,p p1 1p p2 20,a1)0,a1)的逆函数称为以的逆函数称为以a a为底的对数,为底的对数,记为记为x=x=logloga ay y设设p p为素数,为素数,a a是是p p的本原根,则的本原根,则a a0 0,a ,a1 1,.,a ,.,a p-1p-1产产生生1 1到到p-1p-1中所有值,且每个值只出现一次。对中所有值,且每个值只出现一次。对任一任一b b1,1,p-1,p-1,都存在唯一的,都存在唯一的i(1i(1i i
6、p)p),使使babai i mod p mod p。i i称为模称为模p p下以下以a a为底为底b b的的指标指标,记为记为i=i=indinda,pa,p(d(d) )16感谢你的观看2019年8月25 现代密码学离散对数u 指标的性质指标的性质1. inda,p(1)=02. inda,p(a)=13. inda,p(xy)=inda,p(x)+ inda,p(y) mod j j(p(p) )4. inda,p(yr)=rinda,p(y) mod j j(p(p) ) 后两个性质基于下列结论后两个性质基于下列结论 若若a az zaaq q mod p ,a mod p ,a和和p
7、 p互素,则互素,则z q mod z q mod j j (p) (p)17感谢你的观看2019年8月25u定义定义7 7 设设 ,若存在一个,若存在一个 ,使得,使得x x2 2 a a mod mod n n,则称,则称a a是一个模是一个模n n的二次剩余的二次剩余(quadratic residue modulo quadratic residue modulo n n),并称),并称x x是是a a的模的模n n平方根;否则称平方根;否则称a a是一个模是一个模n n的二次非的二次非剩余(剩余(quadratic quadratic nonresiduenonresidue mod
8、ulo modulo n n)。)。*naZ*nxZ现代密码学现代密码学二次剩余18感谢你的观看2019年8月254.2 公钥密码的基本概念现代密码学现代密码学19感谢你的观看2019年8月25 现代密码学19761976年,年,DiffieDiffie和和HellmanHellman在在“密码学的新方向密码学的新方向(New Direction in CryptographyNew Direction in Cryptography)”一文中首次提一文中首次提出了公钥密码体制(出了公钥密码体制(public key cryptosystempublic key cryptosystem)的思
9、)的思想。想。 公钥密码体制的概念是为了解决传统密码系统中最公钥密码体制的概念是为了解决传统密码系统中最困难的两个问题而提出的,这两个问题是困难的两个问题而提出的,这两个问题是密钥分配密钥分配和和数字签名数字签名。 4.2 公钥密码的基本概念现代密码学现代密码学20感谢你的观看2019年8月254.2.1 公钥密码体制的原理公钥密码体制的原理u公钥密码体制在加密和解密时使用不同的公钥密码体制在加密和解密时使用不同的密钥,加密密钥简称公钥(密钥,加密密钥简称公钥(public keypublic key),),解密密钥简称私钥(解密密钥简称私钥(private keyprivate key)。公
10、钥是)。公钥是公开信息,不需要保密,私钥必须保密。公开信息,不需要保密,私钥必须保密。给定公钥,要计算出私钥在计算上是不可给定公钥,要计算出私钥在计算上是不可行的。行的。u公钥密码体制有两种基本模型,一种是加公钥密码体制有两种基本模型,一种是加密模型,另一种是认证模型密模型,另一种是认证模型 。现代密码学现代密码学21感谢你的观看2019年8月25u(1 1)加密模型。如图所示,接收者)加密模型。如图所示,接收者B B产生一对密钥产生一对密钥PKPKB B和和SKSKB B,其中,其中PKPKB B是公钥,将其公开,是公钥,将其公开,SKSKB B是私钥,是私钥,将其保密。如果将其保密。如果A
11、 A要向要向B B发送消息发送消息mm,A A首先用首先用B B的公的公钥钥PKPKB B加密加密mm,表示为,表示为c c =E E ( (PKPKB B, , mm) ),其中,其中c c是密文,是密文,E E是加密算法,然后发送密文是加密算法,然后发送密文c c给给B B。B B收到密文收到密文c c后,后,利用自己的私钥利用自己的私钥SKSKB B解密,表示为解密,表示为m m =D D ( (SKSKB B, , c c) ),其中其中D D是解密算法。是解密算法。现代密码学现代密码学加密模型加密模型发送者A加密算法PKB密钥源SKB解密算法接收者B密码分析员mcmmSKB22感谢你
12、的观看2019年8月25 现代密码学认证模型认证模型u(2)认证模型。如图所示,)认证模型。如图所示,A首先用自己首先用自己的私钥的私钥SKA对消息对消息m加密,表示为加密,表示为c=E (SKA, m),然后发送,然后发送c给给B。B收到密文收到密文c后,后,利用利用A的公钥的公钥PKA对对c解密,表示为解密,表示为m=D (PKA, c)。由于是用。由于是用A的私钥对消息加密,的私钥对消息加密,只有只有A才能做到,才能做到,c就可以看做是就可以看做是A对对m的的数字签名。此外,没有数字签名。此外,没有A的私钥,任何人都的私钥,任何人都不能篡改不能篡改m,所以上述过程获得了对消息,所以上述过
13、程获得了对消息来源和数据完整性的认证。来源和数据完整性的认证。23感谢你的观看2019年8月25 现代密码学发送者A加密算法(签名)SKA密钥源PKA解密算法(验证)接收者B密码分析员mcmSKA24感谢你的观看2019年8月254.2.2 公钥密码体制的要求公钥体制的基本原理是陷门单向函数。u定义8 陷门单向函数是满足下列条件的可逆函陷门单向函数是满足下列条件的可逆函数数f f: 对于任意的对于任意的x x,计算,计算y y = = f f ( (x x) )是容易的。是容易的。 对于任意的对于任意的y y,计算,计算x x使得使得y y = = f f ( (x x) )是困难的。是困难的
14、。 存在陷门存在陷门t t,已知,已知t t时,对于任意的时,对于任意的y y,计算,计算x x使得使得y y = = f f ( (x x) )则是容易的。则是容易的。现代密码学现代密码学25感谢你的观看2019年8月25u(1)大整数分解问题(大整数分解问题(factorization problem) 若已知两个大素数若已知两个大素数p和和q,求,求n = pq是是容易的,只需一次乘法运算,而由容易的,只需一次乘法运算,而由n,求,求p和和q则是困难的,这就是大整数分解问题。则是困难的,这就是大整数分解问题。现代密码学现代密码学26感谢你的观看2019年8月25 现代密码学u(2)离散对
15、数问题(离散对数问题(discrete logarithm discrete logarithm problemproblem) 给定一个大素数给定一个大素数p p,p p 1 1含另一大素数含另一大素数因子因子q q,则可构造一个乘法群,它是一个,则可构造一个乘法群,它是一个p p 1 1阶循环群。设阶循环群。设g g是的一个生成元,是的一个生成元,1 1g gp p 1 1。已知。已知x x,求,求y y=g gx x mod mod p p是容易的,是容易的,而已知而已知y y、g g、p p,求,求x x使得使得y y=g gx x mod mod p p成立成立则是困难的,这就是离散
16、对数问题。则是困难的,这就是离散对数问题。27感谢你的观看2019年8月25 现代密码学u(3)多项式求根问题多项式求根问题 有限域有限域GF(p)上的一个多项式:)上的一个多项式: 已知已知 , p和和x,求,求y是容易的,是容易的,而已知而已知y, ,求,求x则是困难的,这则是困难的,这就是多项式求根问题就是多项式求根问题。 011,.,naaa011,.,na aa1110( )modnnnyf xxaxa xap28感谢你的观看2019年8月25u(5)判断判断Diffie-Hellman问题(问题(decision Diffie-Hellman problem, DDHP) 给定素数
17、给定素数p,令,令g是的一个生成元。已是的一个生成元。已知知 , , 判断等式:判断等式:z=xy mod p 是否成立,这就是是否成立,这就是判断性判断性Diffie-Hellman问题。问题。xagybgzcg现代密码学现代密码学29感谢你的观看2019年8月25 现代密码学u(6)二次剩余问题(二次剩余问题(quadratic residue problem) 给定一个合数给定一个合数n和整数和整数a,判断,判断a是否为是否为mod n的二次剩余,这就是二次剩余问题。在的二次剩余,这就是二次剩余问题。在n的分解的分解未知时,求未知时,求 a mod n的解也是一个困难问题。的解也是一个困
18、难问题。2x30感谢你的观看2019年8月25 现代密码学u(7)背包问题(背包问题(knapsack problem) 给定向量给定向量A= ( ) ( 为正整数为正整数)和和x = ( ) ( 0,1),求和式:,求和式: 是容易的,而由是容易的,而由A和和S,求,求x则是困难的,这就是则是困难的,这就是背包问题,又称子集和问题。背包问题,又称子集和问题。1 122( )nnsf xa xa xa x12,.,naaaia12,.,nxxxix31感谢你的观看2019年8月25 现代密码学4.3 RSA公钥密码32感谢你的观看2019年8月25u1密钥生成密钥生成 选取两个保密的大素数选取
19、两个保密的大素数p和和q。 计算计算n = pq, ,其中,其中 是是n的欧拉函数值。的欧拉函数值。 随机选取整数随机选取整数e,满足,满足1e ,且且 。 计算计算d,满足,满足 。 公钥为公钥为(e,n),私钥为(,私钥为(d, n)。)。( )n( )ngcd( , ( )1en( )(1)(1)npq1mod ( )den4.3.1 RSA算法描述现代密码学现代密码学33感谢你的观看2019年8月25u2 2加密加密首先对明文进行比特串分组,使得每个分组首先对明文进行比特串分组,使得每个分组对应的十进制数小于对应的十进制数小于n n,然后依次对每个,然后依次对每个分组分组mm做一次加密
20、,所有分组的密文构成做一次加密,所有分组的密文构成的序列即是原始消息的加密结果。即的序列即是原始消息的加密结果。即mm满满足足00mmn n,则加密算法为:,则加密算法为:c c为密文,且为密文,且00c cn n。modecmn现代密码学现代密码学4.3.1 RSA算法描述34感谢你的观看2019年8月25u3解密解密 对于密文对于密文0cn,解密算法为:,解密算法为:moddmcn现代密码学现代密码学4.3.1 RSA算法描述35感谢你的观看2019年8月254.3.2 RSA的安全性1数学攻击数学攻击用数学方法攻击用数学方法攻击RSARSA的途径有三种:的途径有三种: 分解分解n n为两
21、个素因子。这样就可以计算为两个素因子。这样就可以计算 从而计算出私钥从而计算出私钥 。 直接确定直接确定 而不先确定而不先确定p p和和q q。这同样可以。这同样可以确定确定 . . 直接确定直接确定d d而不先确定而不先确定 。 1mod ( )den( )(1)(1)npq1mod ( )den( )n( )n现代密码学现代密码学36感谢你的观看2019年8月25u2穷举攻击穷举攻击 像其他密码体制一样,像其他密码体制一样,RSA抗穷举攻击的方法也抗穷举攻击的方法也是使用大的密钥空间,这样看来是是使用大的密钥空间,这样看来是e和和d的位数越的位数越大越好。但是由于在密钥生成和加密大越好。但
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 现代 密码学 4.1 数论 基础知识 ppt 课件
限制150内