当前位置:文档之家› 密码技术

密码技术

(2)密钥的保存量少。网络中的每一密码通信成员只需秘 密保存自己的解密密钥,N个通信成员只需产生N对密钥, 便于密钥管理。 (3)可以满足互不相识的人之间进行私人谈话时的保密性 要求。
(4)可以完成数字签名和数字鉴别。发信人使用只有自己 知道的密钥进行签名,收信人利用公开密钥进行检查,既方 便又安全。
置换选择函数PC-1
Ci(28位)
Di(28位)
14 3 23 16 41 30 44 46
17 28 19 7 52 40 49 42
11 15 12 27 31 51 39 50
24 6 4 20 37 45 56 36
1 21 26 13 47 33 34 29
5 10 8 2 55 48 53 32
难以解决数字签名验证的问题。
解决密钥分发的困难 数字签名的需要 依据数学问题的不同,可分为三类:

基于整数分解问题:RSA 基于离散对数问题:DSA,DH 基于椭圆曲线点群上离散对数问题:ECDSA


【RSA密码体制】 密钥产生
假设Alice想要通过一个不可靠的媒体接收Bob的一条私人讯息。她 可以用以下的方式来产生一个公钥和一个私钥: 随意选择两个大的质数p和q,p不等于q,计算n=p×q。 根据欧拉函数,不大于N且与N互质的整数个数为(p-1)(q-1) 选择一个整数e与(p-1)(q-1)互质,并且e小于(p-1)(q-1) 用公式计算d:d× e ≡ 1 (mod (p-1)(q-1)) 将p和q的记录销毁。 e是公钥,d是私钥。d是秘密的,而n是公众都知道的。Alice将她 的公钥传给Bob,而将她的私钥藏起来。
用户2 (保存自己的私钥、公钥)
Internet
用户4 (保存自己的私钥、公钥)
用户3 (保存自己的私钥、公钥)
网络中4个用户之间使用非对称加密技术
公开密钥密码体制的优点:
(1)密钥分配简单。由于加密密钥与解密密钥不同,且不 能由加密密钥推导出解密密钥,因此,加密密钥表可以像电 话号码本一样,分发给各用户,而解密密钥则由用户自己掌 握。
若m1和m2在密钥方阵的同一列,则C1和C2分别是m1和m2下 边的字母(第一行视为最后一行的下边)。
若m1和m2位于不同的行和列,则C1和C2是以m1和m2为顶点 的长方形中的另外两个顶点,其中C1和m1、C2和m2处于同一 行。 若m1=m2,则在m1和m2之间插入一个无效字母,如“x”,再 进行以上判断和指定。 若明文只有奇数个字母,则在明文末尾加上一个无效字母。
1 2 3 4 5
密文:2315313134 明文:HELLO
例二 凯撒密码:公元前50年
公元前50年,古罗马的凯撒大帝在高卢战争中采用的加密 方法。凯撒密码算法就是把每个英文字母向前推移K位 (k=3)。 A B C D E F G …… X Y Z D E F G H I J …… A B C
B 的公钥 PKB B 的私钥 SKB
A
加密 E 运算 密文Y 加密算法 密文Y
解密
D 运算 解密算法
B
因特网
明文 X
明文 X
用户1 (保存用户2、3、4密钥)
用户2 (保存用户1、3、4密钥)
用户4 (保存用户1、2、3密钥)
用户3 (保存用户1、2、4密钥)
网络中4个用户之间使用对称加密技术
用户1 (保存自己的私钥、公钥)
0 0 1 0
输出4位
【对称密码体制的不足】
密钥使用一段时间后就要更换,加密方每次启动新密码时, 都要经过某种秘密渠道把密钥传给解密方,而密钥在传递 过程中容易泄漏。 网络通信时,如果网内的所有用户都使用同样的密钥,那 就失去了保密的意义。但如果网内任意两个用户通信时都 使用互不相同的密钥,N个人就要使用N(N-1)/2个密钥。因 此,密钥量太大,难以进行管理。 无法满足互不相识的人进行私人谈话时的保密性要求。在 Internet中,有时素不相识的两方需要传送加密信息。
作业1:请用C/C++实现vigenere密码
例四 多字母替换密码
Playfair是以英国科学家L.Playfair的名字命名的一种多字母替换 密码。英国曾在一战期间使用过二字母替换密码。每一对明文字 母m1和m2,替换规则如下: 若m1和m2在密钥方阵的同一行,则密文字母C1和C2分别是 m1和m2右边的字母(第一列视为最后一列的右边)。
表1 二字母替换密码方阵
H
I E M V
A
C F N W
R
O G Q X
P
D K T Y
S
B L U Z
例如:明文为“bookstore”,求密文。 明文:bo ok st or ex 密文:ID DG PU GX GV
分组密码
按一定长度对明文分组,然后以组为单位用同一个密钥进行加/ 解密。 著名的分组密码算法有:DES(Data Encryption Standard), IDEA(International Data Encryption Algorithm),GOST (Gosudarstvennyi Standard),AES(Advanced Encryption Standard)。
先用自己的私人密钥对随机数进行解密,然后再用随机数对 信息进行解密。这样的链式加密就做到了既有RSA体系的保
密性,又有DES或IDEA算法的快捷性。
例一 希腊密码(二维字母编码查表): 公元前2世纪 1 A F L Q V 2 B G M R W 3 C H N S X 4 D IJ O T Y 5 E K P U Z
48位
+
Ki
选择压缩S
32位
置换运算P + Li+1=Ri Ri+1 密钥
56位密钥
一轮迭代过程示意图
R0
32位
扩展运算E: 经初始变换后的64位序列右半 部分(32位)经选择扩展运算 E,将32位扩展成48位二进制 块: Ri-1=E(r1r2r3…r31r32 ) =r32r1r2r3…r31r32r1
Ki(48位) 置换选择函数PC-2
选择压缩的例子
10 =2
1 0 1 1 0 0
=6
输入6位
0 1 2 3
0 1 2 14 4 13 0 15 7 4 1 14 15 12 8
3 4 5 6 7 8 9 10 11 12 13 14 15 1 2 15 11 8 3 10 6 12 5 9 0 7 4 14 2 13 1 10 6 12 11 9 5 3 8 8 13 6 2 11 15 12 9 7 3 10 5 0 2 4 9 1 7 5 11 3 14 10 0 6 13
密文:kxqdq xqlyhuvlwb 明文:Hunan University
例三 多表代换密码
经典的维吉尼亚密码 仍能够用统计技术进行分析
需选择与明文长度相同并与之没有统计关系的密钥
明文 密钥 H E 4 密文 L e c 2 g l h 7 s l o 14 s W E 4 A o c 2 q r h 7 y l o 14 z d e 4 h
可能的密钥序列有268个,明文长度越大,破译难度越大。
穷举破译过程中,可能生成另外的有意义的明文,所以无 论截获多少密文,都不能增加破译可能。
截获密文 密文序号 试探密钥
明文序号
“破译”明文
x 23 4 19 t
r 17 3 14 o
o 14 2 12 m
d 3 21 8 i
o 14 22 18 s
流密码
利用密钥K产生一个密钥流,按字符逐位进行加/解密。
密钥流z=z0,z1,… ,其中zi=f(K,σi), σi是加密器中存储器在时 刻i的状态,f是K和σi产生的函数。
【DES加密过程】
明文分组:将明文分成64位一组
初始变换IP:对64位码进行移位操作
迭代过程。共16轮运算,这是一个与密钥有关的对分组进
3.1 数据加密概述
3.2 数据加密技术
3.3 数字签名技术
3.4 鉴别技术
3.5 密钥管理技术
密码编码学(cryptography)是密码体制的设计学。 密码分析学(cryptanalysis)则是在未知密钥的情况下从密 文推演出明文或密钥的技术。密码编码学与密码分析学合 起来即为密码学(cryptology)。 如果不论截取者获得了多少密文,但在密文中都没有足够 的信息来唯一地确定出对应的明文,则这一密码体制称为 无条件安全的,或称为理论上是不可破的。 如果密码体制中的密码不能被可使用的计算资源破译,则 这一密码体制称为在计算上是安全的。
对称密码体制算法比公钥密码体制算法快;公钥密码体
制算法比对称密码体制算法易传递,因而在安全协议中(例
如SSL和S/MIME),两种体制均得到了应用。这样,既提 供保密又提高了通信速度。 应用时,发送者先产生一个随机数(即对称密钥,每次 加密密钥不同),并用它对信息进行加密,然后用接收者的
公共密钥用RSA算法对该随机数加密。接收者接收到信息后,
8 7 6 5 4 3 2 1
48 47 46 45 44 43 42 41
16 15 14 13 12 11 10 9
56 55 541 20 19 18 17
64 63 62 61 60 59 58 57
32 31 30 29 28 27 26 25
理论上不可攻破的系统只有一次一密系统:密钥随机产生、 与明文等长、只使用一次。 明文
明文序号
随机密钥 密文序号 密文
s 18 5 23 x
e 4 13 17 r
n 13 1 14 o
d 3 0 3 d
h 7 7 14 o
e 4 2 6 g
l 11 20 5 f
p 15 16 5 f
相关主题