现代密码学41数论基础知识课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《现代密码学41数论基础知识课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 现代 密码学 41 数论 基础知识 课件
- 资源描述:
-
1、第4章 公钥密码4.1 数论基础知识数论基础知识4.2 公钥密码的基本概念公钥密码的基本概念4.3 RSA公钥密码公钥密码4.4 ElGamal公钥密码公钥密码4.5 Rabin公钥密码公钥密码4.6 椭圆曲线公钥密码椭圆曲线公钥密码现代密码学现代密码学1谢谢观赏2019-8-264.1 数论基础知识数论基础知识现代密码学现代密码学2谢谢观赏2019-8-26 现代密码学素数与互素u定义定义1 1 对于整数对于整数a a,b b(b b 0 0),若存在整数),若存在整数x x使得使得b b=axax,则称,则称a a整除整除b b,或,或a a是是b b的因子,记作的因子,记作a a|b b
2、。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,则称,则称a a和和b b互素。互素。3谢谢观赏2019-8-26u定义定义3 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谢谢观赏2019-8-26 现代密码学u定义定义4 对于任一整数对于任一整数p(p1),若,若p的因的因子只有子只有1和和p,则称,则称p为素数,
4、否则称为为素数,否则称为合数。合数。对于任一整数对于任一整数a(a1),都可以唯一的分解,都可以唯一的分解为素数的乘积,即:为素数的乘积,即:a=p1p2pt 其中,其中,p1p2pt都是素数,都是素数,pi0(i=1,2,t)。素数与互素5谢谢观赏2019-8-26u定义定义5 5 设设n n是一正整数,小于是一正整数,小于n n且与且与n n互素的正整数互素的正整数的个数称为欧拉(的个数称为欧拉(EulerEuler)函数,记作)函数,记作 。欧拉函。欧拉函数有如下性质:数有如下性质:若若n n是素数,则是素数,则 。若若mm和和n n互素,则互素,则 。如果如果 :其中,其中,p p1
5、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 p)p),使使babai i mod p mod p。i i称为模称为模p p下以下以a a为底为底b b的的指标指标,记为记为i=i=indinda,pa,p(d(d
6、)16谢谢观赏2019-8-26 现代密码学离散对数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 p互素,则互素,则z q mod z q mod j j(p)(p)17谢谢观赏2019-8-26u定义定义7 7 设设 ,若存在一个,若存在一个 ,使得,使得x x2 2 a a mod mod n
7、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 modulo modulo n n)。)。*naZ*nxZ现代密码学现代密码学二次剩余18谢谢观赏2019-8-264.2 公钥密码的基本概念现代密码学现代密码学19谢谢观赏2019-8-26 现代密码学1976197
8、6年,年,DiffieDiffie和和HellmanHellman在在“密码学的新方向密码学的新方向(New Direction in CryptographyNew Direction in Cryptography)”一文中首次提一文中首次提出了公钥密码体制(出了公钥密码体制(public key cryptosystempublic key cryptosystem)的思)的思想。想。公钥密码体制的概念是为了解决传统密码系统中最公钥密码体制的概念是为了解决传统密码系统中最困难的两个问题而提出的,这两个问题是困难的两个问题而提出的,这两个问题是密钥分配密钥分配和和数字签名数字签名。4.2
9、公钥密码的基本概念现代密码学现代密码学20谢谢观赏2019-8-264.2.1 公钥密码体制的原理公钥密码体制的原理u公钥密码体制在加密和解密时使用不同的公钥密码体制在加密和解密时使用不同的密钥,加密密钥简称公钥(密钥,加密密钥简称公钥(public keypublic key),),解密密钥简称私钥(解密密钥简称私钥(private keyprivate key)。公钥是)。公钥是公开信息,不需要保密,私钥必须保密。公开信息,不需要保密,私钥必须保密。给定公钥,要计算出私钥在计算上是不可给定公钥,要计算出私钥在计算上是不可行的。行的。u公钥密码体制有两种基本模型,一种是加公钥密码体制有两种基
10、本模型,一种是加密模型,另一种是认证模型密模型,另一种是认证模型 。现代密码学现代密码学21谢谢观赏2019-8-26u(1 1)加密模型。如图所示,接收者)加密模型。如图所示,接收者B B产生一对密钥产生一对密钥PKPKB B和和SKSKB B,其中,其中PKPKB B是公钥,将其公开,是公钥,将其公开,SKSKB B是私钥,是私钥,将其保密。如果将其保密。如果A A要向要向B B发送消息发送消息mm,A A首先用首先用B B的公的公钥钥PKPKB B加密加密mm,表示为,表示为c c=E E(PKPKB B,mm),其中,其中c c是密文,是密文,E E是加密算法,然后发送密文是加密算法,
11、然后发送密文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谢谢观赏2019-8-26 现代密码学认证模型认证模型u(2)认证模型。如图所示,)认证模型。如图所示,A首先用自己首先用自己的私钥的私钥SKA对消息对消息m加密,表示为加密,表示为c=E(SKA,m),然后发送,然后发送c给给B。B收到密文收到密文c后,后,利用利用A的公
12、钥的公钥PKA对对c解密,表示为解密,表示为m=D(PKA,c)。由于是用。由于是用A的私钥对消息加密,的私钥对消息加密,只有只有A才能做到,才能做到,c就可以看做是就可以看做是A对对m的的数字签名。此外,没有数字签名。此外,没有A的私钥,任何人都的私钥,任何人都不能篡改不能篡改m,所以上述过程获得了对消息,所以上述过程获得了对消息来源和数据完整性的认证。来源和数据完整性的认证。23谢谢观赏2019-8-26 现代密码学发送者A加密算法(签名)SKA密钥源PKA解密算法(验证)接收者B密码分析员mcmSKA24谢谢观赏2019-8-264.2.2 公钥密码体制的要求公钥体制的基本原理是陷门单向
13、函数。u定义8 陷门单向函数是满足下列条件的可逆函陷门单向函数是满足下列条件的可逆函数数f f:对于任意的对于任意的x x,计算,计算y y=f f(x x)是容易的。是容易的。对于任意的对于任意的y y,计算,计算x x使得使得y y=f f(x x)是困难的。是困难的。存在陷门存在陷门t t,已知,已知t t时,对于任意的时,对于任意的y y,计算,计算x x使得使得y y=f f(x x)则是容易的。则是容易的。现代密码学现代密码学25谢谢观赏2019-8-26u(1)大整数分解问题(大整数分解问题(factorization problem)若已知两个大素数若已知两个大素数p和和q,求
14、,求n=pq是是容易的,只需一次乘法运算,而由容易的,只需一次乘法运算,而由n,求,求p和和q则是困难的,这就是大整数分解问题。则是困难的,这就是大整数分解问题。现代密码学现代密码学26谢谢观赏2019-8-26 现代密码学u(2)离散对数问题(离散对数问题(discrete logarithm discrete logarithm problemproblem)给定一个大素数给定一个大素数p p,p p 1 1含另一大素数含另一大素数因子因子q q,则可构造一个乘法群,它是一个,则可构造一个乘法群,它是一个p p 1 1阶循环群。设阶循环群。设g g是的一个生成元,是的一个生成元,1 1g
15、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成立成立则是困难的,这就是离散对数问题。则是困难的,这就是离散对数问题。27谢谢观赏2019-8-26 现代密码学u(3)多项式求根问题多项式求根问题 有限域有限域GF(p)上的一个多项式:)上的一个多项式:已知已知 ,p和和x,求,求y是容易的,是容易的,而已知而已知y,,求,求x则是困难的,这则是困难的,这就是多项式求根问题就是多项式求根问题。011,.,naaa011,.,na aa1
16、110()modnnnyf xxaxa xap28谢谢观赏2019-8-26u(5)判断判断Diffie-Hellman问题(问题(decision Diffie-Hellman problem,DDHP)给定素数给定素数p,令,令g是的一个生成元。已是的一个生成元。已知知 ,判断等式:判断等式:z=xy mod p 是否成立,这就是是否成立,这就是判断性判断性Diffie-Hellman问题。问题。xagybgzcg现代密码学现代密码学29谢谢观赏2019-8-26 现代密码学u(6)二次剩余问题(二次剩余问题(quadratic residue problem)给定一个合数给定一个合数n和
17、整数和整数a,判断,判断a是否为是否为mod n的二次剩余,这就是二次剩余问题。在的二次剩余,这就是二次剩余问题。在n的分解的分解未知时,求未知时,求 a mod n的解也是一个困难问题。的解也是一个困难问题。2x30谢谢观赏2019-8-26 现代密码学u(7)背包问题(背包问题(knapsack problem)给定向量给定向量A=()(为正整数为正整数)和和x=()(0,1),求和式:,求和式:是容易的,而由是容易的,而由A和和S,求,求x则是困难的,这就是则是困难的,这就是背包问题,又称子集和问题。背包问题,又称子集和问题。1 122()nnsf xa xa xa x12,.,naaa
18、ia12,.,nxxxix31谢谢观赏2019-8-26 现代密码学4.3 RSA公钥密码32谢谢观赏2019-8-26u1密钥生成密钥生成 选取两个保密的大素数选取两个保密的大素数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-26u2 2加密加密首先对明文进行比特串分组,使得每个分组首先
19、对明文进行比特串分组,使得每个分组对应的十进制数小于对应的十进制数小于n n,然后依次对每个,然后依次对每个分组分组mm做一次加密,所有分组的密文构成做一次加密,所有分组的密文构成的序列即是原始消息的加密结果。即的序列即是原始消息的加密结果。即mm满满足足00mmn n,则加密算法为:,则加密算法为:c c为密文,且为密文,且00c cn n。modecmn现代密码学现代密码学4.3.1 RSA算法描述34谢谢观赏2019-8-26u3解密解密 对于密文对于密文0cn,解密算法为:,解密算法为:moddmcn现代密码学现代密码学4.3.1 RSA算法描述35谢谢观赏2019-8-264.3.2
20、 RSA的安全性1数学攻击数学攻击用数学方法攻击用数学方法攻击RSARSA的途径有三种:的途径有三种:分解分解n n为两个素因子。这样就可以计算为两个素因子。这样就可以计算 从而计算出私钥从而计算出私钥 。直接确定直接确定 而不先确定而不先确定p p和和q q。这同样可以。这同样可以确定确定 .直接确定直接确定d d而不先确定而不先确定 。1mod()den()(1)(1)npq1mod()den()n()n现代密码学现代密码学36谢谢观赏2019-8-26u2穷举攻击穷举攻击 像其他密码体制一样,像其他密码体制一样,RSA抗穷举攻击的方法也抗穷举攻击的方法也是使用大的密钥空间,这样看来是是使
展开阅读全文