当前位置: 首页 > news >正文

【密码学】1. 引言

目录

  • 1. 引言
    • 1.1 密码学的发展概况
    • 1.2 密码学的基本概念
    • 1.3 密码体制的攻击方法
    • 1.4 古典密码体制
    • 1.5 第一章重点
    • 1.6 密码的其他分类方式

1. 引言

1.1 密码学的发展概况

  1. 学科属性:古老、年轻且深奥,研究信息系统安全保密,包含密码编码学和密码分析学。
  2. 发展阶段:
    • 古典密码学→现代密码学
    • 1949 年前:技术型 “艺术”,非科学
    • 1949 年:Shannon 发表《保密系统的通信理论》,使密码学成为科学
    • 1976 年:Diffie 和 Hellman 发表《密码学的新方向》,引发密码学革命(提出非对称密钥思想)
    • 1977 年:美国国家标准局公布 DES 算法,公开算法细节,推动密码学普及
  3. 现代应用:数据加密、密码分析、数字签名、信息鉴别、零知识认证、秘密共享等。
  4. 数学工具:概率统计、数论、代数、混沌、椭圆曲线等。

1.2 密码学的基本概念

  1. 核心术语
    • 明文(plaintext):未加密的信息
    • 密文(ciphertext):加密后的信息
    • 加密:将明文伪装为密文的过程(记为 EK(M)=CE_K(M)=CEK(M)=C
    • 解密:将密文恢复为明文的过程(记为 DK(C)=MD_K(C)=MDK(C)=M
    • 密钥(K):控制加密和解密的参数,部分算法使用不同加密密钥(K1K_1K1)和解密密钥(K2K_2K2),满足 DK2(EK1(M))=MD_{K_2}(E_{K_1}(M)) = M DK2(EK1(M))=M
  2. 密码系统模型
    • 要素:信源(明文 MMM)、加密器(EK1E_{K_1}EK1)、密钥源(K1,K2K_1,K_2K1,K2)、传输信道(密文 CCC、密钥信道)、解密器(DK2D_{K_2}DK2)、接收者(明文 MMM)。
    • 攻击类型:主动攻击(篡改 cccc′c′c)、被动攻击(窃听 ccc)。
  3. 密码体制分类
    • 对称密码(单钥 / 私钥密码):加密与解密密钥相同(如分组密码、流密码)。
    • 非对称密码(双钥 / 公钥密码):加密与解密密钥不同(如 RSA)。
  4. 好的密码体制的条件
    • 已知明文 mmm 和加密密钥 k1k_1k1 时,计算 c=Ek1(m)c=E_{k_1}(m)c=Ek1(m) 容易;已知密文 ccc 和解密密钥 k2k_2k2 时,计算 m=Dk2(c)m=D_{k_2}(c)m=Dk2(c) 容易。
    • 未知解密密钥 k2k_2k2 时,无法由密文 ccc 恢复明文 mmm
  5. 可破译性
    • 可破译:能由密文确定明文 / 密钥,或由明文 - 密文对确定密钥。
    • 不可破译:反之。

1.3 密码体制的攻击方法

  1. 攻击类型
    • 穷举攻击:试遍所有密钥→对抗:增大密钥数量。
    • 统计分析攻击:分析明文与密文的统计规律→对抗:使两者统计规律不同。
    • 解密变换攻击:针对加密变换的数学基础求解解密变换→对抗:选用数学基础坚实、复杂度高的算法。
  2. 攻击场景(强度递增)
    • 唯密文攻击:仅知密文。
    • 已知明文攻击:知部分明文及对应密文。
    • 选择明文攻击:可选择明文并获取对应密文。
    • 选择密文攻击:可选择密文并获取对应明文。
  3. 安全性分类
    • 无条件安全:一次一密方案(理论上不可破译)。
    • 计算上安全:满足以下任一条件:破译代价超过信息价值;破译时间超过信息有效期(如流密码、分组密码、公钥密码)。

1.4 古典密码体制

  1. 置换密码(易位密码)

    • 原理:明文字母位置重新排列,字母本身不变。
    • 例子:明文 “never accept failure no matter how often it visits you”→密文 “uoys tisi vtin etfo wohr etta mone ulia ftpe ccar even”。
    • 特点:简单但不安全,易被识破。
  2. 单表代替密码

    • 原理:用一个密文字母表中的字母一对一替换明文字母表中的字母(f:A→B,f(ai)=bif:A→B,f(a_i)=b_if:AB,f(ai)=bi)。
    • 分类:
      • 加法密码:j=i+k(modn)(0<k<n)j=i+k(modn)(0<k<n)j=i+k(modn)0<k<n,如凯撒密码(k=3,明文 “ATTACK”→密文 “DWWDFN”)。
      • 乘法密码:j=ik(modn)(0<k<n,且k与n互质)j=ik(modn)(0<k<n,且k与n互质)j=ik(modn)0<k<n,且kn互质)
      • 仿射密码:加法与乘法结合,j=k0+ik1(modn)(0<k0<n,k1与n互质)j=k_0+ik_1(modn)(0<k_0<n,k_1与n互质)j=k0+ik1(modn)0<k0<nk1n互质)
      • 密钥短语代替密码:以短语为密钥(去重后作为密文前缀,剩余字母补全),如密钥 “Happy New Year”→密文表(a→H,b→A,c→P,…)。
  3. 多表代换密码

    • 原理:将明文分为 n 个字母的分组,

      加密公式Ci=AMi+B(modN)(A为可逆矩阵,gcd(∣A∣,N)=1)C_i=AM_i+B(modN)(A为可逆矩阵,gcd(∣A∣,N)=1)Ci=AMi+B(modN)A为可逆矩阵,gcd(A,N)=1

      解密公式Mi=A−1(Ci−B)(modN)M_i=A^{−1}(C_i−B)(modN)Mi=A1(CiB)(modN)

    • 例子:n=3,N=26,明文 “YOUR PIN NO IS FOUR ONE TWO SIX”→密文 “WGI FGJ TMR LHH XTH WBX ZPS BRB”。

1.5 第一章重点

  • 密码体制的分类(对称 / 非对称)。
  • 攻击方法:穷举攻击、统计分析攻击、解密变换攻击。
  • 攻击场景:唯密文、已知明文、选择明文、选择密文攻击。
  • 古典密码的基本原理(置换、单表 / 多表代替)。

1.6 密码的其他分类方式

  • 按历史发展阶段:手工密码、机械密码、电子机内乱密码、计算机密码。
  • 按操作类型:替代密码、移位密码。
  • 按保密程度:理论上保密、实际上保密、不保密。
  • 按明文处理方法:分组密码、序列密码。
  • 按密钥类型:对称密钥密码、非对称密钥密码
http://www.dtcms.com/a/285895.html

相关文章:

  • c++继承详解
  • 【物联网】基于树莓派的物联网开发【12】——树莓派硬件GPIO模块原理知识
  • 模式结构-微服务架构设计模式
  • 【PTA数据结构 | C语言版】二叉堆的快速建堆操作
  • 一文讲清楚React性能优化
  • mysql 性能优化之Explain讲解
  • RHEL/CentOS 的系统安装程序界面介绍
  • 周志华《机器学习导论》第9章 聚类
  • 分布式面试点
  • 算法-动态规划
  • MyBatis缓存实战指南:一级与二级缓存的深度解析与性能优化
  • 分布式短剧平台核心技术解析:CDN优化、AI推荐与多语言支付集成
  • 在 ASP.NET Core 和 JavaScript 中配置 WebSocket
  • Jfinal+SQLite处理 sqlite数据库执行FIND_IN_SET报错
  • .NET 8 Release Candidate 1 (RC1)现已发布,包括许多针对ASP.NET Core的重要改进!
  • 从复合变量到分组分析:piecewiseSEM 解析生态系统多因子交互作用
  • 深度剖析:最新发布的ChatGPT Agent 技术架构与应用场景
  • 专题:2025智能体研究报告|附70份报告PDF、原数据表汇总下载
  • NJU 凸优化导论(8) Lagrange Dual 拉格朗日对偶
  • Kotlin集合分组
  • 解决selenium元素定位不到疑难杂症
  • TCL 电视安装 APK 文件主要有 U 盘安装——仙盟创梦IDE
  • nastools继任者?极空间部署影视自动化订阅系统『MediaMaster』
  • echarts dataZoom 文本显示不完整
  • 响应式编程入门教程第六节:进阶?Combine、Merge、SelectMany 与错误处理
  • 【怜渠客】简单实现手机云控Windows电脑锁屏
  • MySQL中的锁有哪些
  • 【软件重构】如何避免意外冗余
  • 一文入门深度学习(以医学图像分割为例)
  • 【机器学习深度学习】LoRA 与 QLoRA:大模型高效微调的进阶指南