公钥加密体制
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
定理 2.1(欧拉定理)若整数 a 和 n 互素,则
a ( n) 1modn
其中 (n) 是比 n 小但与 n 互素的整数的个数。 特别地,当 n 为素数时,由欧拉定理可得下面的推论: 推论 2.1(费马小定理)若 p 为素数, (a, p) 1 ,则:
a p1 1mod p
公钥加密体制
一、密码体制的分类 一个密码系统的组成包括以下五个部分: (1) 明文空间 M,它是全体明文的集合。 (2) 密文空间 C,它是全体密文的集合。 (3) 密钥空间 K,它是全体密钥的集合。其中每一个密钥 K 均 由加密密钥 K e 和解密密钥 K d 组成,即 K ( K e , K d ) 。 (4) 加密算法 E, 它是一族由 M 到 C 的加密变换, 对于每一个 具体的 K e ,则 E 就确定出一个具体的加密函数 f , f 把 M 加密成密文 C, C f (M , K e ) 。 (5) 解密算法 D,它是一族由 C 到 M 的解密变换,对于每一 个确定的 K d ,则 D 就确定出一个具体的解密函数 f 1 ,使得
/
W 1 yi mod N
;
/ / y x i i ,从 还原
按超递增向量序列 (e1 , e 2 , , e n )
;
(3) 合并分组得到明文 x x1 x 2 x r
私钥密码体制
密钥K 密钥K
明文M
密文C
明文M
加密
A
解密
B
私钥密码体制
• 私钥加密体制的优缺点: 优点:运算速度快,密钥产生容易。 缺点:1.当用户很多、分布很广时,密钥的分 配的存储就成了大问题; 2. 不能实现数字签名。
公钥密码体制
明文m
加 密
密文c
解 密
明文m
A 公钥
B
密钥本
分析者
公钥密码体制用于保密通信的原理图如图所示。假定发 送者 A 向接收者 B 发送机密信息 m, K B1 、 K B2 分别为 B 的公 钥和私钥, K B1 公开, K B2 保密。A 用 B 的公开密钥 K B1 加密 m 得到密文 c EKB1 (m) 然后把密文 c 发送给 B。B 收到后用自己的私钥把 K B 2 把密文 解密成明文得到原来的消息
3.解密过程: 收到密文对 a 和 b 后,计算:
b y k M g xk M M x x xk (mod p) a a g
四、背包加密体制
背包加密体制的加、解密过程: 1. 密钥生成 (1) 随机选取一超递增序列 (e1 , e2 ,, en ) ,用它作为用户的秘密 密钥,记为 D (e1 , e2 ,, en ) ; (2)选取一对大的且互素的数 W,N,并把背包序列 (e1 , e2 ,, en ) 变为困难的背包序列:
M f 1 (C, K d ) 。
根据密钥类型不同将密码体制分为两类:一类 是私钥密码体制(对称密码体制),另一类称为公钥 密码体制(非对称密码体制)。私钥密码体制的加密 和解密均采用相同的密钥,或者从一个密钥能够容易 的推出另一个密钥,而公钥密码体制的加密密钥和解 密密钥是不同的,或者从一个密钥很难推出另一个密 钥。
2.加密过程: 要加密消息 M,首先选择随机数 k,且 (k , p 1) 1,然后 计算:
a g k mod p
(随机数 k 被加密) (明文被随机数 k 和公钥 y 加密)
b y k M mod p
密文由 a 和 b 两个部分构成,其大小是明文的两倍。 明文是由密文和所选择的随机数 k 来确定,因而是非确定 性加密,一般称为随机化加密。
RSA 加密算法的过程是: 1. 取两个素数 p 和 q(保密)。 2. 计算 n pq (公开), (n) ( p 1)(q 1) (保密)。 3. 随机选取整数 e,满足 gcd(e, (n)) 1 (公开)。 4. 计算 d,满足 de 1(mod (n)) (保密)。 加密算法:将明文分组,各组在 mod n 下可唯一表示, 密文为:
c E(m) me (modn)
d 解密算法: D(c) c (modn)
下面作几点说明: 1.因为 n pq 在该体制中是公开的,因此为了防止敌人用穷 搜索发现 p、 q, 这两个素数应该是在一个足够大的整数集合中选 取的大数(建议采用 100 位的十进制的大素数) 。 2.为了保证 RSA 公钥密码体制的安全性,除了要求素数 p、 q 足够大外,我们还要对其作如下要求: (1) p=2a+1, q=2b+1;其中,a、b 均为奇素数; (2) p 和 q 的长度相差不大; (3) p-1 和 q-1 有大素数因子; (4) (p-1,q-1)很小。 满足条件(1)的 p、q 称之为强素数,满足条件(2), (3), (4)的称之为 安全素数。
M m1m2 mk , M i
M mi
(i 1,2, , k ) ,则同余式组
x bi (modmi ), i 1,2,, k
有唯一解
x b1M1 y1 b2 M 2 y2 bk M k yk (modM )
其中 M i yi 1(modmi ), i 1,2,k.
m DKB 2 (c)=DKB 2 ( EKB1 (m))
一、Diffie-Hellman加密体制
(Diffie-Hellman密钥交换协议)
二、 RSA加密体制
RSA体制是由R.L.Rivest, A.Shamir和L.Adlemansh 在1978年提出的。它既可用于加密、也可用于数字签 名,标准化组织ISO,ITU及SWIFT等均已接受RSA体 制作为标准。RSA密码体制的提出是密码学史上的一 个里程碑,RSA的基础是数论中的欧拉定理,安全性 依赖于数论中大整数分解的困难性(即歌德巴赫猜想这 一难题)。由于其算法简单,在实际应用中容易实现, 因此在理论上是最为成功的密码体制,它是目前应用 最为广泛的公钥密码体制之一。下面给出几个定理及 推论,它们是RSA体制的数学理论背景。
百度文库
3.加密密钥e的适当选择能极大地加快RSA的加密速 度。最经常使用的三个e的值是3,17和65537(它们的 二进制表示中都只有两个 1 ,分别只需进行 2 次、 5 次 和 17 次乘法运算)。考虑到安全性, e 的值一般选取 65537。 4.为了提高RSA的解密速度,可在解密运算中运用 中国剩余定理。
三、 ElGamal 密码体制
ElGamal 密码体制是一种基于离散对数问题的公钥密码体制, 既可用于加密,又可用于数字签名,其安全性依赖于计算有限域 上离散对数的难度。 1.密钥生成 要产生一对密钥,首先选定一素数 p(200 位十进制数) ,两个 随机数 g (模 p 的本原根) 和 x, g 和 x 都小于 p, 然后计算 y g x mod p 。 公开密钥是 y,g 和 p;私钥是 x。
根据欧拉定理,可以证明下面的定理,它直接给出关于 RSA 密码体制中的解密变换是加密变换的逆的证明。 定理 2.2 设 p 和 q 是两个不同的素数, n pq ,对任意的整数 x( 0 x n ),及任意的非负整数 k,有:
x k ( n)1 x(modn)
定理 2.3 ( 中国剩余定理 )设 m1 , m2 ,, mk 是两两互素的正整数,
T (ei ) We i modN
(3)将 (T (e1 ),T (e2 ),, T (en )) 公开作为 E,记为 E (T (e1 ),T (e2 ),, T (en ))
2. 加密过程 (1) 在公开密钥数据库中查得用户 U 的公开密钥
E (T (e1 ), T (e 2 ), , T (e n ))
(2 ) 将 明 文 表 示 成 二 元 序 列 , 并 适 当 分 组 x x1 x2 xr ,每组长 n 比特 (3) 对每一组明文作加密变换
y i E ( xi ) xijT (e j )
j 1 n
(4) 将密文 y y1 y 2 y r 传送给用户 U
3.
解密过程 (1) 计算 yi (2)