拉宾公钥密码

合集下载

公钥密码学及RSA

公钥密码学及RSA
23×7=161= 1×160+1 故取 d=23 6. 所得的公钥 KU={7,187} 7. 私钥 KR={23,187}
给定 M = 88 加密:
C = 887mod 187 =(884 mod187)(882 mod187 ) (881mod187) =11
解密:
M = 1123 mod 187=88
公钥密码体制的加密
公钥密码体制的认证
A向B发送消息X A的公钥为KUa,私钥为KRa “加密”: Y = EKRa(X) (数字签名) “解密”: X = DKUa(Y) 思考:能保证消息的保密性吗? 请问:利用公钥密码体制,n个用户通信
需要多少个密钥?
公钥密码体制的认证
具有保密与认证的公钥体制
除了要指定n的大小外,研究者还提出了 其他一些限制条件,为了防止可以很容 易地分解n,RSA算法的发明者建议p 和q还应满足下列条件
1. P和q的长度应仅相差几位。这样对 1024位的密钥而言,p和q都应约在 1075到10100之间
2. (p-1)和(q-1)都应有一个大的素因子。
3. gcd(p-1, q-1)应该比较小
关于公钥密码的几种误解
公钥密码比传统密码安全? ➢ 事实上,任何加密方法的安全性依赖于密
钥的长度和破译密文所需要的计算量。 从抗密码分析的角度看,原则上不能说 传统密码优于公钥密码,也不能说公钥 密码优于传统密码
公钥密码是通用方法,所以传统密码已经 过时?
➢ 由于现有的公钥密码方法所需的计算量 大,所以取缔传统密码似乎不太可能
三种数学攻击方法
分解 N=p.q, 因此可计算出 ø(N),从而确定d 直接确定ø(N),然后找到d 直接确定d
由N确定ø(N)等价于因子分解

公钥密码学发展历史和脉络

公钥密码学发展历史和脉络

公钥密码学发展历史和脉络介绍如下:
公钥密码学是一种基于数学原理和算法的加密技术,它的发展历史可以追溯到20世纪70年代。

以下是公钥密码学发展的主要历史和脉络:
1.1976年,惠特菲尔德和迪菲发明了著名的迪菲-惠特菲尔德密钥交换协议,这是公钥密码学的开端。

2.1978年,拉宾在论文中首次提出了公钥加密算法,这是公钥密码学的里程碑之一。

3.1979年,麦克劳德和威尔逊在论文中提出了一种新的公钥加密算法——RSA算法。

4.1985年,埃尔加马尔和沙密尔发明了一种基于离散对数问题的公钥密码算法——DH算法。

5.1991年,埃尔加马尔、沙密尔和德斯特发明了一种基于椭圆曲线离散对数问题的公钥密码算法——ECC算法。

6.1997年,NIST发布了第一版数字签名标准——DSA标准。

7.1999年,NIST发布了第一版公钥密码标准——RSA标准。

8.2000年,NIST发布了第一版椭圆曲线公钥密码标准——ECC标准。

9.2001年,NIST发布了第一版身份认证标准——PKI标准。

10.2002年,NIST发布了第一版数字证书更新标准——OCSP标准。

11.2007年,NIST发布了第一版密码安全标准——SP800-131标准。

12.2013年,NSA泄露的“棱镜门”事件引发了公钥密码学安全问题的关注,开启了公钥密码学安全问题的新篇章。

总之,公钥密码学在过去几十年的发展中,不断推陈出新,逐步成为现代加密技术的核心。

随着网络技术的迅猛发展和信息安全问题的日益突出,公钥密码学的发展和应用将会更加广泛和深入。

数学知识点归纳数论与密码学的基础

数学知识点归纳数论与密码学的基础

数学知识点归纳数论与密码学的基础数学知识点归纳:数论与密码学的基础数论是数学的一个分支,研究的是整数及其性质。

而密码学是应用数论的一个领域,研究的是信息保密和安全通信的方法。

本文将就数论和密码学的基础知识进行归纳和总结。

一、数论的基础知识1. 整数和整除性质:整数是自然数、0和负整数的集合。

整除是指一个数能够整除另一个数,也可以说是被整除的那个数是另一个数的倍数。

2. 最大公约数和最小公倍数:最大公约数是两个数中最大的能够同时整除它们的数;最小公倍数是能够同时被两个数整除的最小的非零自然数。

3. 模运算:模运算是指将一个数对另一个数取余得到的结果,表示为a mod b。

常用于解决循环问题、计算机编程和密码学等领域。

4. 素数和合数:素数是指只能被1和自身整除的数,大于1的非素数称为合数。

二、RSA公钥密码体制RSA密码体制是一种基于数论的非对称加密算法,由三位数学家Rivest、Shamir和Adleman共同发明。

它利用了大数分解的困难性来提供安全性。

1. 密钥生成:RSA算法需要生成一对公私密钥。

首先选择两个不同的素数p和q,计算它们的乘积n=p*q。

选择一个与(p-1)*(q-1)互质的整数e作为公钥,计算私钥d使e*d ≡ 1(mod (p-1)*(q-1))。

2. 加密过程:将明文M转换为整数m,然后使用公钥(e,n)对明文进行加密,得到密文C ≡ m^e(mod n)。

3. 解密过程:使用私钥(d,n)对密文进行解密,得到明文M ≡C^d(mod n)。

三、素性测试素性测试是判断一个大数是否为素数的方法,其中最著名的是费马素性测试和米勒-拉宾素性测试。

1. 费马素性测试:根据费马小定理,如果p是素数且a是p的一个互质整数,那么 a^p-1 ≡ 1(mod p)。

因此,对于一个给定的大数n,若不等式a^n-1 ≡ 1(mod n)成立,那么n一定是合数。

费马素性测试虽然简单,但在实际应用中效果较差。

rsa 公钥密码算法

rsa 公钥密码算法

RSA(Rivest-Shamir-Adleman)是一种非对称加密算法,它使用一对密钥(��钥和私钥)来加密和解密数据。

公钥用于加密数据,私钥用于解密数据。

RSA算法的基本原理是基于大素数的乘法和取模运算。

下面是RSA算法的基本步骤:
1. 选择两个大素数p和q,并计算它们的乘积n=p*q。

2. 计算欧拉函数φ(n)=(p-1)*(q-1)。

3. 选择一个整数e,使得1<e<φ(n),且e与φ(n)互质。

e称为公钥。

4. 计算整数d,使得d ≡e^(-1) (mod φ(n))。

d称为私钥。

5. 公钥是(n, e),私钥是(n, d)。

6. 加密消息m:c ≡m^e (mod n)。

7. 解密密文c:m ≡c^d (mod n)。

RSA算法的安全性依赖于大素数分解的困难性,即从n=p*q中分解出p和q的困难性。

因此,RSA算法的安全性取决于选择足够大的素数p和q。

RSA算法被广泛应用于加密通信、数字签名、身份认证等领域,是目前最常用的公钥密码算法之一。

公钥密码5.3基于离散对数问题的公钥密码ppt课件

公钥密码5.3基于离散对数问题的公钥密码ppt课件
反过来,若已知y、g和p,当p是大素数时, 找到一个x,使 y g x mod p 成立是困难的。
对大素数p,模 p 指数运算是一个单向函数。
离散对数问题是NP问题。
一、离散对数问题
离散对数问题的求解难度:
•按目前的最好算法,求解素域Fp上的离散对数的计 算复杂性为
1
1
exp[ c o(1)(log p)2 (log log p)2 ]
Diffie-Hellman问题(DHP): 给定一个素数p和Fp上的一个本原元 g及ga mod p和 gb mod p ,求gab mod p.
Fp*中的Diffie-Hellman问题可以在多项式时 间内转化为离散对数问题。
二、Diffie-Hellman密钥交换协议
Diffie-Hellman密钥交换协议是Whitefield Diffie 和Martin Hellman在1976年提出的。
私钥是 x=5
B加密:为加密信息 m=7,秘密选择一个整数k=3,
并计算
ห้องสมุดไป่ตู้
c1
c2
gk my
mod p 8 k mod p 4
•A脱密: 对密文 c (8,4) 明文为m=4(85)1mod11=7
三、ElGamal公钥密码算法
例2:生成密钥:用户A选取素数p=2579及F2579* 的生成元 g=2,并选取私钥x=765,计算
p
A脱密: 对任意密文
c
(c1 , c2
)
Z
* p
Z
* p
明文为 m c2 (c1x )1 mod p
三、ElGamal公钥密码算法
例1:生成密钥:用户A选取素数p=11及F11*的生 成元 g=2,并选取私钥x=5, 计算

python拉宾公钥密码

python拉宾公钥密码

拉宾公钥密码是一种基于大数质因数分解问题的公钥密码体制,其安全性依赖于大数质因数分解的难度。

在Python中实现拉宾公钥密码需要使用一些数学库,如Python标准库中的math和random,以及第三方库如pycrypto等。

下面是一个简单的Python代码示例,演示了如何使用Python实现拉宾公钥密码的基本原理:python复制代码import randomimport math# 生成大素数p和qp = random.randint(10**10, 10**20)q = random.randint(10**10, 10**20)n = p * qphi = (p - 1) * (q - 1)# 生成随机整数e,满足1 < e < phi,且gcd(e, phi) = 1e = random.randint(2, phi - 2)while math.gcd(e, phi) != 1:e = random.randint(2, phi - 2)# 计算私钥d,满足d * e ≡ 1 (mod phi)d = pow(e, -1, phi)# 公钥和私钥的生成public_key = (n, e)private_key = (n, d)# 明文加密和解密函数def encrypt(plain_text):cipher_text = pow(plain_text, e, n)return cipher_textdef decrypt(cipher_text):plain_text = pow(cipher_text, d, n)return plain_text在上面的代码中,我们首先生成两个大素数p和q,然后计算它们的乘积n和欧拉函数phi。

接着,我们生成一个随机整数e,并计算对应的私钥d。

最后,我们定义了明文加密和解密函数encrypt和decrypt。

在encrypt函数中,我们将明文m的每个比特分别计算对应的密文c,即c = m^e mod n。

公钥密码体制及典型算法-RSA

公钥密码体制及典型算法-RSA
25
公钥密码算法应满足的要求
④ 敌手由B的公开钥PKB求秘密钥SKB在计算 上是不可行的。 ⑤ 敌手由密文c和B的公开钥PKB恢复明文m 在计算上是不可行的。 ⑥ 加、解密次序可换,即 EPKB[DSKB(m)]=DSKB[EPKB(m)] 其中最后一条虽然非常有用,但不是对 所有的算法都作要求。
发方首先用自己的秘密钥SKA对消息m加 密,用于提供数字签字。再用收方的公开钥 PKB第2次加密,表示为 c=EPKB[ESKA[m]] 解密过程为 m=DPKA[DSKB[c]] 即收方先用自己的秘密钥,再用发方的公 开钥对收到的密文两次解密。
23
公钥保密和认证体制
为了要同时实现保密性和确证性,要采用双重加、 解密
20
公钥密码体制认证的原理
以上认证过程中,由于消息是由用户自 己的秘密钥加密的,所以消息不能被他人篡 改,但却能被他人窃听。这是因为任何人都 能用用户的公开钥对消息解密。为了同时提 供认证功能和保密性,可使用双重加、解密。 如下图所示。
21
公钥密码体制的认证、保密框图
22
公钥密码体制认证的原理
18
公钥密码体制认证的原理
因为从m得到c是经过A的秘密钥SKA加 密,只有A才能做到。因此c可当做A对m的 数字签字。 另一方面,任何人只要得不到A的秘密 钥SKA就不能篡改m,所以以上过程获得了 对消息来源和消息完整性的认证。
19
公钥密码体制认证的原理
在实际应用中,特别是用户数目很多时,以 上认证方法需要很大的存储空间,因为每个文件都 必须以明文形式存储以方便实际使用,同时还必须 存储每个文件被加密后的密文形式即数字签字,以 便在有争议时用来认证文件的来源和内容。改进的 方法是减小文件的数字签字的大小,即先将文件经 过一个函数压缩成长度较小的比特串,得到的比特 串称为认证符。 认证符具有这样一个性质:如果保持认证符的 值不变而修改文件这在计算上是不可行的。用发送 者的秘密钥对认证符加密,加密后的结果为原文件 的数字签字。

通信保密系统

通信保密系统


确定分析法:利用一个或几个已知量(已知的明 文――密文对)用数学模型表示明文,密文的关 系。 统计分析法:利用明文的统计规律,密码破译者 对截获的密文或密文之间的差,进行统计分析, 总结其统计规律,从中提取明密文间的变换关系。
密码分析有六种方法

) 唯密攻击:已知密文有一算法从C e (m 推出 已知明文攻击:密码分析者已知一些密文以 及对应的明文,推导出密钥的算法 选择性明文攻击:分析者不仅得到一些消息 的明文密文对,而且有被加密的明文和密文 对,推导密钥的算法(相当于密码分析者得 到了加密设备(仅不知密钥)) 自适应选择明文攻击:密码分析者不仅能选 择被加密的明文,而且还能基于以前加密结 果进行选择
H ( XY ) H ( X ) H (Y | X ) H (Y ) H ( X | Y )
i, j
H ( X | Y ) H ( X );

H (Y | X ) H (Y )

定义:X,Y分别是系统的输入和输出空间, 当输入xi X ,输出yi Y 则给出的关于的信 p( x | y ) I ( x , y ) I ( x , y ) log 息量 i j 定义为 p( x ) 定义:系统作为一个传递信息的通道,则 在所有可能输入分布下平均互信息的极大 值,为信道容量 C max I ( X ;Y )

C=E(p)=(p+k)mod(26) p=D(C)=(C-k)mod(26)

25个可能的密钥k 明文已知且易于识别
三.保密系统的保密性和随机性


是以shannon的信息论为基础 信息量和熵 信息量:给定一个离散集合 X x ,i 1,n, 1 p( x ),事件包含 p( x ) 0 令 出x现的概率是 且 i 的信息量定义为 I ( x ) log p( x ) a=2,此时相应的信息量单位为bit 熵:将集合X中事件所包含的信息量统计 平均,则平均值 H (x) p(x ) log p(x ) 0 0 H ( x) log n 熵越大,则事件的不确定性越大

Rabin密码

Rabin密码

Rabin密码体制
Rabin密码体制是对RSA的一种修正,它 有以下两个特点: 它不是以一一对应的单向陷门函数为基 础,对同一密文,可能有两个以上对应的明 文; 破译该体制等价于对大整数的分解。 RSA中选取的公开钥e满足1<e<φ(n),且 gcd(e,φ(n))=1。Rabin密码体制则取e=2。
2 x c mod q
由于p≡q≡3 mod 4,下面将看到,方程 组的解可容易地求出,其中每个方程都有两 个解,即 x≡m mod p,x≡-m mod p x≡m mod q,x≡-m mod q
Rabin解密描述
经过组合可得4个同余方程组
x m mod p, x m mod p, x m mod q, x m mod q, x m mod p, x m mod p, x m mod q, x m mod q,
发送 {50,31} to Bob
Bob 恢复 message key K=5058=75 mod 97 Bob 计算 K-1 = 22 mod 97 Bob 恢复明文 M = 31 ∙ 22 = 3 mod 97
七、椭圆曲线公钥密码ECC
1. 简要历史

椭圆曲线(Elliptic curve)作为代数几何中的重要问题已有100多年的研 究历史 1985年,N. Koblitz和V. Miller独立将其引入密码学中,成为构造双 钥密码体制的一个有力工具。 利用有限域GF(2n )上的椭圆曲线上点集所构成的群上定义的离散对 数系统,可以构造出基于有限域上离散对数的一些双钥体制--椭圆曲 线离散对数密码体制(ECDLC ),如Diffie-Hellman,ElGamal, Schnorr,DSA等。 10余年的研究,尚未发现明显的弱点。

公钥密码

公钥密码

分组密码的重点研究方向: 新型分组密码的研究; 分组密码的实现研究,包括软件优化、硬件 实现和专用芯片等; 用于设计分组密码的各种组件的研究; 分组密码安全性综合评估原理与准则的研究; AES和NESSIE分组密码的分析及其应用研究;
公钥密码的重点研究方向为: 用于设计公钥密码的新的数学模型和陷 门单向函数的研究; 针对实际应用环境的公钥密码的设计; 公钥密码的快速实现研究,包括算法优 化和程序优化、软件实现和硬件实现; 公钥密码的安全性评估问题,特别是椭 圆曲线公钥密码的安全性评估问题;
七、RSA被指收美政府千万美元在加密算法中安后门
DES和RSA标准的比较
加密机制
原理 算法 密钥配送 密钥数 安全确认 加密速度
DES
公开 必要 必须为通信对象数 比较困难 可达100Mbps
Alice的 公钥环 Mike Joy Ted Bob Bob的公钥 传输密文
Bob的私钥
明文输入
加密算法,如RSA
解密算法
明文输出
(3) 密钥交换:通信双 方交换会话密钥,以 加密通信双方后续连 接所传输的信息。每 次逻辑连接使用一把 新的会话密钥,用完 就丢弃。
自从1976年公钥密码的思想提出以来,国际上已经提出了许多 种公钥密码体制。 如基于大整数因子分解问题的RSA体制和Rabin体制、 基于有限域上离散对数问题的Diffie—HeUman公钥体制和El— Gamal体制、 基于椭圆曲线上的离散对数问题的Diffie—Hellman公钥体制 和EIGamal体制、 基于背包问题的Merkle—Hellman体制和Chor—Rivest体制、 基于代数编码理论的MeEliece体制、 基于有限自动机理论的公钥体制等
公钥密码诞生的原因—对称密码体制的缺陷 :

密码学公钥密码学技术(讲用)

密码学公钥密码学技术(讲用)

1977年RSA的三个发明人在《科学美国人》杂志的数学游戏
专栏留下了一个129位的十进制数(426bit)密钥,悬赏$100, 估计破译时间为4亿亿年后。1994年Atkins等人动用网上的 1600台计算机,耗时8个月,成功地破译了该密码。 1999年一个国际密码研究小组在RSA公司举办的RSA密钥竞 赛中荣获冠军。该小组用7个月时间,使用世界各地11个地 点292台计算机,其中160台SGI和SUN工作站及120台PII PC 机,确定了生成单个512位RSA密钥所用的两个素数。 512 bit 154位10进制数 不够安全 768 bit 231位10进制数 个人应用 1024 bit 308位10进制数 商业应用 2048 bit 616位10进制数 重要场合
RSA密码系统
④ 计算d作为解密指数。用户计算出满足下式的d ed1modφ (n) ⑤ 得出所需要的公开密钥和秘密密钥: 公开密钥(即加密密钥)PK {e, n} 秘密密钥(即解密密钥)SK {d, n} 其中,p、q、φ (n)和d就是秘密的陷门(四项 并不是相互独立的),这些信息不可以泄露。
RSA算法的安全性分析
建议选择p和q大约是100位的十进制素数,模n的长度
要求至少是512比特。 为了抵抗现有的整数分解算法,对RSA模n的素因子p和 q还有如下要求: 1. |p-q|很大,通常 p和q的长度相同; 2. p-1 和q-1分别含有大素因子; 3. gcd(p-1, q-1) 应该很小 为了提高加密速度,通常取e为特定的小整数.
非对称密钥加密算法用于加密:
非对称密钥加密算法用于鉴别: 1. 如果A想给B发送一个签名报文,他就用自己的私有(保 密)密钥加密这个报文。 2. B收到这个报文后就用A的公开密钥鉴别该报文。

公开密钥密码(讲课用)

公开密钥密码(讲课用)

公钥加密算法

传统加密过程
加密和解密使用相同 密钥
明文
密文
明文
公钥加密算法

公钥密码算法
加密和解密使用 不同密钥
明文
密文
明文
常规加密和公开密钥加密的比较
常规加密 加密解密 同一密钥
安全条件 密钥必须保密 加密速度 快 方 便 性 密钥初始分配不便
公开密钥加密 不同密钥
其中一个保密 慢 密钥公开方便
发送方A
接收方B
二、公开密钥密码的基本工作方式
2、确保数据真实性: 安全性分析:
①只有A才有KdA ,因此只有A才能加密产生C,所 以确保了真实性。 ②任何人都可查PKDB得到A的KeA,所以任何人都 可解密得到明文。不能确保秘密性。
二、公开密钥密码的基本工作方式
3、同时确保数据秘密性和真实性:A B 发方:
三、RSA公开密钥密码
2、算法论证
④在计算上由公开密钥不能求出解密钥 但他又知道, φ (n)=(p-1)(q-1), 要从中求出φ (n),必须先求出p和q,而p和q是保 密的。但他知道, n=pq, 要从n求出p和q,只有对n进行因子分解。而当n足 够大时,这是很困难的。
课堂作业:
1、穷举法破解 KTGCFDQQM密文 2、给定素数p=3,q=11,用RSA算法生 成一对密钥,并对2进行加密。
RSA举例
举例:
1.选择p=7,q=17。
2.计算n=p*q=119,Φ(n)=(p-1)*(q-1)=96。 3.选e=5,因为5和96互素。
4.根据5d mod 96=1,得d=77。
5.公钥为(5,119),密钥为77。 如:明文为P=6
密文: C=Pe mod n = 65 mod 119 =41。

第四讲公钥密码

第四讲公钥密码

RSA 算法的性能
• 速度
– 软件实现比DES 慢100倍 – 硬件实现比DES慢1000倍
512位 加密 解密 签名 验证 0.03 0.16 0.16 0.02 768位 0.05 0.48 0.52 0.07 1024位 0.08 0.93 0.97 0.08
ElGamal公钥密码 4.3、ElGamal公钥密码
第四讲
RSA公钥密码 RSA公钥密码 ElGamal公钥密码 ElGamal公钥密码
公 钥 密 码
公钥密码的理论基础
椭圆曲线上的M 椭圆曲线上的M-V公钥密码
4.1、 公钥密码的理论基础
明文 秘密钥 密钥建立 公开钥 明文 密文 私钥 明文 密文 秘密钥 明文
单向函数:计算 容易, 不容易。 单向函数:计算F(m, Kp)=c 容易,但由 c 计算 m 不容易。 陷门单向函数: 是容易的。 陷门单向函数:如果已知 Ks,则由 c 计算 m 是容易的。 , 计算难易--计算复杂性理论为基础 计算难易--计算复杂性理论为基础 --
c = E (m) ≡ me (mod n)
D(c) = c d (mod n)
解密过程的正确性: 解密过程的正确性:
D( E (m)) = ( E (m))d ≡ (me ) d = med mod n ? tφ ( n ) +1 =m mod n = m mod n
定理, 对任意明文 1 ≤ m < n,当gcd(m,n)=1时,根据 时 根据Euler定理, 定理
模逆算法: 模逆算法:根据扩展的欧几里得算法 gcd(a,b)=sa+tb , s 和 t 为整数
a = q1b + r1 b = q2 r1 + r2 r1 = q3 r2 + r3 r2 = q4 r3 + r4 L ri = qi + 2 ri +1 + ri + 2 ri +1 = qi +3 ri + 2

密码学公钥密码-PPT

密码学公钥密码-PPT

RSA算法得论证
假设截获密文C, 从中求出明文M。她知道 M≡Cd mod n,
因为n就是公开得,要从C中求出明文M,必须先求出d,而d 就是保密得。但知道,
ed≡1 mod Ø(n), E就是公开得,要从中求出d,必须先求出Ø(n),而Ø(n)就是 保密得。
RSA算法得论证
在计算上由公开密钥不能求出解密密钥 但知道,Ø(n)=(p-1)(q-1) 要从中求出Ø(n),必须先求出p与q,而p与q就是保密得。 知道 n=pq,要从n求出p与q,只有对n进行因子分解。 而当n足够大时,这就是很困难得。 只要能对n进行因子分解,便可攻破RSA密码。由此可以 得出,破译RSA密码得困难性<=对n因子分解得困难性。 目前尚不能证明两者就是否能确切相等,因为不能确知除 了 对n进行因子分解得方法外,就是否还有别得更简捷得破译 方法。 目前只有Rabin密码具有:
注:严格来说,公开钥为 e,秘密钥为 d, n 算做公开信息,p,q 为保密信息
2. 加密 先将明文比特串分组,使得每个分组对应的十进制数小于 n,
即分组长度小于 log2n,设分组大小为 k, 2k < n ≤ 2k+1。 然后对每个明文分组 m,作加密运算: c≡me mod n
3. 解密 对密文分组的解密运算为: m≡cd mod n
见:第8章 数论入门、
经典例子
RSA算法 Diffe-Hellman密钥交换算法 ElGamal密码体制 椭圆曲线密码体制ECC
RSA公开密钥算法
RSA算法描述 RSA得实现问题 RSA得安全性
RSA公开密钥算法
1977年由Ron Rivest、Adi Shamir与Len Adleman发明,1978年公布 就是一种分组加密算法

3公钥密码体制

3公钥密码体制

≡ xikϕ ( n ) +1 mod n
≡ xi ⋅ xikϕ ( n ) mod n
≡ xi
讨论RSA算法的安全性: 讨论 算法的安全性: 算法的安全性
在算法中, 和 作为公开密钥 作为公开密钥, 在算法中,e和n作为公开密钥,任何人都 可以用来加密消息; 可以用来加密消息;而p、q、d和 ϕ (n) 是保密 、 、 和 用来解密密文,只有私钥拥有者知道, 的,用来解密密文,只有私钥拥有者知道,也 就是只有接收者知道。 就是只有接收者知道。 由于n为两个大素数的乘积 为两个大素数的乘积, 由于 为两个大素数的乘积,又n=pq,那么 , 可以得到Φ(n)=(p-1)(q-1)。发信者并不知道 的 可以得到 。发信者并不知道n的 两个素因子p和 ,就无法计算Φ(n)。 两个素因子 和q,就无法计算 。 又由于ed≡1 modΦ(n) (n), 又由于ed≡1 mod (n),d是通过此式计算 出来的,因此无法计算 无法计算d, 出来的,因此无法计算 ,所以就无法进行解 密。 这样, 这样,只有秘密钥拥有者才可以进行密文 的解密,其他任何人都不能。 的解密,其他任何人都不能。
RSA体制的安全性基于数论中的Euler RSA体制的安全性基于数论中的Euler 体制的安全性基于数论中的 定理和计算复杂性理论中的下述论断: 定理和计算复杂性理论中的下述论断 : 求两个大素数的乘积是很容易计算的, 求两个大素数的乘积是很容易计算的 , 但要分解两个大素数的乘积, 但要分解两个大素数的乘积 , 求出它们 的素因子则是非常困难的。 的素因子则是非常困难的。
1、p与q必须是强素数
一素数p若满足以下条件, 一素数p若满足以下条件,则此素数为强 素数。 素数。 (1)存在两个大素数 p1 和 p 2 ,使得 p1 | p − 1, p2 | p + 1

第9-10章 公钥密码(2)_8236_4284_20141203110741

第9-10章 公钥密码(2)_8236_4284_20141203110741

六、椭圆曲线密码体制
1、椭圆曲线密码的基本情况
六、椭圆曲线密码体制
从平行线谈起
假如平行线在很远很远的地方相交了?即平行线相交 于无穷远点P∞:
•无穷远点与平常点 • 与无穷远点相区别把原来平面上的点叫做平 常点
由此出现了射影坐标系
六、椭圆曲线密码体制
射影平面坐标系 •射影平面坐标系是对普通平面直角坐标系的扩展: • 增加无穷远点P∞ •构造方法: • 对普通平面直角坐标系上的点A的坐标(x , y) 做如下改造: 令x=X/Z ,y=Y/Z(Z≠0);则A点可以 表示为(X:Y:Z)。 变成了有三个参量的坐标点,这就对平面 上的点建立了一个射影平面坐标体系。
离散对数困难性回顾: 素数p的本原根定义:如果a是素数p的本原根,则数 a mod p, a2 mod p, … , ap-1 mod p 是不同的并且包含1到p-1的整数的某种排列。 对任意的整数b,我们可以找到唯一的幂I满足 b=ai mod p 0<=i<=(p-1) i 在离散对数算法中称为模p下以a为底b的离散对数(指 标),记为i=inda,p(b)。 离散对数的计算: Y=gX mod p – 已知g,x,p,计算y是容易的 – 已知y,g,p,计算x是困难的,当p很大时,该算法是不 可行的。
y 2 x3 ax b
实数域上的两个曲线
4 P1 Q -2 -1 -2 - P1 -4 -4 -P1 2 R Q 0 1 2 3 -2 -1 -2 2 R 0 1 2 3 4 P1
(a) y2=x3-x
(b) y2=x3+x+1
椭圆曲线的两个例子
从图可见,椭圆曲线关于 x 轴对称。 椭圆曲线上的加法运算定义如下:如果其上的 3 个点位于同 一直线上,那么它们的和为 O。 进一步可如下定义椭圆曲线上的加法律(加法法则) : ① O 为加法单位元,即对椭圆曲线上任一点 P,有 P+O=P。 ② 设 P1=(x,y)是椭圆曲线上的一点(如上图) ,它的加法逆元 定义为 P2= -P1=(x, -y)。 这是因为 P1、P2 的连线延长到无穷远时,得到椭圆曲线上 的另一点 O ,即椭圆曲线上的 3 点 P1 、 P2 , O 共线,所以 P1+P2+O=O,P1+P2=O,即 P2= -P1。 由 O+O=O,还可得 O= -O

公钥密码国际标准

公钥密码国际标准

公钥密码国际标准
公钥密码国际标准主要包括以下几个:
1. X509协议:是PKI技术体系中应用最为广泛、也是最为基础的一个国际标准。

它的主要目的在于定义一个规范的数字证书的格式。

2. PKCS标准:即公钥加密标准(Public Key Cryptography Standards,PKCS),由RSA资讯安全公司所制定,是一组公钥密码学标准,包括证书申请、证书更新、证书作废表发布、扩展证书内容以及数字签名、数字信封的格式等方面的一系列相关协议。

请注意,以上只是一部分公钥密码国际标准,如果需要了解更多信息,建议咨询密码学专家或查阅相关文献资料。

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

拉宾公钥密码
有些密码,如:“爱因斯坦全质能公式”的密文是“ E=MC2=0”,即每个方程的左边为自然数,右边是一个质量为1、物体速度为光速的假想物体;“拉宾公钥密码”的密文是“ Q=LMS=LSS”,即其中每一个方程的左边为自然数,右边是相应的由32位数据组成的“公钥密码”。

有人说,拉宾将密码的设计带进了一个新时代——他是人类历史上第一个提出并实践了一种公钥密码的人,被誉为“现代密码之父”。

拉宾密码技术首创了二元对立密码体制,将“消息认证”和“加密解密”合二为一,从而成功地解决了传统加密和数字签名所面临的两大难题。

在加密方面,拉宾的发明确保了机密信息的安全性,为后来的各项技术开辟了道路。

在解密方面,拉宾密码首次将密文还原成明文,开创了信息认证的新方法。

“拉宾公钥密码”就是由这样的二元对立关系组成的。

它以拉宾的名字命名,也因此被称为拉宾密码。

这个二元对立的体制可以概括为:其一,每一个非对称密钥都有相应的对称密钥;其二,任何一个密钥对可以用多个公钥来表示。

对称密钥是不可替代的,这与一般的二元对立密码完全不同。

其三,公钥的密文只能用来产生私钥。

其四,除了自身外,公钥对任何事物都是不可见的。

任何使用密码的人,要想推导出私钥,必须首先找到公钥。

“拉宾公钥密码”是一种密码体制,但它与传统密码体制有很大区别。

传统的秘密分享与认证模式有很大缺陷,而“拉宾公钥密码”
克服了这些缺陷。

这个密码体制比较简单,非常容易掌握,而且应用方便,已经在政府机关、银行、军事等许多领域得到广泛应用。

以银行的网络服务为例,许多银行现在利用一个固定的密钥对来提供信用卡交易服务,而每一个客户都可以拥有自己的一把专属密钥,他们在自己的电脑上输入卡号和密码就可以使用这个服务。

这个二元对立的体制就是基于拉宾的实践经验,用来保护各种各样的关键资料的一个标准方案。

拉宾的贡献远远超过密码学本身,因为正是他建立起了一套行之有效的资料加密方法。

拉宾的理论思想,既是密码学发展的一个重要源泉,也是密码学研究的重要方向。

他的成果在今天仍有很高的参考价值。

相关文档
最新文档