第三章 现代密码技术及应用
② 计算(n)。用户再计算出 n 的欧拉函数
(n) (p 1)(q 1)
(9-9)
(n) 定义为不超过 n 并与 n 互素的数的个数。
③ 选择 e。用户从[0, (n) 1]中选择一个与 (n)互素的
数 e 作为公开的加密指数。
(2) 密钥的产生(续)
④ 计算 d。用户计算出满足下式的 d
但从已知的PK不可能推导出SK。
(2)认证模型:发方私钥加密,发方公钥解密 数字签名的原理
RSA算法: RSA算法是由Rivest,Shamir和Adleman于1978年 提出的,曾被ISO/TC97的数据加密委员会SC20推 荐为公开数据加密标准。 RSA体制是根据寻求两个大素数容易,而将他们的 乘积分解开则极其困难这一原理来设计的。
ed 1 mod (n)
作为解密指数。 ⑤ 得出所需要的公开密钥和秘密密钥:
公开密钥(即加密密钥)PK {e, n} 秘密密钥(即解密密钥)SK {d, n}
(9-10)
(3) 正确性的例子说明
设选择了两个素数,p 7, q 17。 计算出 n pq 7 17 119。 计算出 (n) (p 1)(q 1) 96。 从[0, 95]中选择一个与 96 互素的数e。 选 e 5。然后根据(9-10)式,
公钥加密机制根据不同的用途有两种基本的模型: (1)加密模型:收方公钥加密,收方私钥解密
用于加密模式的公开密钥算法具有以下特点:
用加密密钥PK对明文X加密后,再用解密密钥 SK解密即得明文,即DSK(EPK(X))=X;
加密密钥不能用来解密,即DPK(EPK(X)≠X; 在计算机上可以容易地产生成对的PK和SK,
将明文数据进行某种变换,使其成为不可理解 的形式,这个过程就是加密,这种不可理解的 形式称为密文。
解密是加密的逆过程,即将密文还原成明文。
加密和解密必须依赖两个要素:算法和密钥。 算法是加密和解密的计算方法;密钥是加密所 需的一串数字。
加密:加密是指对数据进行编码使其看起来毫无 意义,同时仍保持可恢复的形式。
Xe 195 2476099。 再除以 119,得出商为 20807,余数为 66。这就是对应于明 文 19 的密文 Y 的值。 在用秘密密钥 SK {77, 119}进行解密时,先计算
Yd 6677 1.27... 10140。 再除以 119,得出商为 1.06... 10138,余数为 19。 此余数即解密后应得出的明文 X。
RSA算法的优点是:易于实现,使用灵活,密钥较少,在网络 中容易实现密钥管理,便于进行数字签名,从而保证数据的 不可抵赖性;
缺点是要取得较好的加密效果和强度,必须使用较长的密钥, 从而加重系统的负担和减慢系统的吞吐速度,这使得非对称 密钥技术不适合对数据量较大的报文进行加密。
另外,RSA算法体系的基础在于大素数因子分解困难.因子分 解越困难,密码就越难以破译,加密强度就越高。反之,如 果能有办法或者在一定条件下对大素数进行因子分解,就能 够对密文进行破译,就会动摇这种加密体制的基础。
A B C D E F G …… X Y Z D E F G H I J …… A B C
例三:代码本
代码本
➢ 字母、符号、单词、短语
代码
➢ 代码
字母、符号、单词、短语
➢ 应用:第一、二次世界大战
2.1949~1975年: 计算机使得基于复杂计算的密码成为可能
➢ 1949 年 Shannon 的 “ The Communication Theory of Secret Systems”
DES算法的基本思想
DES算法的基本思想来自于分组密码,即将明文划 分成固定的n比特的数据组,然后以组为单位,在 密钥的控制下进行一系列的线性或非线性的变化 变换而得到密文,这就是分组密码(Block Cipher) 体制。分组密码一次变换一组数据,当给定一个 密钥后,分组变换成同样长度的一个密文分组。 若明文分组相同,那么密文分组也相同。
非对称密钥技术的优点是:易于实现,使用灵活,密钥 较少。
弱点在于要取得较好的加密效果和强度,必须使用较长 的密钥。
在公钥密码系统中,加密密钥与解密密钥不同,并 且从其中一个密钥推出另一个密钥在计算上非常困难。 其中一个密钥称为私钥,必须保密。而另一个密钥称为 公钥,应该公开。这样就不必考虑如何安全地传输密钥。
RSA算法的速度
由于进行的都是大数计算,使得RSA最快的情 况也比DES慢上倍,无论是软件还是硬件实现。 速度一直是RSA的缺陷。一般来说只用于少量 数据加密。
RSA算法是第一个能同时用于加密和数字签名 的算法,也易于理解和操作。RSA是被研究得 最广泛的公钥算法,从提出到现在已近二十年, 经历了各种攻击的考验,逐渐为人们接受,普 遍认为是目前最优秀的公钥方案之一。
➢ 1967年David Kahn的《The Codebreakers》 ➢ 1971-73 年 IBM Watson 实 验 室 的 Horst
Feistel等的几篇技术报告 数据的安全基于密钥而不是算法的保密
3.1976年以后:
➢ 1976年美国学者Diffie和Hellman根据单向函数的 概念提出了公开密钥密码算法,引起了密码学的一 场革命
3.2.4 两大加密体制的联合使用
在实践中,为了保证电子商务系统的安全、可靠以 及使用效率,一般可以采用由RSA和DES相结合实现 的综合保密系统。在该系统中,用DES算法作为数 据的加密算法对数据进行加密,用RSA算法作为DES 密钥的加密算法,对DES密钥进行加密。这样的系 统既能发挥DES算法加密速度快、安全性好的优点, 又能发挥RSA算法密钥管理方便的优点,扬长避短。
1.1949年之前:
古典密码:密码学还不是科学,而是艺术 密码算法的基本手段—“替换”出现,针 对的是字符。
例一 希腊密码(二维字母编码查表)
1
2
3
4
5
1
A
B
C
D
E
2
F
G H IJ K
3
L
M
N
O
P
4
Q
R
S
T
U
5
VWX
Y
Z
密文:2315313134
明文:HELLO
例二 凯撒密码:公元前50年
公元前50年,古罗马的凯撒大帝在高卢 战争中采用的加密方法。凯撒密码算法就 是把每个英文字母向前推移K位。
5d 1 mod 96 解出 d。不难得出,d 77, 因为 ed 5 77 385
96 1 1 mod 96。 于是,公开密钥 PK (e, n) {5, 119},
秘密密钥 SK {77, 119}。
4
(3) 正确性的例子说明(续)
对明文进行加密。先把明文划分为分组,使每个 明文 分组的二进制值不超过 n, 即不超过 119。 设明文 X 19。用公开密钥加密时,先计算
电子商务安全 第 3 章 现代密码技术及应用
3.1 密码技术的基础知识
加密技术是保证网络、信息安全的核心技术。 加密技术与密码学紧密相连。
密码学这门古老而又年龄的科学包含着丰富的计是密码编码学的主要内容, 密码体制的破译是密码分析学的主要内容。
小结
公开密钥技术解决了密钥发布的管理问题,商户 可以公开其公开密钥,就像现在个人的姓名、地 址、E-mail地址一样,可以放在网页上供人下载, 也可公开传送给需要通信的人。而私钥需由用户 自己严密保管。通信时,发送方用接收者的公钥 对明文加密后发送,接收方用自己的私钥进行解 密,别人即使截取了也无法解开,这样既解决了 信息保密问题,又克服了对称加密中密钥管理与 分发传递的问题。
为了保证信息在网上传输过程中不被篡改,必须对所 发送的信息进行加密。
例如:将字母a,b,c,d,e,… x,y,z的自然顺 序保持不变,但使之与D,E,F,G,H,…,Y,Z, A,B分别对应(即相差3个字符)。若明文为and, 则对应密文为DQG。(接收方知其密码为3,它就能 解开此密文)。
– 对称密钥密码体系的优点是加密、解密速度很快(高 效),但缺点也很明显:密钥难于共享,需太多密钥。
– DES密码体制
最有名的密码算法 ;第一个被公开的现代密码 由IBM于1971年至1972年研制成功
对称密匙(保密密匙)加密
明文消息 密匙A加密
加密消息 密匙A解密 明文消息
课堂讨论1:对称密钥密码体制的特点?
RSA中的密钥
(1) 加密算法
若用整数 X 表示明文,用整数 Y 表示密文(X 和 Y 均 小于 n),则加密和解密运算为:
加密:Y Xe mod n
(9-7)
解密:X Yd mod n
(9-8)
(2) 密钥的产生
① 计算 n。用户秘密地选择两个大素数 p 和 q,计算出 n pq。n 称为 RSA算法的模数。明文必须能够用小于 n 的数来表示。实际上 n 是几百比特长的数。
➢ 对称密钥密码算法进一步发展,1977年DES正式成 为标准
➢ 美国麻省理工学院的 Rivest,Shamir和Adleman于 1978年提出了RSA算法
➢ 90年代逐步出现椭圆曲线等其他公钥算法
加密技术的主要分类
对称密匙
在对数据加密的过 程中,使用同样的密匙 进行加密和解密。
常见密匙算法: DES(IBM提出的数据加 密标准)
对称加密技术存在的问题
1〉在首次通信前,双方必须通过除网络以外的另外途径 传递统一的密钥。 2〉当通信对象增多时,需要相应数量的密钥。例如一个 拥有100个贸易伙伴的企业,必须要有100个密钥,这就使 密钥管理和使用的难度增大。 3〉对称加密是建立在共同保守秘密的基础之上的,在管 理和分发密钥过程中,任何一方的泄密都会造成密钥的失 效,存在着潜在的危险和复杂的管理难度。