信息安全基础知识: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连接协议。

相关推荐
缘的猿3 小时前
Kubernetes 安全管理:认证、授权与准入控制全面解析
java·安全·kubernetes
乾博电子3 小时前
GFM100 地线连续性检测监控器:破解工业接地痛点,筑牢电力系统安全防线
安全·系统安全·在线监测·在线绝缘监测仪·地线连续性绝缘监测
CryptoCrawler3 小时前
文件包含与下载漏洞
网络·安全
EasyCVR4 小时前
视频融合平台EasyCVR在智慧工地中的应用:构建安全、智能、高效的“云上工地”
安全·音视频
小苑同学5 小时前
研究生如何看懂文献?
人工智能·安全·网络安全·安全性测试
COWORKSHOP6 小时前
华为芯片泄密案警示:用Curtain e-locker阻断内部数据泄露
运维·服务器·前端·数据库·安全·华为
丰年稻香6 小时前
Electron 安全实践:渲染进程如何安全使用主进程的三方库能力
javascript·安全·electron
lfq7612046 小时前
C#对称加密(AES)的简单代码
安全·c#·加密·对称加密
熊文豪7 小时前
KingbaseES数据库SSL安全传输与数据完整性保护技术详解
数据库·安全·ssl·kingbasees·金仓数据库·电科金仓