应用密码学课程复习汇总1——课程导入

为什么学应用密码学?------(宏观)云计算、大数据、物联网、移动互联网、人工智能都需要应用密码学,安全是一个永恒的主题,安全并不代表一切,但是没有安全就没有一切。(微观)注册信息安全专业人员认证(CISP)、 网络工程师认证 、CTF网络安全竞赛 、网络入侵与安全加固、 互联网应用开发 、Web渗透测试

信息在不安全的信道中传递可能遇到的各种威胁:

加密系统基本结构:

计算机安全问题的由来:

  • 源于通信与互联网技术的迅猛发展及信息系统的加速商业化
  • 社会对网络与信息资源的依赖日益加深
  • 大量存储与传输的数据需受保护
  • 互联网本身具有高度开放、分布广泛、动态变化及边界模糊等特性
  • 黑客攻击事件频发且持续增长。

网络信息安全问题的根源主要包括三个方面:

  • 一是网络自身存在安全缺陷,如协议和业务设计上的不安全因素
  • 二是网络的开放性,体现为业务基于公开协议、主机间互信机制及远程访问等特点
  • 三是人为因素,包括无意失误、恶意攻击以及管理不足。

网络信息安全问题的紧迫性:

  • 随着国家信息基础设施日益完善,网络已成为社会运转的重要支撑
  • 信息安全事关国家主权、社会稳定与文化传承,也涉及公私财产与个人隐私保护
  • 近年来,计算机犯罪急剧增加,已成为全球性挑战。

密码学在网络信息安全中的作用:

密码技术是信息安全的核心手段,也是保护数据的关键工具之一。当前主流的安全技术与理论多建立在现代密码学基础之上,因此密码学在保障网络信息安全中发挥着至关重要的作用。

密码学在网络信息安全中发挥着基础性作用,其核心功能可通过与现实世界安全机制的类比来理解:

  • 机密性:类似于现实中的"门窗与锁",通过加密技术防止非授权访问与数据窃取,确保信息仅对授权用户可见。
  • 完整性:对应现实中的"报警器",用于检测数据是否被篡改或破坏,一旦发生异常可及时发出警示。
  • 认证:相当于"身份证明",用于验证用户、设备或系统的身份真实性,确保交互对象可信。
  • 不可否认性(数字签名):类比"签字画押",通过数字签名技术确保行为主体无法事后否认其操作或承诺,为追溯和责任认定提供依据。

密码学简史

自20世纪起,密码技术在全球重大历史事件中发挥了关键作用。进入20世纪后期,它逐渐成为商业与通信领域中不可或缺的核心技术,这一地位延续至今。以下是几个具有里程碑意义的事件与技术发展:

  • Zimmermann 电报事件(第一次世界大战):电报的加密与破译直接影响美国参战决策,成为密码分析影响战局的早期典型案例。
  • 偷袭珍珠港事件(第二次世界大战):密码情报的失误与破译活动在该事件中暴露出信息保密与侦察的重要性。
  • 破解恩尼格玛密码机(第二次世界大战):盟军成功破译德国使用的恩尼格玛加密系统,对扭转欧洲战场局势起到决定性作用。
  • 香农发表《保密系统的通信理论》(1949年):这一奠基性论文将密码学纳入信息论的科学框架,为现代密码学奠定了理论基础。
  • 数据加密标准(DES)的建立(1977年):由美国国家标准局(现NIST)推出,成为早期广泛使用的对称加密规范,影响深远。
  • 公钥密码体制的提出(1976年):Diffie 和 Hellman 提出基于单向函数的公钥加密概念,彻底改变了传统密码学的设计思路,实现密钥分发与数字签名的突破。
  • RSA 算法的提出(1977年):由 Rivest、Shamir 和 Adleman 共同发明,该算法安全性高、应用广泛,已成为国际标准化组织(ISO)推荐的公钥加密标准,至今仍在广泛使用。

香农提出了两个密码系统设计的基本原则:扰乱(confusion)和扩散(diffusion)。

中国商用密码算法标准体系由国家密码管理局认定,其中SM2和SM4分别为广泛采用的国产非对称与对称加密算法标准。

  • SM2算法:于2010年发布,是一种基于椭圆曲线密码学的公钥密码算法。在我国商用密码体系中,SM2被用于替代RSA算法,以实现更高效的密钥管理和更强的安全性能。
  • SM4算法:为对称分组密码算法,于2012年成为国内加密标准,并于2021年由国际标准化组织(ISO)正式接纳为国际标准。该算法适用于数据加密和网络安全传输等多种场景。

将国产商用密码算法纳入ISO国际标准,标志着我国在密码算法领域的国际标准化工作取得重要进展,不仅体现了我国在密码科技方面的先进水平,也对推动商用密码产业高质量发展、增强国际话语权具有深远意义。

密码学研究方向:

在密码分析中,根据攻击者可获取的信息类型,常见的攻击模型可分为以下几类:

  • 唯密文攻击(Ciphertext-only Attack)攻击者已知:加密算法、待破解的密文。
  • 已知明文攻击(Known-plaintext Attack)攻击者已知:加密算法、一定数量的密文及其对应的明文。
  • 选择明文攻击(Chosen-plaintext Attack)攻击者已知:加密算法,并可获取特定明文对应的密文。
  • 选择密文攻击(Chosen-ciphertext Attack)攻击者已知:加密算法,并可获取特定密文对应的明文。
  • 选择文本攻击(Chosen-text Attack)攻击者已知:加密算法,并可同时进行选择明文和选择密文攻击,即既能获取指定明文对应的密文,也能获取指定密文对应的明文。

(由于后两者几乎不需要进行破译,课程主要讲的是前三者)

密码系统是指实现信息加密与解密的完整体系。在该系统中,加密过程将明文和加密密钥作为输入参数,通过特定的加密算法进行处理,最终输出密文。(如下图)

柯克霍夫原则

  • 密码系统的安全性不应该取决于不易改变的事物,而应取决于可随时改变的密钥。
  • 密码系统要抵抗攻击只能依赖于对密钥的保密,通常假定算法是公开的。

评估密码算法的实际可用性,通常需综合考虑以下关键因素:

  • 计算有效性(确定性):加密与解密函数必须能够被高效、确定地计算,确保算法在实际应用中具有可接受的性能表现。
  • 计算安全性(计算复杂性):即使攻击者获取了密文,在有限的时间与资源成本内,也无法破解出密钥或明文。算法的安全性应建立在计算复杂性理论之上,使得破解行为在实际条件下不可行。
  • 密钥空间足够大(时空复杂性):密码系统安全的必要条件是密钥空间足够大,使得穷举搜索(暴力破解)在时间与空间复杂度上均不可行。

网络通信的信息安全模型(保障动态数据的安全):

网络通信安全模型(保障动态数据的安全):

对称密码体制:

公钥密码体制:

对比:

|---------|-------------------------------|----------------------------------------|
| 分类 | 常规密码体制 | 公开密钥密码体制 |
| 运 行 条 件 | 加密和解密使用同一个密钥和同一个算法。 | 用同一个算法进行加密和解密,而密钥有一对,其中一个用于加密,另一个用于解密。 |
| 运 行 条 件 | 发送方和接收方必须共享密钥和算法。 | 发送方和接收方每个使用一对相互匹配、而又彼此互异的密钥中的一个。 |
| 安 全 条 件 | 密钥必须保密。 | 密钥对中的私钥必须保密。 |
| 安 全 条 件 | 如果不掌握其他信息,要想解密报文是不可能或至少是不现实的。 | 如果不掌握其他信息,要想解密报文是不可能或者至少是不现实的。 |
| 安 全 条 件 | 知道所用的算法加上密文的样本必须不足以确定密钥。 | 知道所用的算法、公钥和密文的样本必须不足以确定私钥。 |

相关推荐
Lz__Heng11 小时前
信息安全工程师考点-密码学
网络·安全·密码学
The_Killer.10 天前
格密码--从FFT到NTT(附源码)
学习·线性代数·密码学·格密码
deepdata_cn13 天前
量子-resistant密码学研究
密码学·量子计算
Evaporator Core18 天前
信息安全工程师软考进阶:第二章密码学与应用深度习题解析
密码学
長琹18 天前
AES加密算法详细加密步骤代码实现--身份证号码加解密系统
网络·数据库·人工智能·python·密码学
有点不太正常19 天前
《A Study of Probabilistic Password Models》(IEEE S&P 2014)——论文阅读
论文阅读·密码学·口令猜测·马尔可夫链
Blockchain Learning20 天前
椭圆曲线的数学基础
golang·密码学
yjx2333221 天前
《应用密码学》——基础知识及协议结构模块(笔记)
笔记·密码学
默辨22 天前
密码学基础
密码学·非对称加密·数字签名·对称加密·摘要加密