第四章 公钥密码体制

合集下载

第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

现代密码学 第4章

现代密码学 第4章
m=EPKA(c)=EPKA(DSKA(m))
安全性:
由于SkA 是保密的,其他人都不可能伪造密文c,可用 A的 公开钥解密时得到有意义的消息m。因此可以验证消 息m来自A而不是其他人,而实现了对A所发消息的认证

2020/2/1
3
公钥密码认证体制
图4.2 公钥密码体制认证框图
2020/2/1
4
公钥保密和认证体制
现保密通信) 只能由一个用户加密消息而使多个用户可以解读(可用于认证系
统中对消息进行数字签字)。 无需事先分配密钥。
2020/2/1
1
公钥体制加密
m 发送者A
c 加密算法
解密算法
密码分析员 m
接收者B
m’ SK’B
ቤተ መጻሕፍቲ ባይዱPKB
SKB
密钥源
图4.1 公钥体制加密的框图
公钥体制加、解密 安全保障
m=D (c)=DSKB (EPKB(m))
2020/2/1
3 yx
18
4.4 背包密码体制
设A=(a1,a2,…,an)是由n个不同的正整数构成的n 元组,s是另一已知的正整数。背包问题就是从A 中求出所有的ai,使其和等于s。其中A称为背包向 量,s是背包的容积。
例如,A=(43, 129, 215, 473, 903, 302, 561, 1165, 697, 1523),s=3231。由于
x2 c mod p

x
2

c
mod
q
2020/2/1
2020/2/1
24
4.5 Rabin密码体制
Rabin密码体制是对RSA的一种修正,它有以下两 个特点:
它不是以一一对应的单向陷门函数为基础,对 同一密文,可能有两个以上对应的明文;

密码学中常用数学知识

密码学中常用数学知识

定义Z 为小于n的所有非负整数集合 定义 n为小于 的所有非负整数集合 Zn={0,1,2,…,n-1}
4.1.4 费尔玛定理和欧拉定理
费尔玛定理: 费尔玛定理: 是素数, 是正整数且gcd(a,p)=1 gcd(a,p)=1, 若p是素数,a是正整数且gcd(a,p)=1,则ap-1≡1 mod p • 证明: 证明: 当gcd(a,p)=1,则a×Zp=Zp 。 则 × 又因为a× 所以a× 又因为 ×0≡0modp,所以 ×(Zp-{0})=Zp-{0} 所以 即:{a mod p,2a mod p,…,(n-1)a mod p} ={1,…,p-1} (a mod p) ×(2a mod p) ×…×(n-1)a mod p=(p-1)!ap-1 mod p × 因此: 因此:(p-1)! ap-1 mod p =(p-1)!modp (p-1)!与p互素,所以乘法可约律,ap-1=1 mod p 与 互素 所以乘法可约律, 互素,
的公因子。 由d|a和d|kb,得d|(a mod b), 故d是b和a mod b的公因子。 和 , , 是 和 的公因子 a,b以及 以及b,a mod b公因子集合相同,故最大公因子也相同。 公因子集合相同, 以及 公因子集合相同 故最大公因子也相同。 gcd(55,22)=gcd(22,11)=gcd(11,0)=11 gcd(11,10)=gcd(10,1)=1
第4章 公钥密码
密码学中常用的数学知识 公钥密码体制的基本概念 RSA算法 椭圆曲线密码体制
4.1.1 群、环、域
<G,*>的定义 的定义: 群<G,*>的定义
*为乘法时,称为乘法群 逆元(a-1) 为乘法时, 逆元( ) 为乘法时 *为加法时,称为加法群 逆元(-a) 为加法时, 逆元( ) 为加法时

第四章-公钥密码体制

第四章-公钥密码体制
(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之间,因此两个集合相 同,于是:

04计算机安全- 公钥密码体系

04计算机安全-  公钥密码体系

公钥密码体制的要求:
1. 2. 3. 4. 5. 6. 产生一对密钥是计算可行的 已知公钥和明文,产生密文是计算可行的 接收方利用私钥来解密密文是计算可行的 对于攻击者,利用公钥来推断私钥是计算不可行的 已知公钥和密文,恢复明文是计算不可行的 (可选)加密和解密的顺序可交换 可选)
公钥密码的安全性依赖于从已知的公钥, 加密算法和密文中无法求出明文或秘钥。 Diffie和Hellman提出了一种陷门单向函 数概念,为建立公钥密码体制找到了一 种途径。
= 2(2 1)5(5 1)(3 1) = 80
p , q为 素 数 , ( pq ) = ?
( pq) = ( p) (q) = ( p 1)(q 1)
一.
1.
RSA密码体制的描述
密钥生成算法:每个用户执行以下操作
随机生成两个不同大素数p,q; ② 计算n=pq,φ(n)=(p-1)(q-1); ③ 随机选取整数e,1<e<φ(n),满足(e,φ(n))=1; ④ 利用扩展欧基里德算法求出满足ed=1 mod(φ(n))的 整数d; ⑤ 公开(n,e),保密(p,q,φ(n),d)。其中e就是加密密钥, (n,e) (p,q,φ(n),d) e 而d就是解密密钥,n称为模数。
平方和乘算法的复杂度:执行次数至少要k次模乘,最多 需要2k次模乘
素数分布
(素数定理)设π (x)为不大于x的素数个数,则 lnx π lim (x) =1 x →∞ x
π (x) ≈
x lnx
512
2512 长度小于512位的数中素数的个数π (2 ) ≈ ln2512 2256 2255 长度为256位的数中素数的个数π (2 )-π (2 ) ≈ ≈ 3.25 ×1074, 256 255 ln2 ln2 可计算出在所有的256位的数中有0.56%的数是素数

第四章公钥密码体制

第四章公钥密码体制

RSA公钥密码算法(续)
如果A要发送信息M给B,A和B之间用以 下方式进行通信: 计算密文 C = EK p (M ) →发送C给B→从A 接收C→计算明文 M = DKs (C) . 一般要求p,q为安全质数,现在商用的 安全要求为n的长度不少于1024位 。
B
B
RSA公钥密码算法(续)
算法的安全性分析 1. 如果密码分析者能分解 n 的因子 p 和 q ,他就可以 求出φ (n ) 和解密的密钥 d ,从而能破译RSA,因此破 译RSA不可能比因子分解难题更困难。 2. 如果密码分析者能够不对 n 进行因子分解而求得,则 可以根据 de ≡ 1 mod φ (n ) 求得解密密钥 d ,从而破译RSA。因为 2 p + q = n − φ (n ) + 1 p − q = ( p + q) − 4n 所以知道φ (n ) 和 n 就可以容易地求得 p 和 q ,从而成 功分解 n ,因此,不对 n 进行因子分解而直接计算 φ (n ) 并不比对 n 进行因子分解更容易。
椭圆曲线算法
1985年Koblitz和Miller提出在密码学中应用椭 圆曲线的思想,使其成为构造公开密钥密码系 统的一个有利工具。其安全性是基于椭圆曲线 上的离散对数计算的困难性。 优点:椭圆曲线上离散对数的计算要比有限域 上离散对数的计算更困难。与RSA相比,椭圆 曲线密码体制能用较短的密钥达到较强的安全 性,这样实现上能节省系统资源。
RSA公钥密码算法
RSA是Rivet,Shamir和Adleman于1978年在美 国麻省理工学院研制出来的,它是一种比较典 型的公开密钥加密算法。 基础 大数分解和素性检测——将两个大素数相乘在 计算上很容易实现,但将该乘积分解为两个大 素数因子的计算量是相当巨大的,以至于在实 际计算中是不能实现的。

公钥密码系统

公钥密码系统
导读
❖本章我们将讨论解密密钥与加密密钥不同 的情况。非对称密码系统的解密密钥与加 密密钥是不同的,一个称为公开密钥,另 一个称为私人密钥(或秘密密钥),因此 这种密码体系也称为公钥密码体系。公钥 密码除可用于加密外,还可用于数字签名。 《 中 华 人 民 共 和 国 电 子 签 名 法 》 已 于 2005 年4月1日实行。
k1
k2
28
Company Logo
中间人攻击
❖ Alice用密钥k1给Bob发送消息;Carol截获消 息后用k1解密就可读取消息;然后将获得的明文 消息用k2加密(加密前可能会对消息作某些修改) 后发送给Bob。
❖ 对Bob发送给Alice的消息,Carol同样可以读 取和修改。造成中间人攻击的原因是DiffieHellman密钥交换不认证对方。利用数字签名 可以挫败中间人攻击。
(2) Bob发送公开值给Alice,Carol截获它然后把 自己的公开值(a’和p’)发送给Alice。
(3) Alice和Carol计算出二人之间的共享密钥k1。 (4) Bob和Carol计算出另外一对共享密钥k2。
27
Company Logo
中间人攻击
a,p
a',p'
Alice
Carol
Bob
Bob
X
产生随机数y
计算X=ax mod p
计算Y=ay mod p
计算k=Yx mod p
Y
计算k'=Xy mod p
26
Company Logo
中间人攻击
❖ Diffie-Hellman密钥交换容易遭受中间人攻击:
(1) Alice发送公开值(a和p)给Bob,攻击者Carol 截获这些值并把自己产生的公开值发送给Bob。

信息安全概论第四章公钥密码体制

信息安全概论第四章公钥密码体制

14
Diffie-Hellman密钥交换算法 密钥交换算法
Diffie和Hellman在其里程碑意义的文章中, 虽然给出了密码的思想,但是没有给出真正意 义上的公钥密码实例,也既没能找出一个真正 带陷门的单向函数 然而,他们给出单向函数的实例,并且基于此 提出Diffie-Hellman密钥交换算法
13
常用的公开密钥算法
公钥算法的种类很多,具有代表性的三种密码: 公钥算法的种类很多,具有代表性的三种密码: 基于整数分解难题(IFP)的算法体制 基于整数分解难题(IFP)的算法体制(RSA) 基于离散对数难题(DLP)算法体制 基于离散对数难题(DLP)算法体制(ElGamal) 基于椭圆曲线离散对数难题( ECDLP ) 的算法体制 基于椭圆曲线离散对数难题 ( ECDLP) (ECC)
3
4.1 公钥密码体制的基本原理
对称算法的不足
(1)密钥管理量的困难 传统密钥管理:两两分别用一个密钥时, 传统密钥管理:两两分别用一个密钥时,则n个用户需 C(n,2)=n(n-1)/2个密钥 当用户量增大时, 个密钥, 要C(n,2)=n(n-1)/2个密钥,当用户量增大时,密钥空 间急剧增大。 间急剧增大。如: n=100 时, C(100,2)=4,995 n=5000时 n=5000时, C(5000,2)=12,497,500 (2)密钥必须通过某一信道协商,对这个信道的安全 密钥必须通过某一信道协商, 性的要求比正常的传送消息的信道的安全性要高
7
公开密钥密码的重要特性

加密与解密由不同的密钥完成 Y: X: Y = EKU(X) X = DKR(Y) = DKR(EKU(X))
加密: X฀ 解密: Y฀
฀ 知道加密算法,从加密密钥得到解密密钥在计算上 , 是不可行的 ฀ 两个密钥中任何一个都可以用作加密而另一个用 作解密(不是必须的) X = DKR(EKU(X))

非对称密码体制-第四章网络09

非对称密码体制-第四章网络09

11
4.2.1 RSA算法 算法
2、加密过程 、 的公钥: (1)在公钥库中查得用户 的公钥:PU={e, n}; )在公钥库中查得用户U的公钥 ; 使得0≤mi<n,i=1, (2)将明文分组 )将明文分组m=m1m2…mr,使得 , , 2,… ,r; , ; (3)对明文分组 i作加密变换: )对明文分组m 作加密变换: ci=E(mi) ≡ mie mod n, i=1,2,… ,r n, i=1,2, 传送给用户U。 (4)将密文 1 c2…cr传送给用户 。 )将密文c 3、解密过程 、 (1)先对每组密文做解密变换: )先对每组密文做解密变换: mi=D(ci) ≡cid mod n (2)合并分组得到明文 )合并分组得到明文m=m1m2…mr。
12
图4-3 RSA算法 算法
选取大素数p和q 令n=p*q,计算φ(n)
随机选取整数e 由e*d≡1(mod φ(n))计算d
将(n,e)作为公钥公开 将(p,q,d)作为私钥保密
用公钥加密 ci=E(mi)≡(mie mod n)
用私钥解密 mi=D(ci)≡(cid mod n)
13
【例4-1】选择素数: p=47 和 q=71,求出RSA 】选择素数: ,ห้องสมุดไป่ตู้出 算法的公钥和私钥。 算法的公钥和私钥。
2
4.1 公钥密码体制的基本概念
Diffie和Hellmna于1976年在《密码学的新方向》中 和 年在《 于 年在 密码学的新方向》 首次提出了公钥密码的观点, 首次提出了公钥密码的观点,即为每个用户分配两 个相互匹配又相互独立的密钥,其中: 匹配又相互独立的密钥 个相互匹配又相互独立的密钥,其中: 一个密钥被公开,称为公开密钥(公钥), ),用于 一个密钥被公开,称为公开密钥(公钥),用于 加密, 加密, 另一个密钥被保密,称为私有密钥(私钥), ),用 另一个密钥被保密,称为私有密钥(私钥),用 解密。 于解密。 所有用户的公钥均登记在类似电话号码簿的密钥本 当要给用户A发送加密信息时 发送加密信息时, 上。当要给用户 发送加密信息时,需要在密码本上 查找A用户的公钥 然后加密信息,并发给用户A。 用户的公钥, 查找 用户的公钥,然后加密信息,并发给用户 。 用户A接收到密文之后 接收到密文之后, 用户 接收到密文之后,用自己的私钥进行解密即可 得到明文。 得到明文。 1977年由 年由Rivest(李维斯特)、 )、Shamir(沙米尔) 年由 (李维斯特)、 (沙米尔) 和Adleman(埃德曼)共同提出了第一个公钥密码 (埃德曼) 算法( 密码体制), 算法(即RSA密码体制),是公钥密码中最优秀的 密码体制),是公钥密码中最优秀的 加密算法,被誉为密码学发展史上的里程碑之一。 里程碑之一 加密算法,被誉为密码学发展史上的里程碑之一。 此后, 此后,人们基于不同的计算问题提出了大量的公钥 密码算法。 密码算法。

第二讲之第4章 公钥密码体制.

第二讲之第4章 公钥密码体制.
b a mod p , 0<=i<=p-1
i
则称指数i为以a为底、模p的b的离散对数。
1.基本原理
用户A 公开 秘密
用户B
YA XA
计算
YB
XB
计算
公开
秘密
会话秘密
KA
密钥交换过程
KB
会话秘密
密钥交换过程





(1)选择一个素数P和它的一个原元a; (2)通信方A选择自己的秘密密钥XA,并计算自己的 公开密钥YA: YA=a XA mod P (3)通信方B选择自己的秘密密钥XB,并计算自己的 公开密钥YB: YB=a XB mod P (4)通信双方A和B交换YA和YB; (5)A独立计算会话密钥,B独立计算会话密钥KS; (6)通信双方利用会话密钥KS进行通信。

公钥体制算法

第一个公钥体制是1977年由Rivest, Shamir,Adleman提出的,称为RSA 公钥体制,其安全性是基于整数的因子 分解的困难性。RSA公钥体制已得到了 广泛的应用。

基于背包问题的Merkle-Hellman背包公 钥体制
基于有限域上离散对数问题的ElGamal 公钥体制 基于椭圆曲线的ECC密码用很小数字。设 P=47 和 47 的一个原元,a=3。
A 选择秘密密钥 XA=8 , B 选择秘密密钥 XB=10 ,
各自计算其公开密钥。
(1)双方各自计算
用户A计算:YA=3 8mod 47=6561 mod 47=28 mod 47 用 户 B 计 算 : YB=3 47=17 mod 47



(2)保护信息机密

任何人均可将明文加密成密文,此后只有拥有解密密钥 的人才能解密。

第四章 公钥密码体制.

第四章 公钥密码体制.

扩展的欧几里德算法
(s*n)+(b*t)=gcd(n,b),如果b的乘法逆存在,则gcd(n,b)=1 r1←n;r2←b; t1←0;t2←1; 如果r2>0 {
q←r1/r2; r ←r1-q*r2; r1 ←r2;r2 ←r; t ←t1-q*t2; t1 ←t2;t2 ←t;
数为k=2,求明文m=30 所对应的密文 (2) 如果用相同的k=2 加密另外一个明文m,加密后的密文为
C= (49,13),求m 4、椭圆曲线y2mod p=(x3+ax+b)mod p,其中a=1, b=1, p=23。取
曲线上的P=(3,10), Q=(9,7),分别计算P+Q和2P
主要内容
= p * b +q * (a – a / b * b) = q * a + (p – a / b*q) * b 这样它就将 a b 的线性组合就化简为 b 与 a % b 的线性组合。 a b 都在减小,当 b 减小到 0 时,我们就可以得出 p = 1 ,q = 0 然后递归回去就可以求出 最终的 p ,q 了
实际应用中的加密方式
举例:假设Alice与Bob进行保密通信,过程如下:
Alice
Bob的公钥
密文传输 因特网
Bob私钥
Bob
会话密钥
对称密码和公钥密码
对称密码
公钥密码
一般要求 ① 加密和解密使用相同的密钥 ② 收发双方必须共享密钥
一般要求
① 同一算法用于加密和解密,但加 密和解密使用不同密钥
② 发送方拥有加密或解密密钥,而 接收方拥有另一密钥
整除:设整数a和b,如果存在整数k,使b=ak,则说b能被a整 除,记作:a|b。例:3|15,-15|60 整除性质: 对所有整数a≠0, a|0、 a|a成立 对任意整数b, 1|b成立

公钥密码体制的原理与应用方法

公钥密码体制的原理与应用方法

公钥密码体制的原理与应用方法1. 引言公钥密码体制是现代密码学中一种重要的密码体制,通过使用公钥和私钥来实现加密和解密的过程。

公钥密码体制具有安全性高、方便性好等优点,在信息传输、电子商务、网络通信等领域得到了广泛的应用。

本文将介绍公钥密码体制的原理和常见的应用方法。

2. 公钥密码体制的原理公钥密码体制是基于数学问题的难解性原理设计的一种安全机制。

其核心思想是在整个加密过程中,只有私钥的持有者才能解密密文,而公钥可以公开给任何人使用。

公钥密码体制的原理包括: - 公钥和私钥的生成:公钥和私钥是一对密钥,必须满足一定的数学关系。

公钥是公开的,私钥只有私钥持有者知道。

- 加密过程:使用公钥对明文进行加密,生成密文。

- 解密过程:只有私钥持有者才能使用私钥对密文进行解密,得到明文。

3. 公钥密码体制的应用方法公钥密码体制广泛应用于以下几个方面:3.1 数字签名数字签名是公钥密码体制的重要应用之一。

它可以用于验证消息的完整性和真实性,防止消息被篡改。

数字签名的过程包括: - 消息摘要的生成:将原始消息通过哈希函数等方式生成一个固定长度的消息摘要。

- 摘要的加密:用私钥对消息摘要进行加密,得到数字签名。

- 数字签名的验证:接收者使用公钥对数字签名进行解密,得到消息摘要。

再将原始消息通过同样的哈希函数等方式生成一个新的消息摘要,与解密得到的消息摘要进行比较。

如果两者一致,说明消息的完整性和真实性得到验证。

3.2 密钥交换公钥密码体制可以用于实现双方在不安全信道上进行密钥交换的过程。

常见的密钥交换算法有Diffie-Hellman算法等。

其基本原理是通过双方互相传递公钥,并根据一些数学运算得到相同的对称密钥,然后就可以使用对称密钥进行加密和解密。

3.3 数据加密公钥密码体制可以用于对数据进行加密,以保证数据在传输过程中的安全性。

常见的对称加密算法有RSA算法、ElGamal算法等。

公钥密码体制的加密过程如下: - 接收者生成公钥和私钥,并将公钥公开。

第4章公钥密码体制

第4章公钥密码体制

4.2.3 乘法逆元
如果gcd(a,b)=1,那么: 存在a-1,使a* a-1 ≡1 mod b 存在b-1,使b* b-1 ≡1 mod a 这里,把a-1称为a模b的乘法逆元, b-1称为b 模a的乘法逆元
用扩展的欧几里德算法求乘法逆元
gcd(11111,12345)
12345=1*11111+1234 11111=9*1234+5 1234=246*5+4 5=1*4+1 4=4*1+0
characteristic of algorithms
It is computationally infeasible to determine the decryption key given only knowledge of the cryptographic algorithm and the encryption key. Either of the two related keys can be used for encryption, with the other used for decryption.
4.2 数论基础
数论中的许多概念在设计公钥密码算法时是 必不可少的.掌握这些基础知识对于理解公 钥密码体制的原理和应用十分重要.
整 除
定理:设整数a和b,如果存在整数k,使 b=ak,则说b能被a整除,记作:a|b 例:3|15,-15|60 性质:
对所有整数a≠0, a|0, a|a成立 对任意整数b, 1|b成立
本原根的性质
如果a是n的本原根,且:
x1=a1 mod n,x2=a2 mod n,…,xФ(n)=aФ(n) mod n
则:
x1≠x2≠…≠xФ(n),且xФ(n)=1

杨波,_《现代密码学(第2版)》第四章 4.1节

杨波,_《现代密码学(第2版)》第四章 4.1节

交换律: ① 交换律: (w+x) mod n=(x+w) mod n (w×x) mod n=(x×w) mod n × × 结合律: ② 结合律: [(w+x)+y] mod n=[w+(x+y)] mod n [(w×x)×y] mod n=[w×(x×y)] mod n × × × × 分配律: × × × ③ 分配律: [w×(x+y)] mod n=[w×x+w×y] mod n 单位元: ④ 单位元: (0+w) mod n=w mod n (1×w) mod n=w mod n × 加法逆元: 存在z∈ 使得w+z≡0 ∈ ⑤ 加法逆元: 对w∈Zn,存在 ∈Zn,使得 mod n,记z = -w。 , 。
整数具有以下性质: 整数具有以下性质: ① a|1,那么a=1。 ,那么 。 ② a|b且b|a,则a=b。 且 , 。 对任一b ③ 对任一 (b≠0),b|0。 , 。 ④ b|g,b|h,则对任意整数 、n有 b|(mg+nh)。 , ,则对任意整数m 有 。 性质④的证明: 性质④的证明: 由b|g,b|h知,存在整数 1、h1, , 知 存在整数g 使得g=bg1, h=bh1所以 使得 mg+nh=mbg1+nbh1=b(mg1+nh1), 因此 因此b|(mg+nh)。 。
例4.1 设Z8={0, 1,…, 7},考虑 8上的模加法和模乘 ,考虑Z 法。
从加法结果可见,对每一 ,都有一y, 从加法结果可见,对每一x,都有一 ,使得 x+y≡0 mod 8。如对 ,有6,使得 。如对2, ,使得2+6≡0 mod 8,称 , 加法逆元。 y为x的负数,也称为加法逆元。 的负数, 为 的负数 也称为加法逆元 对x,若有 ,使得 ×y≡1 mod 8,如3×3≡1 ,若有y,使得x× , × mod 8,则称 为x的倒数,也称为乘法逆元。本例 的倒数, ,则称y为 的倒数 也称为乘法逆元。 可见并非每一 都有乘法逆元。 并非每一x都有乘法逆元 可见并非每一 都有乘法逆元。 一般地,定义 为小于n的所有非负整数集合 的所有非负整数集合, 一般地,定义Zn为小于 的所有非负整数集合, 为模n的同余类集合 的同余类集合。 即Zn={0, 1, …, n-1},称Zn为模 的同余类集合。其 , 上的模运算有以下性质 性质: 上的模运算有以下性质:

RSA公钥密码

RSA公钥密码

(2)任取 a {2,3,, n 2}
且(a,n)=1
(3)如果, n pn 则判n是素数;
否则判n是合数,重新选取n重复上过程。
Rabin证明了由上述算法所产生的素数的误判概率: 由此,我们将算法中的第(2)和(3)步骤重复k次, 这样判定n为素数的误判概率小于等于(1/4)k。 计算复杂度为:O((log2n)3)
12
RSA算法论证
②加密和解密运算的可交换性
D(E(M))=(Me)d =Med =(Md))e =E(D(M)) mod n 所以,RSA密码可同时确保数据的秘密性和数据的
真实性。
13
RSA算法论证
③加解密算法的有效性
RSA密码的加解密运算是模幂运算,有比较有效 的算法。
14
RSA算法论证
④在计算上由公开密钥不能求出解密钥 小合数的因子分解是容易的,然而大合数的因子分
el 2 2l 4
m m ) m ) m
(mod N )
(mod N )

((mel1 )2 mel2 )2 me1 )2 me0
((m2 mel2 )2 me1 )2 me0
(mod N )
当要对明文进行加密时,可先进行预处理, 计算出m2、m3等,这种方法我们称之为窗口法。
8
RSA算法论证
9
RSA算法论证
不妨设M=ap 。
又因q为素数,且M不包含q,故有(M,q)=1, 于是有,M φ(q) =1 mod q 。 进一步有,M t(p-1)φ(q) =1 mod q。 因为q是素数,φ(q)=(q-1),所以t(p-1)φ(q) =tφ(n),
所以有
M tφ(n) =1 mod q。

公钥密码体制课件

公钥密码体制课件

THANKS
感谢观看
云计算与大数据
数据存储加密
对存储在云端的数据进行加密,确保数据的安全性和 隐确保只有授权用户 能够访问云端数据。
容灾备份
在大数据场景中,公钥密码体制用于容灾备份数据的 加密和完整性校验。
04
公钥密码体制的实现技术
RSA算法
总结词
RSA算法是一种非对称加密算法,基于数论中的一些基础性质,使用一对公钥和私钥进行加密和解密操作。
数据完整性
通过数字签名等技术,公钥密码体 制能够确保数据的完整性和真实性。
身份认证
公钥密码体制可用于身份认证,验 证发送方的身份,防止伪造和冒充。
公钥密码体制的历史与发展
历史
公钥密码体制的思想起源于20世纪 70年代,最早的公钥密码体制是RSA 算法。
发展
随着技术的不断进步,公钥密码体制 的应用越来越广泛,涉及到网络安全、 电子支付、电子政务等领域。
证书吊销与信任链管理
在公钥密码体制中,证书用于验证公 钥的合法性,但证书可能被吊销或受 到信任链上的信任问题影响。
管理证书吊销列表和信任链的有效性 是确保公钥密码体制安全的重要环节, 需要定期检查和更新证书状态,以及 在必要时撤销或更新信任链。
06
公钥密码体制的未来展望
新算法的研究与发展
算法优化
详细描述
RSA算法由Rivest、Shamir和Adleman于1977年提出,是目前应用最广泛的公钥密码算法之一。其安全性基于 大数质因数分解的困难性,通过选取适当的参数,能够保证很高的安全性。RSA算法可用于加密、数字签名等应 用场景。
ECC算法
总结词
ECC算法是一种基于椭圆曲线的公钥密码算法,具有密钥长度相对较小、加密速度快、安全性高等优 点。

公共密码体制

公共密码体制

电子商务安全
11
4.2 RSA算法 算法
• 1978年就出现了这种算法,它是第一个既能用 年就出现了这种算法, 年就出现了这种算法 于数据加密也能用于数字签名的算法。 于数据加密也能用于数字签名的算法。 • 它易于理解和操作,也很流行。 它易于理解和操作,也很流行。 • 算法的名字以发明者的名字命名:Ron Rivest, 算法的名字以发明者的名字命名: Adi Shamir 和Leonard Adleman。但RSA的 。 的 安全性一直未能得到理论上的证明。 安全性一直未能得到理论上的证明。
电子商务安全 22
注: RSA的安全性是基于加密函数 的安全性是基 的安全性是 ek(x)=xe(mod n)是一个单向函数,所以对别人 是一个单向函数, 是一个单向函数 来说求 计算不可行, Bob能解密的陷门是 来说求逆计算不可行,而Bob能解密的陷门是 分解n=pq 分解 知 ϕ (n)=(p-1)(q-1) 从而用欧氏算法解出解密 从而用欧氏算法解出解密 欧氏 私钥d.
电子商务安全
20
DES和RSA性能比较(同等 同等强度) 同等
DES密钥长度(bit) 56 64 112 128
RSA 密钥长度(bit) 384 512 1792 2304
电子商务安全
21
例子
密钥的选取:若 密钥的选取 若Bob选择了p=101和q= 113 , 选 和 那么, 那么,n=11413, (n)=100 *112= 11200 ; 然而, 然而,11200= 26* 52 *7, 一个正整数 能用作加密 , 一个正整数e能用作加密 指数, 仅当e不能 不能被 , , 所整 所整除 指数,当且仅当 不能被2, 5, 7所整除。 实上, 辗转相 事实上,Bob不会分解 而是用辗转相除法(欧 不 分解(n) 而是用辗转 算法) 求得e, 假设Bob选择了 式算法)来求得 , 使(e , ϕ (n)=1) 假设 选 e=3533, 那么用辗转相除法将求得 辗转相 法将求得d=e -1 α 6597(mod , 那么用辗转 11200), 于是 于是Bob的解密密钥 的解密密钥d=6597. 的解密密钥 Bob在一个目录中公开 在一个目录中公开n=11413和e=3533, 在一个目录中公开 和 加密解密:现假设 加密解密 现假设Alice想发送明文9726给Bob 她计算 想 送明文 给 现假设 97263533(mod 11413)=5761。且在一个信道上发送密文 。 在一个信道上发 5761 ,当Bob接收到密文 接收到密文 接收到密文5761时,他用他的秘密解密 时 指数私 进行解密57616597 (mod 11413)=9726 指数私钥d= 6597进行解密 进行解密

公钥密码

公钥密码
计算机网络安全基础
4.1 公钥算法的特点
加密与解密由不同的密钥完成。 知道加密算法,从加密密钥得到解密密 钥在计算上是不可行的。 两个密钥中任何一条都可用做加密而另 一条用做解密。(可选)
计算机网络安全基础
4.1 公钥密码体制的实现过程
公钥密码加密示意图 m
用户A 用户 加密 C=E(eB ,m)
攻击模型: 选择明文:适当选择明文获得相应密文。 明文校验攻击:可以对一个明密文对(m, c)回答C是否由m加密得来。 选择密文攻击:可以获得密文相应的解 密。
计算机网络安全基础
4.4 构造公钥密码常用的单向函数
1)
多项式求根: 多项式求根: y=f(x)=(Xn+an-1Xn-1+…+a1x+a0) mod p
计算机网络安全基础
4.6 RSA
RSA参数建立 找素数 选取两个大的随机素数p,q 计算模n和Euler函数φ(n) n=pq φ(n)=(p-1)(q-1) 找ed≡1 mod φ(n) 选取数e,用扩展Euclid算法求数d 发布 发布(e,n),这是公钥ke d保密,(d, n)是私钥 kd
4.6 RSA
欧拉函数: 对于一个正整数n,小于n且和n互质的正整数的个数, 记做:φ(n)。其中φ(1)被定义为1,但是并没有任何实质 的意义。 对于素数p,φ(p)= p -1. 对于两个素数p、q,n = pq 满足φ(n) =(p-1)(q-1) 欧拉定理 对于互质的整数a和n,有aφ(n) ≡ 1 mod n
计算机网络安全基础
Diffie-Hellman体制:确定一个大数p及GF(p)的本原元素a.一用户设为A选择 一随机数xA,计算 :
将yA公开, xA保密.只有x自己掌握,用户B要与A进行保密通信,查得yA,计 算他们建的通信密钥:

网络安全 公钥密码系统

网络安全   公钥密码系统

Alice 产生随机数 x 计算 X=a x mod p
Bob
X
计算 k=Y x mod p
Y
产生随机数 y 计算 Y=a y mod p 计算 k ′=X y mod p
Diffie-Hellman密钥交换,第一个公 钥算法,但只能用于密钥交换
第4章 公钥密码系统
4.1 RSA密码系统 密码系统
– 多用户网络中的密钥数目膨胀问题,共需协商和保存n(n-1)/2个密钥 – 密钥分发问题,如何通过不安全线路传输初始化密钥
公钥密码系统基于陷门单向函数:在不知道陷门信息(某些保密信 息)情况下求逆困难,而在知道陷门信息时易于求逆的函数。
第4章 公钥密码系统 基于对称密码学的DES的ECB(Electronic Codebook)模式 • 将明文M分成64位的分组pi • 对各分组用给定的密钥K进行加密,得密文分组:ci=DESK(pi) • 将各密文分组按顺序连接起来即得到明文的密文 • 为拥有共享密钥的双方在通信中加/解密数据
第4章 公钥密码系统
4.2 Diffie-Hellman密钥交换 密钥交换
4.2.1 Diffie-Hellman算法 Diffie-Hellman算法: 1976年,第一个公开密钥算法,用于 密钥分配,其安全性基于计算离散对数的困难性。 离散对数: 素数p的本原根(Primitive Root):能生成1~p−1所有数的一个 数,如果a为p的本原根,则a mod p,a2 mod p,…,ap−1 mod p两 两互不相同,构成1~p−1的全体数的一个排列。 对于任意数b及素数p的本原根a,可以找到一个惟一的指数i, 满足: b = ai mod p, 0≤i≤p−1 称指数i为以a为底模p的b的离散对数,i = logab( mod p) 。 由a、i、p计算b,简单;由a、 b 、p计算i,极其困难。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

同余式 :设n是一个正整数,a, b Z 如果 a mod n b mod n, 则称a和b模n同余,记作:a b(modn) ,称整数n为同余模。

加法逆元:设a Z n ,如果存在 x Z n 满足 x a 0(modn),则称 x是a的模n加法逆元。

乘法逆元:设 a Z n ,如果存在 x Z n 满足 ax 1(modn) ,则称
1
基本思想
数论简介 RSA算法 椭圆曲线密码体制
2
3 4
4.1基本思想
1.背景
对称密钥编码所面临的难题
密钥分配:通信密钥太多,管理和分发困难。 数字签名和认证。
密码体制上的突破
Diffie & Hellman, “New Direction in Cryptography”, 1976。 首次公开提出了“公开密钥密码编码学”的概念。
基于因子分解问题的Rabin算法; 椭圆曲线公钥算法; 基于有限域中离散对数难题的ElGamal公钥密码算法 基于代数编码系统的McEliece公钥密码算法; 基于“子集和”难题的Merkle-Hellman Knapsack(背包)公钥密码算
法;
目前被认为安全的Knapsack型公钥密码算法Chor-Rivest。
安全性要求
① 两个密钥之一必须是保密的 ② 若没有其他信息,则解密消息是 不可能或至少是不可行的 ③ 知道算法和其中一个密钥以及若 密文干不足以确定另一密钥
有关公钥密码的几种常见误解

从密码分析的角度看,公钥密码比传统密码更安全。 公钥密码是一种通用的方法,传统密码已经过时。 传统密码中与密钥分配中心的握手是一件异常麻烦的事情, 与之相比,用公钥密码实现密钥分配则非常简单。
缺点:公共密钥系统的主要弱点是加密和解密速度慢。
实际应用中的加密方式

混合加密技术
对称密码体制:密钥分发困难
公钥体制:加解密效率低
将对称加密算法的数据处理速度和公钥算法对密钥的保
密功能相结合
利用对称加密算法加密传输数据
利用非对称加密算法交换会话密钥
实际应用中的加密方式
举例:假设Alice与Bob进行保密通信,过程如下:
公钥密码技术
1
习 题
1、设n=91,e=5,根据RSA算法加密明文m=3,计算出密文。给
出计算详细步骤。
2、设n=35,e=5, 试设计一个具体的RSA公开密码体制, 并求密 文c=10的原文。
习 题
3、在ElGamal 密码体制中,设素数p=71,本原根g=7
(1)如果接收方 B 的公开钥是yB = 3 ,发送方A 选择的随机整
这是一个与对称密码编码截然不同的方案。
提出公开密钥的理论时,其实用性并没有又得到证明:
当时还未发现满足公开密钥编码理论的算法; 直到 1978 年,RSA 算法的提出。
2.基本特征
加密和解密使用两个不同的密钥
公钥PK:公开,用于加密,私钥SK:保密,用作解密
密钥
一个密钥加密的数据只能用另一个密钥解密
(1)a≡b(mod n) iff a mod n=b mod n。 (2)反身性:a≡a(mod n)。 (3)对称性:如果a≡b(mod n),则b≡a(mod n)。
(4)传递性:如果a≡b(mod n),b≡c(mod n),
则a≡c(mod n)。
(5)如果a ≡a1(mod n),b=b1(mod n),
同次幂相乘得来的。

(1) d整除m和n,即d|m,d|n; (2) 若d’|m且d ’|n,则d ’|d。

设m,n是两个整数,如果正整数d满足:
则称 d 是 m 与 n 的最大公因数,记为d = (m,n)。若(m, n)=1,则称 m 与 n 互素。
3.欧拉函数

欧拉函数(Euler’s totient function)
欧拉函数φ(n):表示小于 n 且与 n 互素(包括公因子1)的
正整数的பைடு நூலகம்数;
欧拉函数的性质:
对任意素数 p,有 对任意两个素数
φ(p) = p – 1;
p、q,则对 n = pq 有:
φ(n) = φ(pq) = φ(p)φ(q) = (p–1)(q–1)
欧拉定理
如a 和 n 是互素的整数,则有:
密 文 传 输 因特网
Alice Bob
Bob的公钥
Bob私钥
会话密钥
对称密码和公钥密码
对称密码
一般要求 ① 加密和解密使用相同的密钥 ② 收发双方必须共享密钥
公钥密码
一般要求 ① 同一算法用于加密和解密,但加 密和解密使用不同密钥 ② 发送方拥有加密或解密密钥,而 接收方拥有另一密钥
安全性要求
① 密钥必须是保密的 ② 若没有其他信息,则解密消息是 不 可能或至少是不可行的 ③ 知道算法和若干密文不足以确定 密钥
{
q←r1/r2; r ←r1-q*r2; r1 ←r2;r2 ←r; t ←t1-q*t2; t1 ←t2;t2 ←t;
} 如果(r1=1),那么b-1 ←t1
用扩展的欧几里德算法求乘法逆元

gcd(11111,12345)
12345=1*11111+1234 11111=9*1234+5 1234=246*5+4 5=1*4+1 4=4*1+0
11111x(mod12345)=1
扩展欧几里德算法求乘法逆元11-1mod26
q
2 2 1 3
r1
26 11 4
r2
11 4 3
r
4 3 1 0
t1
0 1 -2
t2
1 -2 5
t
-2 5 -7 26
3
1
1
0
5
-7
-7
26
所以,11的乘法逆元是(-7)mod26=19
素数(prime number)
a f( n ) 1 mod n
等价形式:
a
f ( n) +1
a mod n
欧拉定理推论: 有两个素数 p 和 q, 令 n = pq , 对任意整数 t 和a (0<a<n), 有下列等式成立:
a tφ(n) +1 = a mod n
其中:φ(n) = (p-1)(q-1)。
4.同余式性质
78 ≡49 ≡11mod 19
人们认为 f(x) 是一个从Zn到Zn的单向函数
5.公钥算法的特点
公开密钥算法设计需要有以下基本要求:
加密与解密由不同的密钥完成;
知道加密算法,从加密密钥得到解密密钥在计算上是不可行的;
两个密钥中任何一个都可以作为加密而另一个用作解密。
6.公钥密码算法
除RSA算法以外,建立在不同计算问题上的其他公钥密码算法 有:
gcd( a, b) gcd(b, a modb) 据: 。

描述如下:
a, b Z , (1)输入 a 和 b ,其中, a, b 0 ,a b ;
(2)如果 b 0 则依次完成: r a modb, a b, b r ,否则返回 a; (3)输出gcd(a, b) r 。
数为k=2,求明文m=30 所对应的密文 (2) 如果用相同的k=2 加密另外一个明文m,加密后的密文为 C= (49,13),求m 4、椭圆曲线y2mod p=(x3+ax+b)mod p,其中a=1, b=1, p=23。取 曲线上的P=(3,10), Q=(9,7),分别计算P+Q和2P
主要内容
则a+b≡a1+b1(mod n),ab≡a1b1(mod n)
Fermat定理
若p素数,a是整数且不能被p整除,则: ap-1 1 mod p 推论: p素数,a是任意整数,则: ap a mod p 例:计算718 mod 19
a=7, p=19
72=49≡11mod19
74 ≡121 ≡7mod 19
x是a的模n乘法逆元,记为 a-1 (mod n)。

整除:设整数a和b,如果存在整数k,使b=ak,则说b能被a整
除,记作:a|b。例:3|15,-15|60
整除性质:
对所有整数a≠0, a|0、 a|a成立 对任意整数b, 1|b成立
2.欧几里德(Euclidean)算法

一个用于计算两个整数的最大公因子的有效算法 ,算法依
这样它就将 a b 的线性组合就化简为 b 与 a % b 的线性组合。 a b 都在减小,当 b 减小到 0 时,我们就可以得出 p = 1 ,q = 0
然后递归回去就可以求出 最终的 p ,q 了
扩展的欧几里德算法
(s*n)+(b*t)=gcd(n,b),如果b的乘法逆存在,则gcd(n,b)=1 r1←n;r2←b; t1←0;t2←1; 如果r2>0
4.2 数论简介
1. 数论相关术语

最大公因子:任意有限个整数 a1 , a2 , , an 的公因子中的最大
gcd( a1 , a2 , , an ) 。 一个。必然存在并且惟一,记为

最小公倍数:任意有限个整数 a1 , a2 , , an的公倍数中的最小
一个 。必然存在并且惟一,记为 lcm(a1 , a2 , , an ) 。
单向陷门函数。

构造公钥密码系统的关键是如何在求解某个单向函数的逆函 数的NP完全问题中设置合理的“陷门”。
单向函数举例
例1:y=anxn+an-1xn-1+…+a1x+a0 例2:设n是两个大素数p和q的乘积,b是一个正整数,对
相关文档
最新文档