信息安全-第三章-密码学基本理论
密码学基本理论
本章主要是围绕密码学展开,包括基本概念,密钥体制,加解密等。
概念
密码学是一门研究信息安全保护的科学,以实现信息的保密性、完整性、可用性以及抗抵赖性。
密码学分为密码编码和密码分析两部分。
- 密码编码,研究信息的变换处理以实现信息保护
- 密码分析研究通过密文获取对应明文的技术。
早期的密码主要用于军事和外交通信。
传统密码学技术为换位和置换,1949年香农《保密系统的通信理论》提出交替使用换位和置换,增加混乱扩散的密码技术方法。
2005年4月1日 《中华人民共和国电子签名法》
2019年 《中华人民共和国密码法》
1999年《商用密码管理条例》
密码安全性分析
唯密文攻击:只拥有一个或多个用同一密钥加密的密文
已知明文攻击:已知当前密钥下的明文和对应密文
选择明文攻击:已知当前密钥自己选定的明文对应的密文
密文验证攻击:可知任何选定的密文“是否合法”的判断
选择密文攻击:任何选定的密文对应的明文
密码体制
- 私钥密码体制
对称密码体制,加解密使用同一密钥。网络n个密码使用者,密钥数量为n*(n-1)/2.
优点:速度快,简单
缺点:密钥数量多,传递不安全。
典型算法:DES、IDEA、AES
- 公钥密码体制
1976年,W.Diffie、M.E.Hellman《密码学的新方向》提出公钥密码体制。又称非对称密码体制。
加解密使用不同密钥,加密密钥可以公开,解密密码保管即可。
典型:RSA体制、ELGamal体制、椭圆曲线密码体制
常见密码算法介绍
DES:
数据加密标准,IBM公司研制,分组密码算法,支持64比特的明文块加密,密钥长度为56比特。三重DES,TDEA诞生,采用“加密-解密-加密”操作。
加密过程:I ->DES Ek1-> DES Dk2->DES Ek3 ->O
解密过程:I ->DES Dk3->DES Ek2->DES Dk3->O
IDEA:
国际数据加密算法,分组加密算法,明文和密文都是64比特,密钥长度为128比特。
AES:
分组密码算法,128比特密码,密钥128、192、256比特。
RSA:
非对称密码算法,1977年3个人一起公开发布。公钥和私钥都可以用于加密,加密密钥和解密密钥相反。
计算过程:略
国产加密算法:
算法名称 | 算法特性 | 备注 |
---|---|---|
SM1 | 对称加密,分组长度和密钥的长度都为128比特 | |
SM2 | 非对称加密,用于公钥加密算法、密钥交换协议、数字签名算法 | |
SM3 | 杂凑算法,杂凑值长度为256比特 | |
SM4 | 对称加密算法,分组长度和密钥的长度都为128比特 | |
SM9 | 标识密码算法 |
Hash函数与Hash算法
杂凑算法简称Hash函数,能够将任意长度的信息转换成固定长度的哈希值(数字摘要或消息摘要),并且任意不同消息或文件所生成的哈希值是不一样的。
过程步骤:
- 令h表示哈希函数,h的输入可以是任意长度的消息或文件M
- h的输出长度是固定的
- 给定h和M,计算h(M)是容易的
- 给定h的描述,找两个不同的消息M1,M2,使得h(M1)=h(m2)是计算上不可行的。
可以用于文件或者网页防篡改。
Hash算法:
指有关产生哈希值或杂凑值得计算方法,hash算法又称杂凑算法、散列算法或数据摘要算法,其能够将一个任意长的比特串映射大奥一个固定长的比特串,常见的有MD5、SHA、SN3国产算法。
- MD5算法,Rivest,1992年公开,MD5以512位数据块为单位处理输入,产生128位的数据摘要。
- SHA算法,NIST开发,1993年,以512位处理数据输入,产生160位的哈希值,比MD5安全,版本以SHA-2、SHA-3
- SM3国产算法,2010年,国家密码管理局。分组512位比特,输出杂凑值长度为256比特。
数字签名
有公钥和私钥,指签名者使用私钥对待签名的数据的杂凑值做密码运算得到结果,该结果只能用签名者的公钥进行验证,用于确认待签名数据的完整性、签名者身份真实性和签名行为的抗抵赖性。
数字签名需要满足下面条件:
- 非否认
- 真实性
- 可鉴别性
本次对一些密码基础概念进行学习,加解密、密码体制、常见的密码算法还有hash函数与hash算法。