IT评测·应用市场-qidao123.com

标题: 西电应用密码学与网络安全实行通关指南 [打印本页]

作者: 刘俊凯    时间: 2025-3-3 20:05
标题: 西电应用密码学与网络安全实行通关指南
西电应用密码学与网络安全实行通关指南

这是计科网络方向应用密码学与网络安全的随课实行, 占课程分数的20%. 第一次主要是先容内容, 两周后的第二次实行主要是验收, 实行内容本身线下完成即可.
实行内容如下:
这个实行的目标是为了考察对于各个加密算法的流程的理解和把握, 并不是要让你真的手搓这些算法(当然能手搓也是一种能力). 最后验收只要将结果展示出来并且能表明清楚(需要完备讲述算法流程, 主要验收DES, AES, RSA, MD5, 以及文件安全传输)
DES

DES 算法是在 Feistel network 的基础上实行的.以下是 DES 算法的流程图:

我们可以看到DES算法可以分为左右两个部分, 左半部分为迭代加密, 右半部分为子密钥天生.
子密钥天生
我们要从初始的64位的秘钥中天生16个48位的子密钥(Sub-key), 大抵步骤如下:
迭代加密
迭代加密部分, 主要分为两个步骤:
轮函数
AES

AES算法的流程图:

每一轮迭代都是字节替换, 行移位, 列肴杂, 轮秘钥加这四个步骤. 以128位秘钥为例, N=10, 需要N+1(11)个轮秘钥, 中心循环迭代N-1(9)轮, 也可以说迭代N轮, 最后一轮不举行列肴杂
关于字节替换, 行移位, 列肴杂的详细细节可以去看PPT, 在验收时不要求能详细说出来.
秘钥扩展
AES加密可以接纳不同长度的秘钥, 一样平常为128位, 192位, 256位, 分别对应10轮, 12轮, 14轮. 秘钥扩展的步骤如下(以128位秘钥为例):
示意图:

MD5

MD5是一个基于哈希函数的加密算法, 其输入为任意长度的二进制数据, 输出为128位的二进制数据.
其流程如下:
RSA比较简朴我就不写了
文件安全传输

要设计一套A和B之间可以安全通信的方案, 不需要思量传输部分, 由于这是基于前面的代码的, 集成起来比较贫苦. 验收时讲解流程和展示结果即可, 不需要现场运行
方案设计:

参数选取
RSA A:选择 p=61,q=53,e=17 得到公钥(e,n)=(17,3233) 私钥(d,
n)=(2573,3233)
RSA B:选择 p=47,q=59,e=63 得到公钥(e,n)=(63,2773) 私钥(d,
n)=(847,2773)
明文: levit
AES 秘钥: 12345678KJNMLSDG
加密过程(A):
AES 密文: 640246746 37579803911 321220508 1223758774 116
用 B 的公钥对 AES 秘钥举行 RSA 加密 RSA_AES_miyao : ۯ Ϳ ʭ ؆ ij β ճ ਝ ѽ
॥ ¤ ઁ উ ३ ષ
对明文计算 MD5 择要,MD5_miwen: ea152a3ff6469c391ee8c79a01191d80
A 的私钥对 MD5_miwen 加密, RSA_MD5_miwen: ઁ ઁ ઁ ۰ χ χ స ص
స ਘ ō ۰ ਘ ұ ō ਘ ઁ ਐ ਘ Ɵ ұ ਐ ষ
最后把加密天生的文件 AES_miwen.txt、RSA_AES_miyao.txt、
RSA_MD5_miwen.txt 打包发给终端 B
解密过程(B):
终端 B 的私钥对 RSA_AES_miyao.txt 举行 RSA 解密, 得到:AES_Key
对 AES_miwen 解密,得到明文 AES_mingwen.txt
用 MD5 算法对所得明文 AES_mingwen.txt 举行加密天生解密后的明文择要。得
到: AES_mingwen_MD5.txt
RSA 算法用终端 A 的公钥对 RSA_MD5_miwen.txt 举行解密,得到:
RSA_MD5_mingwen.txt
比较 RSA_MD5_mingwen.txt 和 AES_mingwen_MD5.txt 有什么不同
加密结果与编码有关, 同样参数也可能显示不一样的结果
结果展示:




代码和实行陈诉开源在了我的github上, 假如对你有帮助的话, 欢迎star和follow




欢迎光临 IT评测·应用市场-qidao123.com (https://dis.qidao123.com/) Powered by Discuz! X3.4