2021-05-07

2021.05 信息安全实训课课程笔记

信息加密与哈希函数

课前准备:C/C++编译环境、DES Tool、RSATool2v17、Hash Tool。

2021-05-07_第1张图片

古典密码学:

替换思想,换位思想

现代密码学:

对称加密:

采用单钥密码系统的加密方法,同一个密钥可以同时用作信息的加密和解密,这种加密方法称为对称加密,也称为单密钥加密。

DES加密:

DES加密是三大著名且经典的加密算法之一,为分组对称加密算法。

混淆(confusion):使密文与密钥的关系尽可能复杂化,使得对手即使获取了许多明文和对应的密文,以及关于密文的一些统计特性,也无法推测密钥。
扩散(diffusion):让明文中的每一位影响密文中的许多位,或者说让密文中的每一位受明文中的许多位的影响。这样可以隐蔽明文的统计特性。当然,理想的情况是让明文中的每一位影响密文中的所有位,或者说让密文中的每一位受明文中所有位的影响。
分组(block cipher):可以看成经典的电报密码本加密技术的现代传承,其中由密钥来决定电报密码本的选择。一次加密一组数据,密钥长度为一组数据的长度。

3DES加密:

3DES即三重数据加密算法,相当于是对每个数据块应用三次DES加密。

非对称加密算法:

RSA算法的理论基础:

大素数乘积的因子分解问题,即将两个大素数相乘十分容易,但对其乘积进行因式分解却极其困难,因此可以将乘积作为加密密钥公开(由素数、模运算、费马小定理、欧拉定理、扩展欧几里得算法可进行推导)。

RSA算法流程:

密钥生成方法

1、随机生成两个大的质数p和q,p不等于q,计算N=pq。

2、根据欧拉函数,不大于N且与N互质的整数个数为(p-1)(q-1)。

3、任意选定一个整数e(e不是必须为质数),要求e与(p-1)(q-1)互质,且e小于(p-1)(q-1)。

4、通过公式d×e ≡ 1 (mod (p-1)(q-1))来计算d。

5、将p和q销毁。

6、此时,(N,e)作为公钥使用,(N,d)作为私钥使用。

密钥使用方法

1、接收方在本地生成一对公钥(N,e)和私钥(N,d)。

2、接收方将公钥(N,e)发布到公共空间中,自己留存私钥(N,d)。

3、想要给接收方发送数据的人通过公钥加密数据。

4、接收方收到加密数据后通过私钥解密。

加密方法

1、将消息分组,每组分别加密(即分组加密)。

2、每组消息用以下公式计算:

其中:n为明文,e和N为公钥,余数c为密文。

3、将多组密文组织到一起即形成加密的消息。

解密方法

1、接收方收到加密消息后,将密文分组。

2、每组用以下公式来解码:

其中:c为密文,d和N为私钥,余数n为明文。

3、将每一组明文拼合,得到最终的消息。

 

 

 

 

 

 

你可能感兴趣的:(笔记,密码学,加密解密)