免责声明:本公众号尊重知识产权,如有侵权请联系我们删除。
第3章 密码学基础(上)
1、基本概念
密码学是 门研究信息安全保护的科学,以实现信息的保密性、完整性、可用性及抗抵赖 性。密码学主要由密码编码和密码分析两个部分组成。其中,密码编码学研究信息的变换处理 以实现信息的安全保护,而密码分析学则研究通过密文获取对应的明文信息。
密码学的主要目的是保持明文的秘密以防止攻击者获知,而密码分析学则是在不知道密钥 的情况下,识别出明文的科学。所谓明文是指需要采用密码技术进行保护的消息。而密文则是 指用密码技术处理过明文的结果,通常称为加密消息。将明文变换成密文的过程称作加密,其 逆过程,即由密文恢复出原明文的过程称作解密。加密过程所使用的一组操作运算规则称作加 密算法,而解密过程所使用的一组操作运算规则称作解密算法。加密和解密算法的操作通常都 是在密钥控制下进行的,分别称为加密密钥和解密密钥。
根据密码分析者在破译时已具备的前提条件,人们通常将密码分析攻击类型分为五种,分别叙述如下。
(1) 唯密文攻击 (ciphertext-only attack) 。密码分析者只拥有一个或多个用同一个密钥加密的密文,没有其他可利用的信息。
(2) 已知明文攻击 (known-plaintext attack) 。密码分析者仅知道当前密钥下的一些明文及所对应的密文。
(3) 选择明文攻击 (chosen-plaintext attack) 。密码分析者能够得到当前密钥下自己选定的明文所对应的密文。
(4) 密文验证攻击 (ciphertext verification attack) 。密码分析者对于任何选定的密文,能够得到该密文“是否合法”的判断。
(5) 选择密文攻击 (chosen-ciphertext attack) 。除了挑战密文外,密码分析者能够得到任何选定的密文所对应的明文。
2、密码体制分类
(1)私钥密码体制
私钥密码体制又称为对称密码体制,指广泛应用的普通密码体制,该体制的特点是加密和 解密使用相同的密钥。
(2)公钥密码体制
1976 年,W.Diffie M.E.Hellman 发表了《密码学的新方向》 一文,提出了公钥密码体制的思想。公钥密码体制又称为非对称密码体制,其基本原理是在加密和解密的过程中使用不同的密钥处理方式,其中,加密密钥可以公开,而只需要把解密密钥安全存放即可。在安全性方面,密码算法即使公开,由加密密钥推知解密密钥也是计算不可行的。
与私钥密码体制相比较,公钥密码体制有
以下优点。
1) 密钥分发方便,能以公开方式分配加密密钥。例如,因特网中个人安全通信常将自己的公钥公布在网页中,方便其他人用它进行安全加密。
2) 密钥保管量少。网络中的消息发送方可以共用 个公开加密密钥,从而减少密钥数量。只要接收方的解密密钥保密,就能实现消息的安全性
3) 支持数字签名。
目前,有三种公钥密码体制类型被证明是安全和有效的,即 RSA 体制、 ELGamal 体制及椭圆曲线密码体制。
(3)混合密码体制
混合密码体制利用公钥密码体制分配私钥密码体制的密钥,消息的收发双方共用这个密钥,然后按照私钥密码体制的方式,进行加密和解密运算。
第一步,消息发送者Alice用对称密钥把需要发送的消息加密。
第二步,Alice用Bob的公开密钥将对称密钥加密,形成数字信封。然后,一起把加密消息和数字信封传送给Bob。
第三步,Bob收到Alice的加密消息和数字信封后,用自己的私钥将数字信封解密,获取Alice加密消息时的对称密钥。
第四步,Bob使用Alice加密的对称密钥把收到的加密消息解开。
3、常见加密算法
(1)DES
DES (Data Encryption Standard) 是数据加密标准的简称,由 IBM 公司研制 DES分组加密算法,能够支待 64 比特的明文块加密,其密钥长度为 56 比特。
NIST于1999年10月25日采用三重DES(Triple DataEncryption Algorithm,TDEA)作为过渡期间的国家标准,以增强DES的安全性。
(2)IDEA
IDEA(International Data Encryption Algorithm)是国际数据加密算法的简记,是一个分组加密处理算法,其明文和密文分组都是64比特,密钥长度为128比特。该算法是由来学嘉(XJ.Lai)和Massey提出的建议标准算法,已在PGP中得到应用。IDEA算法能够接受64比特分组加密处理,同一算法既可用于加密又可用于解密,该算法的设计思想是“混合使用来自不同代数群中的运算”。
(3)AES
1997年美国国家标准技术研究所(NIST)发起征集AES(Advanced Encryption Standard)算法的活动,并专门成立了AES工作组,其目的是确定一个非保密的、公开的、全球免费使用的分组密码算法,用于保护下一世纪政府的敏感信息。NIST规定候选算法必须满足下面的要求:
·密码必须是没有密级的,绝不能像商业秘密那样来保护它;
·算法的全部描述必须公开披露;
· 密码必须可以在世界范围内免费使用;
·密码系统支持至少128比特长的分组;
·密码支持的密钥长度至少为128、192和256比特。
(4)RSA
RSA算法是非对称算法,由Ronald Rivest、Adi Shamir、Leonard Adleman三人共同在1977年公开发表。在RSA加密算法中,公钥和私钥都可以用于加密消息,用于加密消息的密钥与用于解密消息的密钥相反。RSA算法提供了一种保护网络通信和数据存储的机密性、完整性、真实性和不可否认性的方法。目前,SSH、OpenPGP、S/MIME和SSL/TLS都依赖于RSA进行加密和数字签名功能。
RSA算法基于大整数因子分解的困难性,该算法的步骤如下:
第一步,生成两个大素数P和9。
第二步,计算这两个素数的乘积n=pq。
第三步,计算小于n并且与n互素的整数的个数,即欧拉函数(n)=(p-1)(q-1)。
第四步,选取一个随机数e,且满足1<e<φ(n),并且e和φ(n)互素,即gcd(e,φ(n))=1。
第五步,计算d=e⁻¹modøφ(n)。
第六步,保密d、p和q,而公开n和e,即d作为私钥,而n和e作为公钥。
(5)国产算法
亲爱的朋友,若你觉得文章不错,请点击关注。你的关注是笔者创作的最大动力,感谢有你!
原文始发于微信公众号(菜根网络安全杂谈):信安工程师学习笔记(3):密码学基础(上)
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论