成都网站维护公司今日国内新闻10则
chapter 1 概述
-
密码学:研究编制和破译密码的技术科学,保证信息的机密性、真实性(鉴别)、完整性、可用性和不可抵赖性。
-
信息安全的基本属性:机密性(confidentiality)、完整性(integrity)、可鉴别性(认证,Authentication)、抗抵赖性(不可否认性,Non-repudiation)、可用性(Availability)、可靠性(Reliability)、可控性(Controllability)、可追溯性(可审计性,Accountability)。
-
古典密码:
- 原始符号、宗教符号、消息隐写术、达芬奇密码筒、卡尔达诺漏格板、阴符。
- 特点:仅是文字变换艺术,没有形成科学,最多称为密码术,数据的安全依赖于密码方法或算法的保密。
-
近代密码:
- 转轮密码机(Rotor)取代手工编码加密方法,实现保密通信的自动编解码。
- 特点:密码技术可以说是一种艺术,是一种技巧和经验的综合体,但仍还不是一种科学,密码专家常常是凭直觉和信念来进行密码设计和分析,而不是推理和证明,数据的安全基于密钥而不再是密码算法的保密。
-
现代密码时期:
- 香农建立了通信保密与密码学严格的理论基础;证明了一次一密(OTP,One Time Pad)的密码系统是完善保密的,导致了对流密码的研究和应用;提出了分组密码设计应该遵循的准则,如扩散性和扰乱性(或混淆性);证明了消息冗余使破译者统计分析成功的理论值;
- 香农把已有数千年历史的密码技术推向了科学的轨道,使密码学成为一门真正的科学(Cryptology)。
-
密码学主要任务:为存储和传输中的信息提供安全保护,解决以下问题
- 机密性:如何使信息让授权的人能看懂,别人看不懂;
- 鉴别:如何确保数据的可信来源以及通信实体的真实性;
- 完整性:如何确保数据在传输过程中没有被未授权的改变、删除或替代;
- 抗抵赖性:如何防止参与通信的任何一方事后否认本次通信或通信的内容。
-
两个分支:
- 密码编码学——主要任务是寻求有效密码算法和协议,以保证信息的机密性或认证性的方法;
- 密码分析学——主要任务是研究加密信息的破译或认证信息的伪造。只有密码分析者才能评判密码算法的安全性。
-
对保密通信系统基本要求:
- 让普通信道的窃听者看不懂加密传输的密文;
- 窃听者利用可收集到的信息不能把密文恢复成明文,或分析出密钥;
- 有一条可分发解密密钥的安全信道;
- 加解密速度快;
- 占用资源少,实现加解密成本低。
-
密码系统的五元组:
- 消息空间M( 又称明文空间 ):所有可能明文m的集合;
- 密文空间C:所有可能密文c的集合;
- 密钥空间K:所有可能密钥k的集合,其中每一密钥 k由加密密钥 ke 和解密密钥 kd 组成,即k=(ke,kd);
- 加密算法E:一簇由加密密钥控制的、从M到C的加密变换;
- 解密算法D: 一簇由解密密钥控制的、从C到M的解密变换。
-
对密码算法的需求:
- 可逆——算法的授权者可将密文恢复成明文;
- 不可逆——非授权者不可将密文恢复成明文;
- 密码算法实际上是一个带有秘密参数(陷门)的可逆函数:
——已知秘密参数,求逆非常容易;
——不知秘密参数,求逆不可行
-
对密码系统的攻击:
- 穷举攻击法:对截获到的密文尝试遍历所有可能的密钥来破译(对策——增大密钥空间);
- 统计分析攻击:根据明文、密文和密钥的统计规律来破译(对策——使明文、密文统计规律不相关不相同);
- 解密变换攻击(数学分析攻击):针对加密变换的数学基础,通过数学求解找到解密变换。(对策——选用具有坚实的数学基础和足够复杂的加密算法)。
-
密码分析攻击类型:
- 惟密文攻击:密码分析者知道密码算法,但仅能根据截获的密文进行分析,以得出明文或密钥。(最易抵抗的攻击类型!)
- 已知明文攻击:除了有截获的密文外,还有一些已知的“明文—密文对”来破译密码。目标是推出密文的某种解密算法,甚至从已知的明文被变换成密文的方式分析出密钥。
- 选择明文攻击:不仅可得到一些“明文—密文对”,还可以选择被加密的明文,并获得相应的密文。密码分析者能够选择特定的明文数据块去加密,并比较明文和对应的密文,已分析和发现更多的与密钥相关的信息。
- 选择密文攻击:可以选择一些密文,并得到相应的明文。选择的密文可能与要破解的密文相关。密码分析者的任务目标是推出密钥。
-
衡量密码系统攻击的复杂性:数据复杂性、处理复杂性、存储需求。
-
评估密码系统安全性:无条件安全性、计算安全性、可证明安全性。(对于实际应用中的密码系统而言,由于至少存在一种破译方法,即强力攻击法,因此都不能满足无条件安全性,只提供计算安全性。)
-
一切秘密寓于密钥之中:密码设计的公开原则并不等于所有的密码在应用时都一定要公开密码算法。例如世界各国的军政核心密码就都不公开其加密算法。
-
密码系统是实际可用的,必须满足的基本要求:
- 系统的保密性不依赖于对加密体制或算法的保密,而仅依赖于密钥的安全性;(如果算法的保密性是基于保持算法的保密,这种算法称为“受限制的密码算法”)
- 满足实际安全性,使破译者取得密文后在有效时间和成本范围内,确定密钥或相应明文在计算上是不可行的;
- 加密和解密算法应适用于明文空间、密钥空间中的所有元素;
- 加密和解密算法能有效地计算,密码系统易于实现和使用。
-
形象的三类保密通信模型:箱子模型:
- 双锁箱子模型:
- 单锁箱子模型:
- 检举箱模型:
- 双锁箱子模型:
-
根据加密算法与解密算法所使用的密钥是否相同,可以将密码算法分为:
-
对称密码算法:单锁箱子模型(两两用户之间安全共享密钥,不能相同),是基于复杂的非线性变换与迭代运算实现算法安全性的;
-
非对称密码算法:检举箱模型(每个用户都有一对不完全相同的密钥,称为密钥对),一般是基于某个公认的数学难题而实现安全性的。
-
-
根据密码算法对明文信息的处理方式,可将对称密码算法分为:
- 分组密码:将消息进行分组,一次处理一个数据块(分组)元素的输入,对每个输入块产生一个输出块。
- 序列密码:连续地处理输入元素,并随着处理过程的进行,一次产生一个元素的输出,在用序列密码加密时,一次加密一个比特或一个字节。