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

密码学系列文(1)--密码学基础概念详解

目录

1.1 基本概念

1.2 保密系统

1.3 密码体制分类

1.3.1 单钥体制

1.3.2 双钥体制(公钥体制)

1.4 密码分析

1.4.1 密码分析法

1.4.2 密码攻击

1.5 无条件安全和计算安全


1.1 基本概念

密码学:研究信息系统安全保密的科学。它包括两个分支:

  • 密码编码学:对信息进行编码实现隐藏信息的一门学问;
  • 密码分析学:研究分析破译密码的学问

1.2 保密系统

保密系统模型如下:

保密系统应当满足的要求:

  • (1)系统即使达不到理论上是不可破的,但p_r\left \{ m'=m \right \}=0,也应当为实际上不可破的。就是说,从截获的密文或某些已知明文密文对,要决定密钥或任意明文在计算上是不可行的;
  • (2)系统的保密性不依赖于对加密体制或算法的保密,而依赖于密钥。这就是著名的Kerckhoff原则;
  • (3)加密和解密算法适用于所有密钥空间中的元素;

认证与认证系统:防止消息被篡改、删除、重放和伪造;

完整性:检测错误、恢复消息和原来发送消息一致性;

1.3 密码体制分类

密码体制有两大类:

  • (1)单钥体制:加密密钥和解密密钥相同;
  • (2)双钥体制:加密密钥和解密密钥不同;
1.3.1 单钥体制

单钥体制主要研究问题:密钥产生和密钥管理;

分类:流密码(Stream cipher)和分组密码(Block cipher);

单钥体制不仅可用于数据加密,也可用于消息的认证;

1.3.2 双钥体制(公钥体制)

主要特点:

  • (1)加密和解密能力分开;
  • (2)可以实现多个用户加密的消息只能由一个用户解读(用于公共网络中实现保密通信);
  • (3)只能由一个用户加密消息而使多个用户可以解读(可用于认证系统中对消息进行数字签字);
  • (4)无需事先分配密钥;

1.4 密码分析

密码设计和密码分析是共生的、又是互逆的,两者密切相关但追求的目标相反;密码分析法包括:

1.4.1 密码分析法

(1)穷举法

  • 对截获的密报依次用各种可解的密钥试译,直到得到有意义的明文;
  • 或完全试凑法:在不变密钥下,对所有可能的明文加密直到得到与截获密报一致为止;

只要有足够多的计算时间和存储容量,原则上穷举法总是可以成功的。但实际中,任何一种能保障安全要求的实用密码都会设计使得这一方法在实际上不可行;

(2)分析法

  • 确定性分析法:利用一个或几个已知量(比如,已知密文或明文-密文对)用数学关系式表示出所求未知量(如密钥等)。已知量和未知量的关系视加密和解密算法而定,寻求这种关系是确定性分析法的关键步骤。
  • 统计分析法:利用明文的已知统计规律进行破译的方法、密码破译者对截获的密文进行统计分析,总结出其间的统计规律,并与明文的统计规律进行对照比较,从中提取出明文和密文之间的对应或变换信息。
1.4.2 密码攻击
攻击类型攻击者拥有的资源
唯密文攻击

加密算法

截获的部分密文

已知明文攻击

加密算法

截获的部分密文和相应的明文

选择明文攻击

加密算法

加密黑盒子,可加密任意明文得到相应的密文

选择密文攻击

加密算法

解密黑盒子,可解密任意密文得到相应的明文

1.5 无条件安全和计算安全

  • 无条件安全:如果算法产生的密文不能给出唯一决定相应明文的足够信息,无论截获多少密文,花费多少时间都不能解密密文;Shannon指出,仅当密钥至少和明文一样长时达到无条件安全(即一次一密);
  • 计算安全:破译密文的代价超过被加密信息的价值;破译密文所花时间超过信息的有效期;
http://www.lryc.cn/news/587244.html

相关文章:

  • 密码学系列文(2)--流密码
  • ansible自动化部署考试系统前后端分离项目
  • 在 C# 中调用 Python 脚本:实现跨语言功能集成
  • MySQL逻辑删除与唯一索引冲突解决
  • C++高频知识点(九)
  • 39.Sentinel微服务流量控制组件
  • 【一起来学AI大模型】部署优化推理加速:vLLM
  • word中多行合一功能实现
  • comfyUI-ControlNet-姿势控制深度控制
  • Java 8 LocalDate 日期操作全攻略
  • CS课程项目设计1:交互友好的井字棋游戏
  • 【多线程】 线程池设多大才合理?CPU 密集型和 I/O 密集型的终极公式
  • 深度学习图像分类数据集—七种树叶识别分类
  • AI生成单词消消乐游戏. HTML代码
  • LeetCode 2401.最长优雅子数组
  • Ampace厦门新能安科技Verify 测评演绎数字推理及四色测评考点分析、SHL真题题库
  • 【sql学习之拉链表】
  • 系规备考论文:论IT服务知识管理
  • MyBatis框架进阶指南:深入理解CRUD与参数映射
  • CVE-2022-0609
  • Oracle SQL - 使用行转列PIVOT减少表重复扫描(实例)
  • 常用的docker命令备份
  • Docker从环境配置到应用上云的极简路径
  • 《Google 软件工程》:如何写好文档?
  • Qt窗口:QToolBar、QStatusBar、QDockWidget、QDialog
  • QT 多线程 管理串口
  • Vue框架之计算属性与侦听器详解
  • 深入理解 LangChain:AI 应用开发的全新范式
  • openEuler欧拉系统重置密码
  • 标注识别 自己的数据集20张 roboflow 实例分割