密码学概述

第1章:密码学概述

密码学基础

密码学的基本概念

  • 密码学:研究在有敌手的情况下如何隐密地传递信息的科学,常被认为是数学和计算机科学的分支。
  • 密码编码学:对消息进行变换,以保证消息在信道传输过程中不被窃取、篡改和利用。
  • 密码分析学:破译和分析密码体制。

基本概念

  • 明文(m):要变换的消息
  • 密文(c):变换后的消息
  • 密钥(k):秘密参数
  • 加密(E):将明文变换成密文的过程
  • 解密(D):由密文恢复出明文的过程

密码体制分类

  • 按密钥数量:
    • 对称密码体制:加密密钥和解密密钥相同或可相互推导。
    • 非对称密码体制:加密密钥和解密密钥不同,且难以从一个密钥推导出另一个密钥。
  • 按加密方式:
    • 流密码:按位加密明文。
    • 分组密码:将明文分成定长的块进行加密。
密码体制分析

安全性要求

  • 机密性(Confidentiality):保证信息仅供授权者使用。
  • 完整性(Integrity):信息在传输或存储过程中不能被破坏。
  • 认证性(Authentication):保证消息来源和通信实体的真实性。
  • 不可否认性(Non-repudiation):防止通信方对行为的否认。

密码体制的攻击方法

  • 唯密文攻击(Ciphertext Only Attack):仅知道密文,通过穷举密钥尝试破译。
  • 已知明文攻击(Known Plaintext Attack):知道一些明文和相应的密文,通过已知明文格式推导密钥。
  • 选择明文攻击(Chosen Plaintext Attack):选择一些明文并得到相应的密文,确定密钥结构。
  • 选择密文攻击(Chosen Ciphertext Attack):选择一些密文并得到相应的明文,确定密钥信息。
  • 选择文本攻击(Chosen Text Attack):选择明文和密文的结合攻击。

安全模型

  • 无条件安全性(Unconditional Security):即使具有无限计算资源的敌手也无法破译。
  • 计算安全性(Computational Security):破译所需的计算代价超出敌手的计算资源。
  • 可证明安全性(Provable Security):安全性可以规约到难解的数学问题。
密码学发展史

古典密码学

  • 古代密码:存在于石刻、壁画、史书、诗词等。
  • 手工密码:代换密码(如凯撒密码、维吉尼亚密码)、置换密码。
  • 机械密码:杰弗逊圆盘、维特斯通圆盘。
  • 电子-机械密码:恩尼格码密码机、九七式欧文印字机。

现代密码学(标志性事件:RSA发明)

  • 1949年,Shannon发表《保密系统的通信理论》,为密码系统建立了理论基础。
  • 1976年,美国数据加密标准(DES)的公布,推动了密码学的研究。
  • 1976年,Diffe和Hellman发表《密码学的新方向》,提出了公钥密码学。
  • 1978年,Rivest、Shamir和Adleman提出了第一个实用的公钥密码体制RSA,推动了公钥密码的研究。

密码学基础

  • 1.2.3 密码体制分类

密码体制分析

  • 1.3.1 攻击密码系统的方法 安全性要求
  • 1.3.2 安全模型

密码学发展史

  • 传统密码学
  • 现代密码学