【密码学】一、概述

1、密码学的发展历史

起因:保密通信和身份认证问题
根据时间顺序、加密原理和加密方式,可以将密码学的发展历史分为:古代密码时代、机械密码时代、信息密码时代和现代密码时代

1.1 古代密码时代

使用的密码体制为古典密码体制,应用的主要技巧是文字内容的代替、移位和隐藏等。
如:密码棒、凯撒密码(移位)、隐写术、阴符、阴书等。
隐写术是将信息隐藏再公开信息种,并通过公开渠道进行信息传递。

1.2 机械密码时代

两次世界大战期间加密所使用的是机械密码机,因此这一时期的密码也被称为机械密码。
初步:(无线电报的发展和使用)加密主要原理是字母的替换和移位,加密和解密的手段采用了机械和手工操作,破译则使用简单的词频分析,以及基于经验和想象的试探方法。
后期:大量的数学和统计知识被应用到,加密原理从传统的单表替换发展到复杂度大大提高的多表替换,基于机械和电器原理的加密和解密装置全面取代以往的手工密码。
如:恩尼格玛密码机、Typex打字密码机、哈格林密码机等。
对于复杂的多表古典密码加密方法,利用密文的重合指数方法与密文中字母统计规律相结合,同样可以破译。

1.3 信息密码时代

原因:在具有超强计算能力的计算机面前,所有的机械密码都显得不堪一击。
加密对象:电子形式的文件
大量的信息论、概率论、数理统计等数学理论被运用到密码技术中,使得密码学成为数学的一个新分支。
①香农发表的《通讯的数学原理》创立了信息论;
②随着计算机网络的发展,信息时代要保证计算机通信网络和数据传递的安全,这是密码学的新任务;
③1949年香农发表的==《保密系统的通信原理》==为密码学建立了理论基础,是密码发展史上的第一次飞跃,人类从此进入信息密码时代。
DES—AES.

1.4 现代密码时代

斯坦福密码学专家发表《密码学的新方向》提出了密码学新的思想。该思想中不仅加密算法本身可以公开,同时同于加密消息的密钥也可以公开,这就是公钥加密。(第二次飞跃)
现代密码学的任务已经不局限于传统密码的保密通信,而是含义更广的信息安全,其中包括保密通信、数据加密、身份认证、数字签名、密钥协商、秘密分享等重要的功能。
第一个实用的公钥密码体制RSA。(RSA密码算法的安全性基于数论中的大整数影子分解问题)
椭圆曲线密码体制ECC。基于椭圆曲线上离散对数求解问题。
③我国研究并推出系列商用密码算法,包括祖冲之序列密码算法、SM2公钥密码算法、SM3密码杂凑算法、SM4分组密码算法、SM9标识密码算法等。随着其他相关学科的快速发展,促使密码学中出现了新的密码技术,如DNA密码、混沌密码和量子密码等。

2、密码学的基本概念

通信系统模型
在一般的通信系统中,从信源发出的信号经过编码器的编码调制处理之后,经过公开的信道传到解码器进行译码或者编码操作,最终传到信宿。
但是在过程中要保护明文不被攻击,所以引入了保密通信的概念。
是指在一般通信系统中加入加密器与解密器,保证信息在传输过程中无法被其他人解读,从而有效解决信息传输过程中存在的安全问题。
保密通信系统模型
一个密码体制可以描述为一个五元组==(M,C,K,E,D)==

系统的保密性不依赖于对加密体制或算法的保密,而依赖于密钥,这是柯克霍夫原则。

3、密码学的基本属性

应用密码技术是保障网络与信息安全最有效、最可靠、最经济的手段,可以实现信息的机密性、信息的真实性、数据的完整性和行为的不可否认性。

信息的机密性是保证信息不被泄露给非授权者等实体的性质。
信息的真实性是指保证信息来源可靠、没有被伪造和篡改的性质。
数据的完整性是指数据没有受到非授权者的篡改或破坏的性质。(密码杂凑算法)
行为的不可否认性也称为抗抵赖性,是指一个发生的操作行为无法否认的性质。

4、密码体制分类

主要分为对称密码和非对称密码体制。

4.1 对称密码体制

又称为单钥体制,是加解密的密钥相同的密码算法。其保密性取决于密钥的保密性,而非算法的保密性。
如何产生满足保密要求的密钥以及如何将密钥安全、可靠地分配给通信双方是这类体制设计和实现的主要课题。
对称密码体制分为序列密码或流密码(按字符加密)、分组密码(按分组加密)。

4.2 非对称加密体制

也称为公钥密码体制。加解密过程使用的密钥不一样(公钥和私钥)。
一方面可以解决对称密码体制中的密钥分发和管理问题,另一方面可以解决不可否认问题。
另一个重要用途是数字签名(用私钥签名,所有人可以用公钥验证)

5、密码分析

攻击分为被动攻击(截获密文进行攻击)和主动攻击(向系统注入假消息)。
密码分析分为:
唯密文攻击(只用密文进行密码分析)最难攻击,是利用穷举法。
已知明文攻击(利用大量相互对应的明文和密文)
选择明文攻击(选择特定明文和对应密文)
选择密文攻击(选择特定密文和对应明文)

自适应选择明文攻击:是指密码分析者不仅能够选择要加密的明文,还可以根据加密的结果对以前的选择进行修正
选择密钥攻击:表示密码分析者知道不同密钥之间的关系,并不表示密码分析者能够选择密钥。

计算安全:
满足1.破译密文的代价超过被加密信息的价值
2.破译密文所花费的时间超过信息的有用期。

密文没有泄露足够多的明文信息,无论计算能力有多强,都无法由密文唯一确定明文,满足此条件的加密算法称为无条件安全。

猜你喜欢

转载自blog.csdn.net/RuRu_Bai/article/details/131808809
今日推荐