2021-05-07
Posted XQ.Qing
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2021-05-07相关的知识,希望对你有一定的参考价值。
2021.05 信息安全实训课课程笔记
信息加密与哈希函数
课前准备:C/C++编译环境、DES Tool、RSATool2v17、Hash Tool。
古典密码学:
替换思想,换位思想
现代密码学:
对称加密:
采用单钥密码系统的加密方法,同一个密钥可以同时用作信息的加密和解密,这种加密方法称为对称加密,也称为单密钥加密。
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、将每一组明文拼合,得到最终的消息。
以上是关于2021-05-07的主要内容,如果未能解决你的问题,请参考以下文章