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

目录

[1.1 基本概念](#1.1 基本概念)

[1.2 保密系统](#1.2 保密系统)

[1.3 密码体制分类](#1.3 密码体制分类)

[1.3.1 单钥体制](#1.3.1 单钥体制)

[1.3.2 双钥体制(公钥体制)](#1.3.2 双钥体制(公钥体制))

[1.4 密码分析](#1.4 密码分析)

[1.4.1 密码分析法](#1.4.1 密码分析法)

[1.4.2 密码攻击](#1.4.2 密码攻击)

[1.5 无条件安全和计算安全](#1.5 无条件安全和计算安全)


1.1 基本概念

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

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

1.2 保密系统

保密系统模型如下:

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

  • (1)系统即使达不到理论上是不可破的,但,也应当为实际上不可破的。就是说,从截获的密文或某些已知明文密文对,要决定密钥或任意明文在计算上是不可行的;
  • (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指出,仅当密钥至少和明文一样长时达到无条件安全(即一次一密);
  • 计算安全:破译密文的代价超过被加密信息的价值;破译密文所花时间超过信息的有效期;
相关推荐
gfdhy2 天前
【c++】哈希算法深度解析:实现、核心作用与工业级应用
c语言·开发语言·c++·算法·密码学·哈希算法·哈希
Tony Bai3 天前
Go 2025 密码学年度报告:后量子时代的防御与 FIPS 的“纯 Go”革命
开发语言·后端·golang·密码学
搬砖魁首10 天前
密码学系列 - 介绍几种不同的签名方案
密码学·签名·schnorr·ecdsa·eddsa
帅次14 天前
信息安全的容灾与业务持续&安全管理的措施
安全·网络安全·系统安全·密码学·网络攻击模型·安全威胁分析·安全架构
奔跑吧邓邓子17 天前
【C语言实战(78)】C语言进阶:筑牢数据安全防线,密码学实战探秘
c语言·密码学·数据安全·开发实战
passxgx18 天前
10.7 密码学中的线性代数
线性代数·密码学
麦烤楽鸡翅19 天前
幂数加密(攻防世界)
网络安全·密码学·ctf·crypto·解密·攻防世界·幂数加密
CyberSecurity_zhang20 天前
汽车信息安全--关于安全强度的误区
信息安全·汽车·密码学·安全强度
国服第二切图仔20 天前
Rust开发实战之密码学基础——哈希计算与对称加密实战
rust·密码学·哈希算法
粉色挖掘机21 天前
矩阵在密码学的应用——希尔密码详解
线性代数·算法·机器学习·密码学