密码技术基础
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
是论述使明文变得不可懂以及把已加密的消息变 换成可懂形式的艺术和技巧。
是密写的科学和研究科目。一种密码就是一种密 写的方法,利用它,就可以把明文变换成密文。 把明文变换成密文的过程叫做加密;其逆过程, 把密文变换成明文的过程叫做解密;加密和解密 都是用一个或多个密钥来控制的。
密码分析学
是密码学的一个分支,它和密Hale Waihona Puke Baidu学的另一个分支学科— —密码编码学是两个相互对立、相互依存、相辅相成、 相互促进的学科。
按照明文的处理方法分类
分组密码:将明文分成固定长度的组,用 同一密钥和算法对每一块加密,输出也是 固定长度的密文。——DES、IDEA、RC2、 RC4、RC5
流密码:又称序列密码,序列密码每次加 密一位或一字节的明文。——一次一密密 码(OTP,One-time pad)、维吉尼亚密 码(Vigenere)、Vernam
y=h+s,e+e,l+c,l+r,o+e,h+t,o+s,w+e,a+c,r+r,e +e,y+t,o+s,u+e
=25,8,13,28,18,26,32,26,2, 34,8,43,32,24
=zincsagaciirgy
多表周期密码
一次一密乱码本(1917)
报文
secret
密码编码学:主要研究对信息进行编码, 实现对信息的隐蔽。
密码分析学:主要研究加密消息的破译或 消息的伪造。
密码编码学
是密码学的一个分支,它研究与信息安全(例如: 机密性、数据完整性、实体鉴别及数据源鉴别) 方面有关的数学技术。
是包含有数据变换的原理、工具和方法的一门学 科,这种数据变换的目的是为了隐藏数据的信息 内容,阻止对数据的窜改以及防止未经认可使用 数据。
实际工作中一般选择指数实际计算值比较大 (>5.5)的做参考。
计算出各个密钥之间的关系后,用穷尽法计算真 正的密钥。
多字母代替密码
希尔密码
使用N阶可逆矩阵K 把明文变成行向量或列向量,按照K的大小
(N)进行分组 加密的话,行向量右乘,列向量左乘 解密的话,行向量再右乘可逆阵,列向量再左
思想: 1)如果明文中的两个三个字母组出现的间隔
是密钥长度的一定倍数,那么在密文中它们被 加密成同样的三字母组。在密文中出现的三字 母组之间的间隔就可能是密钥长度的倍数。 2)在密文中寻找多次出现的每一个三字母 组,计算每次出现的所有间隔具体的最大公约 数。
Friedman攻击
重合指数
基于密钥(key-based)的算法:算法的保 密性基于对密钥的保密。
按密钥算法和密钥特点分类
对称密码算法:加密密钥和解密密钥相 同,或实质上等同,即从一个易于推出另 一个。又称传统密码算法、秘密密钥算法 或单密钥算法。——DES、3DES、IDEA、 AES
非对称密码算法:加密密钥和解密密钥不 同,从一个很难推出另一个。又叫公钥密 码算法。其中的加密密钥可以公开,称为 公开密钥,简称公钥;解密密钥必须保 密,称为私人密钥(private key),简称私 钥。——RSA、ECC、ElGamal
(1)移位密码算法
。
设P=C=K=Z/(26),对k∈ K,定义:
ek(x)=x+k (mod 26)=y∈C,同时,dk(y)=y-k (mod
26)
1)26个英文字母与模26剩余类集合{0,….,25}建立 一一对应关系。
¾ 2)当k=3时,为Caesar密码 ¾ 例子: cipher => FLSKHU
密码分析依赖于自然语言的多余度,使用“分析—假设— 推断—证实(或否定)”的四步作业方法,基本数学工具 是统计分析、数学演绎和归纳。
其他基本概念
明文和密文 加密与解密 密码算法、加密算法和解密算法 对称算法和非对称算法 扩散和混淆 置换、移位、代替 信息隐藏和数字水印
扩散和混淆
周期换位密码(periodic permutation cipher)
列换位密码举例
输 输入方向
出 方
CANY
向 OUUN
DERS
T AND
明文: Can you understand
密文: Codtaueanurnynsd
周期换位密码举例
假定有一个周期是4的换位密码,其密钥是 i=1, 2, 3, 4的一个置换f(i)=3, 4, 2, 1。 明文:can you understand 加密时先将明文分组,每组4个字母,然后根据密钥所规定
是企图挫败密码技术以及更一般说来的信息安全业务的 数学技术学科。
是对密码体制、密码体制的输入输出关系进行分析,以 便推出机密变量、包括明文在内的敏感数据。
在密码学中,在不知道加密算法所使用的密钥的情况 下,将已被加密的消息转换成明文要做的步骤和操作, 称作密码分析,有时又称作密码破译(code breaking)。
5
基本概念
中国信息安全产品测评认证中心 www.itsec.gov.cn
主要内容
基本概念
密码学(Cryptology) 密码编码学(Cryptography) 密码分析学(Cryptanalytics) 其他基本概念
密码学分类
密码学
密码学:研究信息系统安全保密的科学。 由两个相互对立、相互斗争,而且又相辅 相成、相互促进的分支科学所组成的,分 别称为密码编码学和密码分析学。
香农提出一个好的密码将融合“混淆”和“扩 散”。
扩散(Diffusion) :将每一位明文数字的 影响尽可能地散布到多个输出密文数字中 去,以更隐蔽明文数字的统计特性。
混乱(Confusion):使得密文的统计特性 与明文、密钥之间的关系尽量复杂化。
置换/移位和代替
代替:就是明文中的每一个字符被替换成 密文中的另一个字符。接收者对密文做反 向替换就可以恢复出明文。
(11,24),有
(9,20 )⎜⎜⎝⎛131
8 7
⎟⎟⎠⎞
=
(99
+
60 ,72
+ 140 )(mod
26 )
=
(3,4)
且于:是对(11ju,l2y4加)⎜⎜⎝⎛密131的结87 ⎟⎟⎠⎞果=为(1D2E1L+W72。,88 + 168 )(mod 26 ) = (11,22 )
Hill密码举例( cont. )
对称密码算法
中国信息安全产品测评认证中心 www.itsec.gov.cn
主要内容
古典对称算法
代替密码
• 单字母代替
– 单表代替密码 – 多表代替密码
• 多字母代替
换位密码
• 列换位密码 • 周期换位密码
现代对称算法
代替密码基本概念
单字母代替密码:在加密时将明文消息划 分为长度为1的消息单元(明文组),又称 流密码。
3)实际算法为:∀x ∈ P
加密:y = e3 ( x) = x + 3(mod 26 )
解密:x = d 3 ( y) = y − 3(mod 26 )
Caesar Cipher
Caesar Cipher, c. 50 B.C. A B C D E F G …… X Y Z D E F G H I J …… A B C 明文:Caesar cipher is a shift
18 5 3 17 5 19
OTP + 15 8 1 12 19 5
7 13 4 3 24 24
gmdc x x
OTP(one-time pad )从理论上是不可 破的:
不重复使用乱码本(VENONA) 使用不可预知的随机数(物理源,如放射性衰
减)
多表周期替代密码算法的攻击
Kasiski攻击(密钥长度的确定)
多字母代替密码:在加密时将明文消息划 分为长度为L(L>1)的消息单元(明文 组),又称分组密码。
单表代替密码:又称简单代替密码,明文 的一个字符用相应的一个密文字符代替。
多表代替密码:明文中的字符映射到密文 空间的字符还依赖于它在上下文中的位置。
代替密码算法
y=ax+b,其中a不为0,a,b为整数
• y=y0,y1,y2,y3,….,yn • z=z0,z1,z2,z3,….,zn 比较yi,zi,if yi=zi,计数=计数+1,index=计数/n
z为y向前移L位得到的字符流
确定密钥长度(假定为英文)
如果L为密钥长度倍数,则重合指数=0.067 如果L不为密钥长度倍数,则指数=0.047或更
密码技术基础
中国信息安全产品测评认证中心 www.itsec.gov.cn
编号:CISP-06-密码技术基础 版本:1.1 日期:2007年3月
江典盛 010-68428899-8056 msn & email: jdsjdt2001@yahoo.com
目录
1 基本概念 2 对称密码算法 3 非对称密码算法 4 密码学应用
定义:ek(x)=kx (mod 26)和dk(y)=yk-1(mod 26)
例子: k=9
ABCDEFGHIJKLMNOPQRSTUVWXYZ AJSBKTCLUDMVENWFOXGPYHQZIR 明文 密文 cipher => SUFLKX
(3)仿射密码
a=3,b=11 则f(hello)
substitution 密文:FDHVDU FLSKHU LV D
VKLIW VXEVWLWXWLRQ
用数学来描述:C=M+3 mod(26)
(2)乘数密码算法
算法描述:
设P=C=Z/(26), K={a∈Z/(26) |gcd(a,26)=1},
对k∈K, x,y ∈Z/(26)
数字水印(Digital Watermarking):用信 号处理的方法在数字化的多媒体数据中嵌 入隐蔽的标记。这种标记通常是不可见 的,只有通过专门的检测器或阅读器才能 提取。
密码学分类
受限制的算法和基于密钥的算法 对称密码和非对称密码 分组密码和流密码
按照保密的内容分类
受限制的(restricted)算法:算法的保密 性基于保持算法的秘密。
为了解密,Bob计算
且
(3,
4
)⎜⎜⎝⎛
7 23
18 11
⎟⎟⎠⎞
=
( 9 , 20
)
(11
, 22
)
⎜⎜⎝⎛
7 23
18 11
⎟⎟⎠⎞
=
(11 , 24
)
因此,得到了正确的明文“july”
换位密码
换位密码是根据一定的规则重新安排明文 字母,使之成为密文。最常用的换位密码 有两种:
列换位密码(columnar transposition cipher)
小
得到可能性非常大的长度m后,再从密文中取出 用同一密钥位(kj)加密的字符组成新的密文串
y(0)=y0,ym,y2m,y3m,…. y(1)=y1,ym+1,y2m+1,y3m+1,….
将y(i)分别和y(j)移位t(0-25)位后计算重合指数,如 果t=ki-kj,则index=0.064,其他0.047
a=1,则f(x)=x+b,移位密码算法
• b=3,凯撒密码
a不等于1,b=0,则f(x)=ax,乘数密码算法 a不等于1,b>0,则f(x)=ax+b,仿射密码算法
x{ }为明文,k{ }为密钥,
y=x{}+k{} 如果x的个数小于k的个数,则为维 吉尼亚密码
y=x{}+k{} 如果x的个数等于k的个数,则OTP 密码
在字母表范围内移动字母。
置换:又称换位密码,明文的字母保持相 同,但顺序被打乱了。
在明文内变动字母的位置。
信息隐藏和数字水印
信息隐藏(Information Hiding):又称信 息伪装(Steganography ),就是通过减 少载体的某种冗余,如空间冗余、数据冗 余等,来隐藏敏感信息,达到某种特殊的 目的,如保密通信、版权保护及用户追踪 等。
=7*3+11,4*3+11,11*3+11,11*3+11, 14*3+11 =32,23,44,44,53 =6,23,18,18,1 =gxssb ABCDEFGHIJKLMNOPQRSTUVWXYZ IORUX…..
(4)维吉尼亚密码(多表替代)
字母空间{英文字符} 假设x=(hellohowareyou),k=(secret)
乘可逆阵
Hill密码举例
例子:当 n=2时,明文元素x=(x1,x2),密文元素y=(y1,y2),
若密钥k为:k = ⎜⎜⎝⎛131 则加密为:
8 7 (
⎟⎟⎠⎞ ,可得: y1, y2 ) = (x1,
x2
)⎜⎜⎝⎛131
78 ⎟⎟⎠⎞
k −1
=
⎜⎜⎝⎛
7 23
18 11
⎟⎟⎠⎞
若对明文july加密,将它分成2个元素(j,u),(l,y),分别对应于(9,20),
是密写的科学和研究科目。一种密码就是一种密 写的方法,利用它,就可以把明文变换成密文。 把明文变换成密文的过程叫做加密;其逆过程, 把密文变换成明文的过程叫做解密;加密和解密 都是用一个或多个密钥来控制的。
密码分析学
是密码学的一个分支,它和密Hale Waihona Puke Baidu学的另一个分支学科— —密码编码学是两个相互对立、相互依存、相辅相成、 相互促进的学科。
按照明文的处理方法分类
分组密码:将明文分成固定长度的组,用 同一密钥和算法对每一块加密,输出也是 固定长度的密文。——DES、IDEA、RC2、 RC4、RC5
流密码:又称序列密码,序列密码每次加 密一位或一字节的明文。——一次一密密 码(OTP,One-time pad)、维吉尼亚密 码(Vigenere)、Vernam
y=h+s,e+e,l+c,l+r,o+e,h+t,o+s,w+e,a+c,r+r,e +e,y+t,o+s,u+e
=25,8,13,28,18,26,32,26,2, 34,8,43,32,24
=zincsagaciirgy
多表周期密码
一次一密乱码本(1917)
报文
secret
密码编码学:主要研究对信息进行编码, 实现对信息的隐蔽。
密码分析学:主要研究加密消息的破译或 消息的伪造。
密码编码学
是密码学的一个分支,它研究与信息安全(例如: 机密性、数据完整性、实体鉴别及数据源鉴别) 方面有关的数学技术。
是包含有数据变换的原理、工具和方法的一门学 科,这种数据变换的目的是为了隐藏数据的信息 内容,阻止对数据的窜改以及防止未经认可使用 数据。
实际工作中一般选择指数实际计算值比较大 (>5.5)的做参考。
计算出各个密钥之间的关系后,用穷尽法计算真 正的密钥。
多字母代替密码
希尔密码
使用N阶可逆矩阵K 把明文变成行向量或列向量,按照K的大小
(N)进行分组 加密的话,行向量右乘,列向量左乘 解密的话,行向量再右乘可逆阵,列向量再左
思想: 1)如果明文中的两个三个字母组出现的间隔
是密钥长度的一定倍数,那么在密文中它们被 加密成同样的三字母组。在密文中出现的三字 母组之间的间隔就可能是密钥长度的倍数。 2)在密文中寻找多次出现的每一个三字母 组,计算每次出现的所有间隔具体的最大公约 数。
Friedman攻击
重合指数
基于密钥(key-based)的算法:算法的保 密性基于对密钥的保密。
按密钥算法和密钥特点分类
对称密码算法:加密密钥和解密密钥相 同,或实质上等同,即从一个易于推出另 一个。又称传统密码算法、秘密密钥算法 或单密钥算法。——DES、3DES、IDEA、 AES
非对称密码算法:加密密钥和解密密钥不 同,从一个很难推出另一个。又叫公钥密 码算法。其中的加密密钥可以公开,称为 公开密钥,简称公钥;解密密钥必须保 密,称为私人密钥(private key),简称私 钥。——RSA、ECC、ElGamal
(1)移位密码算法
。
设P=C=K=Z/(26),对k∈ K,定义:
ek(x)=x+k (mod 26)=y∈C,同时,dk(y)=y-k (mod
26)
1)26个英文字母与模26剩余类集合{0,….,25}建立 一一对应关系。
¾ 2)当k=3时,为Caesar密码 ¾ 例子: cipher => FLSKHU
密码分析依赖于自然语言的多余度,使用“分析—假设— 推断—证实(或否定)”的四步作业方法,基本数学工具 是统计分析、数学演绎和归纳。
其他基本概念
明文和密文 加密与解密 密码算法、加密算法和解密算法 对称算法和非对称算法 扩散和混淆 置换、移位、代替 信息隐藏和数字水印
扩散和混淆
周期换位密码(periodic permutation cipher)
列换位密码举例
输 输入方向
出 方
CANY
向 OUUN
DERS
T AND
明文: Can you understand
密文: Codtaueanurnynsd
周期换位密码举例
假定有一个周期是4的换位密码,其密钥是 i=1, 2, 3, 4的一个置换f(i)=3, 4, 2, 1。 明文:can you understand 加密时先将明文分组,每组4个字母,然后根据密钥所规定
是企图挫败密码技术以及更一般说来的信息安全业务的 数学技术学科。
是对密码体制、密码体制的输入输出关系进行分析,以 便推出机密变量、包括明文在内的敏感数据。
在密码学中,在不知道加密算法所使用的密钥的情况 下,将已被加密的消息转换成明文要做的步骤和操作, 称作密码分析,有时又称作密码破译(code breaking)。
5
基本概念
中国信息安全产品测评认证中心 www.itsec.gov.cn
主要内容
基本概念
密码学(Cryptology) 密码编码学(Cryptography) 密码分析学(Cryptanalytics) 其他基本概念
密码学分类
密码学
密码学:研究信息系统安全保密的科学。 由两个相互对立、相互斗争,而且又相辅 相成、相互促进的分支科学所组成的,分 别称为密码编码学和密码分析学。
香农提出一个好的密码将融合“混淆”和“扩 散”。
扩散(Diffusion) :将每一位明文数字的 影响尽可能地散布到多个输出密文数字中 去,以更隐蔽明文数字的统计特性。
混乱(Confusion):使得密文的统计特性 与明文、密钥之间的关系尽量复杂化。
置换/移位和代替
代替:就是明文中的每一个字符被替换成 密文中的另一个字符。接收者对密文做反 向替换就可以恢复出明文。
(11,24),有
(9,20 )⎜⎜⎝⎛131
8 7
⎟⎟⎠⎞
=
(99
+
60 ,72
+ 140 )(mod
26 )
=
(3,4)
且于:是对(11ju,l2y4加)⎜⎜⎝⎛密131的结87 ⎟⎟⎠⎞果=为(1D2E1L+W72。,88 + 168 )(mod 26 ) = (11,22 )
Hill密码举例( cont. )
对称密码算法
中国信息安全产品测评认证中心 www.itsec.gov.cn
主要内容
古典对称算法
代替密码
• 单字母代替
– 单表代替密码 – 多表代替密码
• 多字母代替
换位密码
• 列换位密码 • 周期换位密码
现代对称算法
代替密码基本概念
单字母代替密码:在加密时将明文消息划 分为长度为1的消息单元(明文组),又称 流密码。
3)实际算法为:∀x ∈ P
加密:y = e3 ( x) = x + 3(mod 26 )
解密:x = d 3 ( y) = y − 3(mod 26 )
Caesar Cipher
Caesar Cipher, c. 50 B.C. A B C D E F G …… X Y Z D E F G H I J …… A B C 明文:Caesar cipher is a shift
18 5 3 17 5 19
OTP + 15 8 1 12 19 5
7 13 4 3 24 24
gmdc x x
OTP(one-time pad )从理论上是不可 破的:
不重复使用乱码本(VENONA) 使用不可预知的随机数(物理源,如放射性衰
减)
多表周期替代密码算法的攻击
Kasiski攻击(密钥长度的确定)
多字母代替密码:在加密时将明文消息划 分为长度为L(L>1)的消息单元(明文 组),又称分组密码。
单表代替密码:又称简单代替密码,明文 的一个字符用相应的一个密文字符代替。
多表代替密码:明文中的字符映射到密文 空间的字符还依赖于它在上下文中的位置。
代替密码算法
y=ax+b,其中a不为0,a,b为整数
• y=y0,y1,y2,y3,….,yn • z=z0,z1,z2,z3,….,zn 比较yi,zi,if yi=zi,计数=计数+1,index=计数/n
z为y向前移L位得到的字符流
确定密钥长度(假定为英文)
如果L为密钥长度倍数,则重合指数=0.067 如果L不为密钥长度倍数,则指数=0.047或更
密码技术基础
中国信息安全产品测评认证中心 www.itsec.gov.cn
编号:CISP-06-密码技术基础 版本:1.1 日期:2007年3月
江典盛 010-68428899-8056 msn & email: jdsjdt2001@yahoo.com
目录
1 基本概念 2 对称密码算法 3 非对称密码算法 4 密码学应用
定义:ek(x)=kx (mod 26)和dk(y)=yk-1(mod 26)
例子: k=9
ABCDEFGHIJKLMNOPQRSTUVWXYZ AJSBKTCLUDMVENWFOXGPYHQZIR 明文 密文 cipher => SUFLKX
(3)仿射密码
a=3,b=11 则f(hello)
substitution 密文:FDHVDU FLSKHU LV D
VKLIW VXEVWLWXWLRQ
用数学来描述:C=M+3 mod(26)
(2)乘数密码算法
算法描述:
设P=C=Z/(26), K={a∈Z/(26) |gcd(a,26)=1},
对k∈K, x,y ∈Z/(26)
数字水印(Digital Watermarking):用信 号处理的方法在数字化的多媒体数据中嵌 入隐蔽的标记。这种标记通常是不可见 的,只有通过专门的检测器或阅读器才能 提取。
密码学分类
受限制的算法和基于密钥的算法 对称密码和非对称密码 分组密码和流密码
按照保密的内容分类
受限制的(restricted)算法:算法的保密 性基于保持算法的秘密。
为了解密,Bob计算
且
(3,
4
)⎜⎜⎝⎛
7 23
18 11
⎟⎟⎠⎞
=
( 9 , 20
)
(11
, 22
)
⎜⎜⎝⎛
7 23
18 11
⎟⎟⎠⎞
=
(11 , 24
)
因此,得到了正确的明文“july”
换位密码
换位密码是根据一定的规则重新安排明文 字母,使之成为密文。最常用的换位密码 有两种:
列换位密码(columnar transposition cipher)
小
得到可能性非常大的长度m后,再从密文中取出 用同一密钥位(kj)加密的字符组成新的密文串
y(0)=y0,ym,y2m,y3m,…. y(1)=y1,ym+1,y2m+1,y3m+1,….
将y(i)分别和y(j)移位t(0-25)位后计算重合指数,如 果t=ki-kj,则index=0.064,其他0.047
a=1,则f(x)=x+b,移位密码算法
• b=3,凯撒密码
a不等于1,b=0,则f(x)=ax,乘数密码算法 a不等于1,b>0,则f(x)=ax+b,仿射密码算法
x{ }为明文,k{ }为密钥,
y=x{}+k{} 如果x的个数小于k的个数,则为维 吉尼亚密码
y=x{}+k{} 如果x的个数等于k的个数,则OTP 密码
在字母表范围内移动字母。
置换:又称换位密码,明文的字母保持相 同,但顺序被打乱了。
在明文内变动字母的位置。
信息隐藏和数字水印
信息隐藏(Information Hiding):又称信 息伪装(Steganography ),就是通过减 少载体的某种冗余,如空间冗余、数据冗 余等,来隐藏敏感信息,达到某种特殊的 目的,如保密通信、版权保护及用户追踪 等。
=7*3+11,4*3+11,11*3+11,11*3+11, 14*3+11 =32,23,44,44,53 =6,23,18,18,1 =gxssb ABCDEFGHIJKLMNOPQRSTUVWXYZ IORUX…..
(4)维吉尼亚密码(多表替代)
字母空间{英文字符} 假设x=(hellohowareyou),k=(secret)
乘可逆阵
Hill密码举例
例子:当 n=2时,明文元素x=(x1,x2),密文元素y=(y1,y2),
若密钥k为:k = ⎜⎜⎝⎛131 则加密为:
8 7 (
⎟⎟⎠⎞ ,可得: y1, y2 ) = (x1,
x2
)⎜⎜⎝⎛131
78 ⎟⎟⎠⎞
k −1
=
⎜⎜⎝⎛
7 23
18 11
⎟⎟⎠⎞
若对明文july加密,将它分成2个元素(j,u),(l,y),分别对应于(9,20),