电子政务安全技术保障02
解密循环密钥的产生
1)将主密钥分成8个16bit 块,即K1~K8; 2)将主密钥循环左移24位, 再按前一步骤,产生 K9~K16; 3)再将步骤2)重复4次, 共得到48个循环密钥; 4)将主密钥循环左移22位, 从最左开始取4个16bit块作 为K49~K52;
1)在奇数循环中,解密密 钥是对应加密密钥的逆元, 如解密密钥的K1是加密密 钥K49的逆元,K4是加密 密钥K52的逆元。 2)在偶数循环中,根据运 算的可逆性可知两种密钥 对应相同,如解密密钥的 K47与加密密钥K5相同。
DES的算法思想
将二进制序列的明文划分为若干组,每组的大小为 64bit; 然后,用长度为64bit的密钥对64bit的明文分组进 行16轮(每轮的密钥不同)的乘积变换和位臵臵换, 最后形成密文。 解密过程是上述过程的逆操作,16个密钥的使用顺 序和加密时相反。
输入
64bits明文/密文数据
初始置换IP
乘积变换
(在16轮密钥控制下迭代)
逆初始置换IP-1
DES的 算法框图
64bits密文/明文数据 输出
DES的安全性
对DES的批评主要集中在以下几个方面
作为分组密码,DES的加密单位仅有64位二进制,这对于 数据传输来说太小,因为每个分组仅含8个字符,而且其 中某些位还要用于奇偶校验或其它通讯开销。 迭代次数只有16轮,可能少了些,使得加密强度不够。 除去8位校验位外,密钥仅有56位二进制未免太短。同时, 各次迭代中使用的密钥ki是递推产生的,这种机制必然会 降低密码体制的安全性。因此有人认为:在现有的技术条 件下用穷举法寻找正确密钥已趋于可行,所以若要安全保 护10年以上的数据最好不用DES算法。
公钥密码技术——RSA
什么是RSA
RSA是1977年由Rivest,Shamir和Adleman共同开发 的一种典型的公钥加密算法。 RSA算法研制的最初目标是解决DES算法秘密密钥的 利用公开信道传输分发的难题。 实际结果不但很好地解决了这个难题,还可利用 RSA来完成对电文的数字签名以抗对电文的否认与 抵赖。 同时还可以利用数字签名较容易地发现攻击者对电 文的非法篡改,以保护数据信息的完整性。
电子资金传送系统
保护用户文件
用户识别
国际数据加密算法——IDEA
国际数据加密算法IDEA
International Data Encryption Algorithm,是基于 1990年赖学家(XueJia Lai)和梅西(James L. Massey)开发的“建议的加密标准PES”发展而成的。 经过强化改进,该算法于1992年定名为“国际加密标准 IDEA”。 由于IDEA是在美国之外提出并发展起来的,避开了美国 法律上对加密技术的诸多限制,因此,有关IDEA算法和 实现技术的书籍都可以自由出版和交流,可极大地促进 IDEA的发展和完善。
RSA的安全性依赖于大数分解
RSA的缺点主要有
密钥产生较麻烦,受素数产生技术限制,难以做到 一次一密。 分组长度太大,为保证安全性,n至少也要 600 位 以上,使运算代价很高,尤其是速度较慢,随着大 数分解技术的发展,这个长度还在增加,不利于数 据格式的标准化。
密钥的破译能力
密钥位数
成本 $ 100K
加密的基本方法
替代密码——单表替代密码
明文的一个字符用相应的一个密文字符代替,是一 种最简单的替代方法。 凯撒密码是单表密码的典型例子,它是公元前约50 年,罗马皇帝朱利叶·凯撒(Julius Caesar)发 明的一种加密方法。
abcdefghIjklmnopqrstuvwxyz t xyz a b c a b f g h k l l I k lop n o s u v wx v w a b c de mn pq a b c d e fcgdheIIfj jgkhmj n o m q rrspttqurvsw u y z x y z
密钥的验证
检验密钥是否出错 密钥传递时附带一个用该密钥加密的密文(接受者已 知明文)
2.数据加密技术
2.1密码学基础 2.2数据的加密
加密的基本方法 数据加密标准DES 国际数据加密算法IDEA 公钥加密算法RSA
2.3密钥的管理
加密的基本方法
换位密码
can you understand
ynsdnurncodtauea
密钥 T Y P E 顺序 3 4 2 1 矩阵 c a n y ouun ders tand
64bit明文输入
128bit密钥
密钥扩展
第1轮
第2轮
IDEA 算法 框图
64bit密文输出
……
第17轮
密钥的产生
IDEA算法的每一轮次中都使用多个子密钥,子密钥是由主 密钥生成,将128位的密钥扩展成52个16位的循环密钥, 加密和解密的密钥扩展方式是不同的,但操作是一样的。
加密循环密钥的产生
加密的基本方法
替代密码——多表替代密码
由多个简单的代替密码构成,如可能使用5个不同 的单表替代密码,单独的一个字符用来改变明文的 每个字符的位臵。
数据加密标准——DES
• DES是由IBM公司在70年代发展起来的,并 经过加密标准筛选后,于1976年11月被美 国政府采用,并被美国国家标准局和美国 国家标准协会(ANSI) 承认。
RSA的算法原理
RSA的基础——数学算法
同余运算:若a-b可被m整除,则a,b对m同余。 欧拉同余定理: a
r
1mod r
,a与r互质,
φ(1)为r的欧拉指标函数。
RSA的关键——密钥对的生成
利用欧拉定理,算出加密密钥PK和解密密钥SK
RSA的实施——加密与解密
分别利用PK和SK对明/密文进行加密和解密。
3A78 Data
3
B用自己的Private Key 对数据进行解密。
柯克霍夫斯原则
密码系统中的算法即使被密码分析员所掌握, 也应该无助于用来推导出明文或密钥。
柯克霍夫斯原则为什么成为密码系统设计的重要原则
算法是相对稳定的,经过一定次数或一定时间的使用,难免 被攻击者所获取。 其次,在某种场合可能使用某类密码更为合适,再加上某些 设计家对某种密码系统有所偏爱等因素,都可能导致攻击者 “猜出”密码算法。 更为重要的是,通常只要经过一些统计实验和其它测试就不 难分辨出不同的密码类型。 因此,将安全性依赖于密码算法,认为密码分析员不可能掌 握密码系统算法,是一种很危险的想法。
乙
随机产生
甲
RSA算法
IBM C ompatible
SK
PK
PK
IBM C ompatible
密文
Internet
明文
PK
密文
RSA的安全性
RSA安全性的理论基础
将两个大的质数合成一个大数很容易,反之很难。
公钥和私钥都是两个大素数(大于100位)的函数。 从一个密钥和密文推断出明文的难度等同于分解两 个大素数的积。
基本概念——加/解密
加密算法 及密钥
加密过程
Data
解密过程 明 文
解密算法 及密钥
3A78
密 文
算法是一些公式、法则或程序,规定了明文与密文之 间的变换方法。 密钥可以看作是算法中的参数,即指示和控制明文与 密文间变换的参数,也是唯一能控制明文与密文之间 变换的关键,它由使用密码体制的用户随机选取。
电子政务安全 技术保障
褚峻 苏震 编 中国人民大学出版社
主 要 内 容
1. 电子政务系统安全 2. 数据加密技术 3. 信息隐藏技术 4. 安全认证技术 5. 病毒防范系统 6. 防火墙系统 7. 入侵检测系统 8. 物理隔离系统 9. 虚拟专用网 10.电子政务安全解决方案
2.数据加密技术
2.1密码学基础
40 2s
56 35 h
64 1y
80 70000 y
112 1014 y
128 1019 y
$ 1M
$ 10M $ 100M
0.2 s
0.02 s 2 ms
3.5 h
21 m 13 s
37 d
4d 9h
7000 y
700 y 70 y
1013 y
1012 y 1011 y
1018 y
1017 y 1016 y
can you understand
fdqbrxxqghuvwdqg
加密的基本方法
替代密码——同音替代密码
类似于单表替代方法,所不同的是单个字符明 文可以映射为密文的几个字符之一。 例如,A可能对应于5、13、26等,那么A在密 文中可能有5、13、26等不同的替代方法。这 样加密时的替换是随机不确定的,但解密时的 替换是唯一确定的。 268766
a
5 13 26
16 87 40 23 31 66
d
day
264023
131631
y
加密的基本方法
替代密码——多字母替代密码
它是单字母代替密码算法的扩展,可以将一组字符 (包括文字、单词、语句或短文)分别用各自不同 的其它文字群来代替。例如,ABA可以替换为RTQ, ABB可以替换为SLL等。 例如,二战中使用的playfair密码——两字母替代 密码。