公钥密码体制

合集下载

第4章公钥密码体制

第4章公钥密码体制

密钥
为公钥。 不再需要, 以n,e为公钥。私密钥为d。(p, q不再需要, 可以销毁。 可以销毁。)
RSA算法在计算上的可行性
加密和解密
无论是加密还是解密都需要计算某个整数的模n 整数次幂,即C=Me mod n、M=Cd mod n。但不 、 需要先求出整数的幂再对n取模,而可利用模运 算的性质: (a mod n) * (b mod n)= (a*b) mod n 对于Me mod n,可先求出M1 mod n,M2 mod n, M4 mod n……,再求Me mod n
RSA算法 RSA算法
RSA Algorithm
概况
MIT三位年轻数学家, 1979年发现了一种用数 论构造双钥的方法,称作MIT 体制 MIT体制 MIT 体制,后来被 广泛称之为RSA体制 RSA体制 RSA体制。 它既可用于加密、又可用于数字签字。 RSA算法的安全性基于数论中大整数分解的 困难性。 迄今为止理论上最为成熟完善的公钥密码体 制,该体制已得到广泛的应用。
公钥密码体制有4个组成部分
明文:算法的输入,它们是可读信息或数据,用M 表示; 密文:算法的输出。依赖于明文和密钥,对给定的 消息,不同的密钥产生密文不同。用E表示; 公钥和私钥:算法的输入。这对密钥中一个用于加 密,为Ke,此密钥公开;一个用于解密,为Kd,此 密钥保密。加密算法执行的变换依赖于密钥; 加密、解密算法
选p=7,q=17。 求n=p×q=119,φ(n)=(p-1)(q-1)=96。 取e=5,满足1<e<φ(n),且gcd(φ(n),e)=1。确 定满足d·e=1 mod 96且小于96的d,因为 77×5=385=4×96+1,所以d为77。 因此公开钥为{5,119},秘密钥为{77,119}。 设明文m=19,则由加密过程得密文为 C=195 mod 119≡2476099 mod 119=66 解密为6677mod 119=19

公钥密码体制公钥密码体制

公钥密码体制公钥密码体制

首次公开提出了“公开密钥密码编码学”的概念。
这是一个与对称密码编码截然不同的方案。
提出公开密钥的理论时,其实用性并没有又得到证明:
❖ 当时还未发现满足公开密钥编码理论的算法; ❖ 直到 1978 年,RSA 算法的提出。
2.基本特征
❖ 加密和解密使用两个不同的密钥 公钥PK:公开,用于加密,私钥SK:保密,用作解密 密钥
3.优点
❖ 密钥管理
加密密钥是公开的; 解密密钥需要妥善保存; 在当今具有用户量大、消息发送方与接收方具有明显的信息不对称
特点的应用环境中表现出了令人乐观的前景。 新用户的增加只需要产生一对公共/私有密钥。
❖ 数字签名和认证
只有解密密钥能解密,只有正确的接收者才拥有解密密钥。
缺点:公共密钥系统的主要弱点是加密和解密速度慢。
加密与解密由不同的密钥完成; 知道加密算法,从加密密钥得到解密密钥在计算上是不可行的; 两个密钥中任何一个都可以作为加密而另一个用作解密。
6.公钥密码算法
除RSA算法以外,建立在不同计算问题上的其他公钥密码算法 有:
基于因子分解问题的Rabin算法; 椭圆曲线公钥算法; 基于有限域中离散对数难题的ElGamal公钥密码算法 基于代数编码系统的McEliece公钥密码算法; 基于“子集和”难题的Merkle-Hellman Knapsack(背包)公钥密码算 法; 目前被认为安全的Knapsack型公钥密码算法Chor-Rivest。
实际应用中的加密方式
❖ 混合加密技术 对称密码体制:密钥分发困难 公钥体制:加解密效率低 将对称加密算法的数据处理速度和公钥算法对密钥的保 密功能相结合 利用对称加密算法加密传输数据 利用非对称加密算法交换会话密钥
实际应用中的加密方式

第09-12讲 公钥密码体制

第09-12讲 公钥密码体制

陌生人间的保密通信问题 数字签名的问题

– 传统加密算法无法实现抗抵赖的需求
140000 120000 100000 80000 60000 40000 20000 0
密钥量
50
100
200 300 400 用户数
500
图6-1 用户数与密钥量的对应关系
公钥密码体制
公钥密码又称为双钥密码、非对称密码 公钥密码体制提出的标志性文献:
Q
X1 1
X2 0
X3 2760
Y1 0
Y2 1
Y3 167
16
1
0
1
1
-16
167
88
1
-1
-16
17
88
79
例:取p=47, q=61时, n=2867, (n)=(47-1)(61-1)=2760, 可取SK=167,PK=1223
Extended Euclid(f, d) (设 f >d) (X1,X2,X3)←(1,0,f); (Y1,Y2,Y3)←(0,1,d); :loop if Y3=0 then return gcd(f, d)=0; if Y3=1 then return gcd(f, d)=1; Y2=d-1 mod f; Q=X3/Y3 ; (T1,T2,T3)←(X1-QY1,X2QY2,X3-QY3); (X1,X2,X3)←(Y1,Y2,Y3); (Y1,Y2,Y3)←(T1,T2,T3); got o loop

为了提高加密速度,通常取e为特定的小整数,如 EDI国际标准中规定 e=216+1,ISO/IEC9796中甚 至允许取e=3。这时加密速度一般比解密速度快10 倍以上。
RSA密钥的生成

提出公钥密码体制概念的学者

提出公钥密码体制概念的学者

提出公钥密码体制概念的学者
公钥密码体制是现代密码学领域中的一种重要密码算法,其核心思想是在密码传输过程中采用一对密钥,即公钥和私钥。

公钥用于加密明文,私钥用于解密密文,由于公钥在传输过程中不需要保密,因此能够保证密码传输的安全性。

提出公钥密码体制概念的学者是美国计算机科学家惠特菲尔德·迪菲(Whitfield Diffie)。

他于1976年与马丁·赫尔曼(Martin Hellman)合作提出了公钥密码体制的概念和原理,并于1977年发表了题为《New Directions in Cryptography》的论文,从而开创了公钥密码学研究的新时代。

迪菲的贡献不仅在于提出了公钥密码体制的概念,更是通过他的研究工作,推动了密码学领域的发展,促进了现代信息安全的进步。

他的成就被广泛认为是现代密码学的重要里程碑之一,是信息安全领域的杰出学者之一。

- 1 -。

第四章-公钥密码体制

第四章-公钥密码体制
(p-1)! = 12…(p-1) [(a mod p)(2a mod p)…((p-1)a mod p)] mod p [a2a…(p-1)a] mod p [ap-1(p-1)!] mod p 注意到(p-1)!与p互素,因此定理成立.
• 推论: p素数,a是任意整数,则: ap a mod p
– M kφ(n)+1=M mod n
RSA算法举例(1)
p = 53,q = 61,n = pq = 3233, φ(n)=52x60 = 3120 令d = 791,则e = 71 令m = RE NA IS SA NC E 即m = 1704 1300 0818 1800 1302 0426 170471 mod 3233 = 3106,…, C = 3106 0100 0931 2691 1984 2927
欧拉定理
• 证明: • R={x1,x2,…,x(n)}为所有小于n且与n互素的正整数,考虑集 合 • S={(ax1mod n), (ax2mod n),…, (ax(n) mod n)} • (aximod n)与n互素 • (aximod n)两两不等: • (aximod n) = (axjmod n) ximod n = xjmod n • S有(n)个元素 • 故S也是所有小于n且与n互素的正整数,因此S=R,从而 xi=(aximod n)((axi)) mod n • (a(n) xi) mod n • 注意到xi 与n互素,从而得到结论.
费马(Fermat)定理
• 若p是素数,a是正整数,且gcd(a,p)=1,则ap1≡1mod p • 证明:考虑集合{1,2,…,p-1},对每个数乘以a,得到 集合{a mod p,2a mod p,…,(p-1)a mod p},对于p, 后者两两不同且都在1与p-1之间,因此两个集合相 同,于是:

RSA公钥密码体制

RSA公钥密码体制
96 mol 5 = 1 用1代替96
5*d – k = 1 d=1 当k的系数最后化为1时,令d=1 情形2:
RSA公钥密码系统 算法示例
密钥生成: 取p=11,q=13,则 n=pq=11x13=143 φ(n)=(p-1)(q-1)=(11-1)x(13-1)=120 因为e与φ(n)互素,则选取e=17 通过ed = 1 mod φ(n)计算得d=113 公钥为(n,e)=(143,17),私钥为d=113
通过例子来探讨如何求解d
例1 取p=3 q=11 f(n)=(p-1)(q-1)=2×10=20 即3×d = 1 mod 20
得出 n=p×q=3×11=33 取e=3,(3与20互质) 则 e×d = 1 mod f(n)
d怎样求解呢? 怎样求解呢? 怎样求解呢
可以用试算的办法来寻找。试算结果见下表:
79*d = 1 mod 3220
d
这里就要用到辗转相除法,解法如下:
79*d = 1 mod 3220
d=1019
k=25 d=19 k=6 d=1 k=0
79*d - 3220*k = 1
用3220对79取模到的余数60代替3220
79*d - 60*k = 1
用79对60取模到的余数19代替79
17*d = 1 mol 120
d = 113 17*d – 120*k = 1 k =16 d=1 当k的系数最后化为1时,令d=1
120 mol 17 = 1 用1代替120
17*d – k = 1
加密: 用公钥e=17对明文m=24进行加密,则密文为:
平方—乘算法
如何求解
解密: 收到密文c=7,利用私钥d=113进行解密:

第7讲 公钥密码体制

第7讲 公钥密码体制

二、RSA密码体制
参数选择:
独立地选取两大素数p1和p2(各512bit的数), 计算 n=p1×p2 其欧拉函数值(n)=(p1-1)(p2-1) 随机选一整数e, 1e<(n),((n), e)=1(因而在模(n)下e有逆元) d=e-1 mod (n) 公钥为n,e; 私钥为d (p1, p2不再需要,可以销毁)
* MIPS-年指以每秒执行1,000,000条指令的计算机运行一年
二、RSA密码体制
安全性:分解模数n
技术进展使分解算法和计算能力在不断提高,计算所需的硬件费用在不断下降 RSA-129: 110位十进制数字早已能分解。 Rivest等最初悬赏$100的RSA-129,已经 由包括五大洲43个国家600多人参加,用1600台机子同时产生820条指令数据, 通过Internet网,耗时8个月,于1994年4月2日
但数学上至今还未证明分解模就是攻击RSA的最佳方法,
也未证明分解大整数就是NP问题, 可能有尚未发现的多项式时间分解算法。 人们完全可以设想有另外的途径破译RSA, 如求出解密指数d或找到(p1-1)(p2-1)等。 但这些途径都不比分解n来得容易。 甚至Alexi等[1988]曾揭示,从RSA加密的密文恢复某些比特的困难性也和 恢复整组明文一样困难。 这一视在困难性问题是个NP问题,但还没人证明它为NPC问题。
因为(e1, e2,)=1,所以由Euclidean算法有r e1+s e2=1
计算 (y1-1)-r y2s = x mod n (假设r是负数)
二、RSA密码体制
安全性:低加密指数攻击
小的e可加快加密和验证签字速度,且所需的存储密钥空间小
但若加密钥e选择得太小,则容易受到攻击 网中三用户的加密钥e均选3,分别模n1, n2, n3 (互素,否则可求出公因子,而降低安全性)

公钥密码体制

公钥密码体制

公钥密码体制
私钥密码体制(Public Key Cryptography)是一种密码学方法,它使用一对公钥/私钥对来加密和解密信息。

公钥是可以公开分发的,而私钥是只有拥有者才能访问的。

这种方法允许两个实体(例如,两个电脑)在没有事先共享密钥的情况下进行安全的通信。

私钥密码体制的工作原理是,用户使用一个公钥加密信息,然后使用一个私钥来解密它。

由于私钥是保密的,因此只有拥有者才能解密信息,从而保护信息的安全性。

另一方面,由于公钥是公开的,因此任何人都可以使用它来加密信息,从而保护信息的隐私性。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于公开密钥的加密过程
图4.1 公钥密码体制的通信保密过程
基于公开密钥的鉴别过程
图4.2 公钥密码体制的数字签名和验证签名过程
公钥密钥的应用范围
加密/解密 数字签名(身份鉴别) 密钥交换
5.1.4 公钥密码系统基本思想和要求
1、涉及到各方:发送方、接收方、攻击者 2、涉及到数据:公钥、私钥、明文、密文 3、公钥算法的条件: – 产生一对密钥是计算可行的; – 已知公钥和明文,产生密文是计算可行的; – 接收方利用私钥来解密密文是计算可行的; – 对于攻击者,利用公钥来推断私钥是计算不可行的 – 已知公钥和密文,恢复明文是计算不可行的; – (可选)加密和解密的顺序可交换。
5.1.2 公钥密码体制的起源


公钥密码又称为双钥密码和非对称密码,是1976年 由Diffie和Hellman在其“密码学新方向”一文中提 出的,见划时代的文献:W.Diffie and M.E.Hellman, New Directrions in Cryptography, IEEE Transaction on Information Theory, V.IT-22.No.6, Nov 1976,PP.644-654 RSA公钥算法是由Rivest,Shamir和Adleman在 1978年提出来的, 见Communitions of the ACM. Vol.21.No.2. Feb.1978, PP.120-126

Euler定理: 若a与n为互素的正整数,则: aφ (n)≡1modn,推论: 若n=pq, p≠q都是素数, k是任意整数,mkφ (n)+1≡m k(p-1)(q-1)+1 ≡m mod n, 对任意0≤m≤n 证明φ (n)= (p-1)(q-1)

离散对数的计算:
y≡gx mod p 已知g,x,p,计算y是容易的 已知y,g,p,计算x是困难的。
至今没有有效的求解方法。
指数函数及其性质 指数函数y=ax mod p,已知x求y 是一个可解问题,但其逆过程:已知y求 x称为离散对数问题,所以指数函数被认 为是一个单向函数。 Fermat定理:p素数,a是整数且不能被 p整除,则:ap-1≡1modp


乘法逆元:n是整数 当ax=1modn,x是a的乘法逆元。a的逆元记作 a-1,根据Fermat定理,p是素数,若gcb(a,p)=1, ap-2modp是a的乘法逆元。 Euclid计算公因数gcd(a,b)=gcd(b,a mod b);可以通过扩展的Euclid算法可以 算 :ed=kφ (n)+1 知道e,d,φ (n)其中两个求另 一个。因此:aed ≡amodn
Diffie-Hellman密钥交换方案
算法:通信方A和B
① ② ③ ④ ⑤ ⑥ ⑦
双方选择素数p以及p的一个原根a 用户A选择一个随机数Xa < p,计算Ya=aXa mod p 用户B选择一个随机数Xb < p,计算Yb=aXb mod p 每一方保密X值,而将Y值交换给对方 用户A计算出K=YbXa mod p 用户B计算出K=YaXb mod p 双方获得一个共享密钥(aXaXbmod p)


有限域的乘法群上的离散对数问题(The Discrete Logarithm Problem,ElGamal体制) 椭圆曲线上的离散对数问题(The Elliptic Curve Discrete Logarithm Problem,类比的ElGamal体 制)
大整数分解问题和离散对数是构造RSA算法的重
5.1.3 公开密钥密码加密: X→Y: Y = EKU(X) 解密: Y→X: X = DKR(Y) = DKR(EKU(X)) 知道加密算法,从加密密钥得到解密密钥在计算上是不 可行的。(单向函数的性质) 两个密钥中任何一个都可以用作加密而另一个用作解 密(单向函数的交换性,不是必须的) X = DKR(EKU(X)) = EKU(DKR(X))
5.1 公钥密码体制的基本原理
公钥密码体制采用了两个不同的密 钥,这对在公开的网络上进行保密通信、 密钥分配、数字签名和认证有着深远的 影响。
5.1.1 对称算法的不足
密钥管理量的困难:两两分别用一个密钥时, 则n个用户需要C(n,2)=n(n-1)/2个密钥,当用户 量增大时,密钥空间急剧增大。如:n=100 时, 共4,995个;n=5000时增加到12,497,500个。 密钥建立问题:对协商密钥的信道的安全性的 要求比正常的传送消息的信道的安全性要高。 数字签名的问题:传统加密算法无法实现抗抵 赖的需求。
要基础
整数因子分解问题 许多密码系统的安全性都依赖于整数 因子分解的困难性。如RSA加密方案, RSA签名方案和Rabin公钥加密方案。
定义:给定一个正整数n,找到它的素因子,即 n=p1e1p2e2…pkek,这里pi是不同的素数,并且ei≥1。如: 91=7×13 ; 3600=24×32×52

1. 2. 3.
密码学中常用的主要有三个群的离散对数
有限域GF(p)的乘法群 有限域GF(2n)上的乘法群 有限域F上的椭圆曲线群
5.1.7
设计公钥密码体制
利用指数函数设计一个公钥密码体 制用于密钥协商:通信双方根据对方公 开的信息,通过协商获得一对密钥(对 称密钥),用来对以后的信息数据进行 加密。
5.1.5 部分数学基础
涉及计算复杂性、近世代数等内容。 严格单向函数
一个单射函数f: 如果下述条件成立: 存在一个有效的方法,对所有的x∈X可计算f (x),但不存在一个有效的办法由y= f(x)计 算x,所有的y∈Y。 则称X→Y称为是严格单向函数。


陷门单向函数
单向陷门函数是满足下列条件的函数f: (1)给定x,计算y=fk(x)是容易的;
(2)给定y, 计算x使x=fk-1(y)是不可行的。
(3)存在k,已知k时,对给定的任何y,若相应的x存 在,则计算x使fk-1(x)是容易的。
5.1.6 公钥密码基于的数学难题



背包问题 大整数分解问题(The Integer Factorization Problem,RSA 体制) 离散对数问题:
相关文档
最新文档