当前位置:文档之家› 数字身份认证技术第二章

数字身份认证技术第二章


代换密码
• “凯撒挪移码” • 古罗马恺撒大帝用来保护重要军情的加密系统,也称凯撒 移位。通过将字母按顺序推后起3位起到加密作用,如将 字母A换作字母D,将字母B换作字母E。 • pigpen cipher • 用一个符号来代替一个字母,把26个字母写进如图2-5所 示的四个表格中,然后加密时用这个字母所挨着表格的那 部分来代替。
扩散和混乱
• 扩散(diffusion)和混乱(confusion)是 影响密码安全的主要因素。在各种密码算 法中都在想方设法增加扩散和混乱的程度 ,以增强密码强度。
• 扩散的是让明文中的单个数字影响密文中的多个数字,从 而使明文的统计特征在密文中消失,相当于明文的统计结 构被扩散。 • 混乱是指让密钥与密文的统计信息之间的关系变得复杂, 从而增加通过统计方法进行攻击的难度。
序列密码结构
• 序列密码分为同步序列密码和自同步序列密码
序列密码与分组密码的对比
• 分组密码以一定长度的分组作为每次处理的基本单元,而 序列密码则是以一个元素(一个字母或一个比特)作为基 本的处理单元。 • 序列密码是一个随时间变化的加密变换,具有转换速度快 、低错误传播的优点,硬件实现电路更简单;其缺点是: 低扩散(意味着混乱不够)、插入及修改的不敏感性。 • 分组密码使用的是一个不随时间变化的固定变换,具有扩 散性好、插入敏感等优点;其缺点是:加解密处理速度慢 、存在错误传播。
分组密码的结构
轮函数F,有时也称“圈函数”,是经过精心设计的,是分组密码的核 心。F函数一般基于代换-置换网络,代换可以起到混乱作用,而置换可 以提供扩散作用。这样经过多轮变换,不断进行代换-置换-代换-置换 ,最终实现高强度的加密结果。
DES
• DES算法全称为Data Encryption Standard ,即数据加密标准,它是IBM公司于1975 年研究成功的,1977年被美国政府正式采 纳作为数据加密标准。DES使用一个56位 的密钥作为初始秘钥(如果初始秘钥输入 64位,则将其中8位作为奇偶校验位),加 密的数据分组是64位,输出密文也是64位 。
保密通信的过程
相关术语
• 明文:是作为加密输入的原始信息,即消息的原始形式,通 常用m或p表示。所有可能明文的有限集称为明文空间,通常 用M或P来表示。 • 密文:是明文经加密变换后的结果,即消息被加密处理后的 形式,通常用c表示。所有可能密文的有限集称为密文空间, 通常用C来表示。 • 密钥:是参与密码变换的参数,通常用k表示。一切可能的密 钥构成的有限集称为密钥空间,通常用K表示。 • 加密算法:是将明文变换为密文的变换函数,相应的变换过 程称为加密,即编码的过程(通常用E表示,即c=Ek(p))。 • 解密算法:是将密文恢复为明文的变换函数,相应的变换过 程称为解密,即解码的过程(通常用D表示,即p=Dk(c))。
2.4 非对称密码体制
• 非对称密码体制也叫公开密钥密码体制、双密钥 密码体制。其原理是加密密钥与解密密钥不同, 形成一个密钥对,用其中一个密钥加密的结果, 可以用另一个密钥来解密。 • 公开密钥密码体制的产生主要基于以下两个原因 :一是为了解决常规密钥密码体制的密钥管理与 分配的问题;二是为了满足对数字签名的需求。 因此,公钥密码体制在消息的保密性、密钥分配 和认证领域有着重要的意义。
对称密码体制
• 对称密码体制也称为秘密密钥密码体制、单密钥密码体制或常 规密码体制,对称密码体制的基本特征是加密密钥与解密密钥 相同。 • 对称密码算法的优缺点 • (1)优点:加密、解密处理速度快、保密度高等。 • (2)缺点: • ① 密钥分发困难 • ② 多人通信时密钥组合的数量会出现爆炸性膨胀,使密钥分发 更加复杂化 • ③ 通信双方必须统一密钥,才能发送保密的信息。 • ④ 数字签名困难
密码分析的五种方式
• • • • • 1、惟密文攻击(Ciphertext only) 2、已知明文攻击(Known plaintext) 3、选择明文攻击(Chosen plaintext) 4、选择密文攻击(Chosen ciphertext) 5、选择文本攻击(Chosen text)
2.2古典密码
代换密码
. . .
H E L L O
.. . .
W O R L D
代换密码
• 跳舞的小人 • 福尔摩斯探案集
Am here Abe Slaney At Elriges Come Elsie Never Elsie prepare to meet thy god Come here an once
隐写术
• 公元前440年在古希腊战争中出现过隐写术 。当时为了安全传送军事情报,奴隶主剃 光奴隶的头发,将情报写在奴隶的光头上 ,待头发长长后将奴隶送到另一个部落, 再次剃光头发,原有的信息复现出来,从 而实现这两个部落之间的秘密通信。
隐写术
• • • • 芦花丛中一扁舟, 俊杰俄从此地游, 义士若能知此理, 反躬难逃可无忧。
换位密码
• 例4 假设换位密码的加密方式如图所示
• 加密明文:David is a Russian spy, • 得到的密文是:DDRIP AIUAY VSSN IASS。 • 空格的部分一般按照约定以特定字符如A补足, 或者直接留空。
代换密码
• 代换,也称“代替”、“替换”,就是将字符用其 他字符或图形代替,以隐藏消息。 • 在公元前2世纪,在古希腊出现了Polybius校验表 ,这个表实际是将字符转换为数字对(两个数字) 。

D0(28bit) LS1 D1(28bit) LS2

PC-2
K1
LS16 C16(28bit)
LS16 D16(28bit) PC-2 K16
轮函数中的 代换S盒
其他典型的分组密码
• • • • AES算法 Camellia算法 IDEA国际数据加密算法 RC系列密码算法
序列密码
• 序列密码也称为流密码(Stream Cipher),它是 对称密码算法的一种。序列密码具有实现简单、 便于硬件实施、加解密处理速度快、没有或只有 有限的错误传播等特点,因此在实际应用中,特 别是专用或机密机构中保持着优势,典型的应用 领域包括网络通信、无线通信、外交通信等。 • 如果序列密码所使用的是真正随机方式的、与消 息流长度相同的密钥流,则此时的序列密码就是 一次一密的密码体制。
换位密码
• 美国南北战争
输入方向
输 出 方 向
换位密码
C O D T
A U E A
N U R N
Y N S D
换位密码
• 例1 假设换位密码是如下置换,每五位为一 组进行置换:
• 加密明文:Who is undercover,得密文: OIWSH DEURN VECRO。
换位密码
• 例2 假设密钥以单词形式给出:china,根 据各字母在26个英文字符中的顺序,可以 确定置换为:23451,加密明文:Kill Baylor,得到密文:ILLBK YLORA。 • 例3 假设换位密码的密钥为如下图所示的映 射: • 则加密明文:Six dollars per ton,得到密 文:DLALSXIO ETNORPSR。
• 密码学的发展大致经历了古典密码、现代密码和 公钥密码三个阶段。1949年Shannon发表的“保 密系统的通信理论”(The Communication Theory of Secrecy Systems),将密码学纳入通 信理论的研究范畴,奠定了密码学的数学基础, 1976年W.Diffie和M.Hellman发表的“密码学的新 方向”(New Directions in Cryptography),提 出公钥密码思想,开辟了密码学的新领域,也为 数字签名奠定了基础。
Am At E Com Ne
Elsie mee
Come
代换密码
Am here Abe Slaney At Elriges Come Elsie Never Elsie prepare to meet thy god Come here an once
代换密码
• 多表代换 • 如代换密钥字为:six,各字母对应的数字编号为:18、8 、23,这相当于三个移位变换: y ( x 18) mod26 y ( x 8) mod26 y ( x 23) mod26 • 加密明文:Cryptography is not complicated。 • 得到密文:UZVHBLYZXHPVAAKGBZGUMDQZSBBV。
DES流程图
输入(64bit) 初始置换IP
L0(32bit)
R0(32bit)
+
L1 R0
f
K1(48bit) 16轮运算
R1 L0 f R0 , K1
„„
逆初始置换IP-1 输出(64bit)
DES算法轮函数
Ri-1(32bit) E E(Ri-1)(48bit) Ki(48bit)
两种密码体制比较
RSA公钥密码体制
• RSA公钥加密算法是1977年由Ron Rivest、Adi Shamirh 和LenAdleman在(美国麻省理工学院)开发的。RSA取 名来自开发他们三者的名字。 • RSA算法描述:
RSA算法的简单例子
RSA算法特点
• RSA的安全性依赖于大数的因子分解,但并没有 从理论上证明破译RSA的难度与大数分解难度等 价。 • RSA的缺点主要有:①产生密钥很麻烦,受到素 数产生技术的限制,因而难以做到一次一密。② 分组长度太大,为保证安全性,n 至少也要 600bits以上,使运算代价很高,尤其是速度较慢 ,较对称密码算法慢几个数量级;且随着大数分 解技术的发展,这个长度还在增加,不利于数据 格式的标准化。
分组密码
• 分组密码和序列密码是现代密码学加密方 法,都是先将明文消息编码为数字序列, 然后再使用特定方式加密的密码体制。分 组密码是将明文消息编码表示后的数字( 简称明文数字)序列,划分成长度为n的组 (可看成长度为n的矢量),每组分别在密 钥的控制下变换成等长的输出数字(简称 密文数字)序列。
相关主题