信息安全基础知识:03密码学基础知识

1.基础概念

密码编制学:研究密码编制。

密码分析学:研究密码破译。

2.攻击模式

①唯密文攻击。密码分析者只拥有一个或多个用同一密钥加密的密文。一般用于穷举攻击

②已知明文攻击。密码分析者仅知道当前密钥下部分明文对应的密文。

③选择明文攻击。密码分析者能够得到当前密钥下选定明文对应的密文。适用于针对数据库和文件系统的攻击

④密文验证攻击。密码分析者对于任何选定的密文,能够得到该密文"是否合法"。

⑤选择密文攻击。除挑战密文外,密码分析者能够得到任何密文对应的明文。适用于针对数字签名的攻击

3.密码体制分类

密码体制即密码系统,一般由5部分组成:密文空间C、明文空间M、密钥空间K、加密算法E、解密算法D。

(1)私钥密码体制

指对称密码体制,即加密、解密使用相同的密钥。

(2)公钥密码体制

指非对称密码体制,公钥加密、私钥解密,私钥签名、公钥验证。

(3)混合密码体制工作原理

发送者A使用对称密钥将消息加密;

发送者A使用B的公钥将对称密钥进行加密,将加密后的消息和密钥发送B;

接收者B收到消息后,使用私钥对密钥进行解密,取得A对消息加密时使用的对称密钥;

接收者B使用对称密钥对消息进行解密,取得消息原文

4.常见密码算法

|---------|-------------------------------------|
| 算法名称 | 说明 |
| DES | 明文分组64位、密钥56位(不含8位校验位) |
| 3DES | **密钥112位(**一般位112位,具体看加解密过程密钥选择) |
| IDEA | 密钥长度128位 |
| AES | 密钥长度128、192、256位 |
| SM1、SM4 | 对称算法,密钥长度128位。SM4常用于无线局域网WAPI使用 |
| RC4、RC5 | 流密码 |
[常见对称密码算法]

|------|-----------------------|
| 算法名称 | 说明 |
| DSA | 仅可用于签名 |
| RSA | 基于"大合数分解" |
| ECC | 椭圆加密算法 |
| SM2 | 国家推荐使用素数域256位椭圆曲线 |
| SM9 | 标识密码算法 |
[常见非对称密码算法]

4.DES算法
(1)DES算法流程

初始置换IP

生成16个48位子密钥

16轮feistel迭代

扩展置换E

S盒代换

置换P

逆初始置换

(2)DES算法的安全性

①密钥较短。DES采用56位密钥,其密钥量仅为约为个。

②存在弱密钥。存在4个弱密钥,弱密钥不受循环位移的影响,将产生相同子密钥。

③存在半弱密钥。至少存在12个半弱密钥,若密钥会将明文加密为相同密文。

(3)DES的S盒计算

DES共有8个S盒,S盒是一个4×16的查找表,S盒将6位输入信息映射位4位输出信息。

行号。由输入信息的首位和末位组成,范围00-11(十进制0-3).

列号。由输入信息的中间4位组成,范围0000-1111(十进制0-15)

根据行号和列号在查找表中进行查找。

5.RSA算法
(1)RSA的算法流程

①选取两个大素数p和q(保密);

②计算n=p×q,φ(n)=(p-1)(q-1),n公开。φ(n)保密;

③选取一个整数e,1<e<φ(n),gcd(e,φ(n))=1。e公开,gcd为最大公约数;

④计算d,d×e≡1modφ(n)。d保密。

加密算法 c≡modn

解密算法 m≡modn

签名算法 s≡modn

验证算法 m≡modn

同余的概念。两个整数a、b,若他们除以整数m的余数相等,则称a与b对于模m同余或a同余于b模m,记作a≡bmodn,读作a同余于b模m,或读作a于b对模m同余。a≡bmodn等同于ab≡1modn。

(2)RSA算法的安全性

RSA算法的安全性在于大合数分解(将一个大合数分解为两个以上素数的乘积),应采用足够大的n,一般至少取1024位,最好取2048位。国际可信计算组织(TCG)规定:一般加密密钥和认证密钥选1024位,而平台根和存储根密钥选2048位。

参数选择:p和q因足够大且为强素数,e和d的选择不能太小,不要许多用户公用同一个模n。

6.辗转相除法求逆元

Ax≡1modN

N=A×+

A=×+

=×+

...

=×+

=×+0 (除尽为止)

对x的值逆向排序(不含商为0的),计算y值,默认为0

|------------------------------------------|-----------------------------------------|-------------------------------------------|---------|-------------------------------------------|-----------------------------------------|
| 0 | | | ... | | |
| | | | ... | | |

=×+

=×+

的个数为偶数,则逆元值为

的个数为奇数,则逆元值为N-

7.哈希算法

Hash函数将任意长的报文M映射为定长的hash码h,其形式为h=Hash(M),也称为报文摘要。

(1)基本性质

单向性

抗弱碰撞性

抗强碰撞性

(2)常见哈希算法

|------|------------------------------|
| 算法名称 | 说明 |
| MD5 | 以512位的数据块作为输入,输出128位的哈希值 |
| SHA | 以512位的数据块作为输入,输出160位的哈希值 |
| SM3 | 以512位的数据块作为输入,输出256位的哈希值 |

8.数字签名

数字签名要至少满足非否认、真实性、可鉴别性三个条件。

数字签名工作流程:

①发送方:

A使用hash算法对需要发送的文件生成一个文件摘要;

A使用私钥对文件摘要进行加密,形成数字签名;

A将文件原文和数字签名一同发给B。

②接收方:

B使用相同的hash算法计算文件摘要;

B使用A的公钥对数字签名进行解密,还原摘要信息;

B对两个摘要信息进行比对,若一致则认为该文件是A发送的,若不一致则认为该文件已被篡改。

9.密钥管理

密钥管理主要包括密钥生成、存储、分发、使用、更新、撤销、备份、恢复、销毁、审计。

10.数字证书

|----------|
| 版本号 |
| 序列号 |
| 颁发者 |
| 有效日期 |
| 主体 |
| 主体公钥信息 |
| 颁发者唯一标识符 |
| 主体唯一标识符 |
| 扩展项 |
[数字证书基本信息域格式]

11.Diffie-Hellman密钥交换协议

基于求离散对数的困难性。

步骤:

①A和B确定一个适当的素数α和ρ,α为ρ的原根,可公开;

②A秘密选取一个整数,计算=modρ,并将发送给B;

③B秘密选取一个整数,计算=modρ,并将发送给A;

④A和B分别计算密钥K,A计算K=modρ,B计算K=modρ。

为diffie-hellman公开值。

12.SSH

SSH(安全外壳协议)是基于公钥的安全应用协议。

组成:

①SSH传输层。

②SSH用户认证协议。

③SSH连接协议。

相关推荐
用户9623779544812 小时前
DVWA 靶场实验报告 (High Level)
安全
数据智能老司机15 小时前
用于进攻性网络安全的智能体 AI——在 n8n 中构建你的第一个 AI 工作流
人工智能·安全·agent
数据智能老司机15 小时前
用于进攻性网络安全的智能体 AI——智能体 AI 入门
人工智能·安全·agent
用户9623779544817 小时前
DVWA 靶场实验报告 (Medium Level)
安全
red1giant_star17 小时前
S2-067 漏洞复现:Struts2 S2-067 文件上传路径穿越漏洞
安全
用户9623779544820 小时前
DVWA Weak Session IDs High 的 Cookie dvwaSession 为什么刷新不出来?
安全
cipher2 天前
ERC-4626 通胀攻击:DeFi 金库的"捐款陷阱"
前端·后端·安全
一次旅行5 天前
网络安全总结
安全·web安全
red1giant_star6 天前
手把手教你用Vulhub复现ecshop collection_list-sqli漏洞(附完整POC)
安全
ZeroNews内网穿透6 天前
谷歌封杀OpenClaw背后:本地部署或是出路
运维·服务器·数据库·安全