![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
密码学实验
Qian途
吃得苦中苦,睡得心上人
展开
-
python实现公开密钥密码(内含:模重复平方算法(6)、Miller-Rabin素数测试(8)、广义欧几里得算法(10))
实验(1)令 p=3,q=11,d=7,m=5, 编程计算密文 C 。def isPrime(a,b): while a != 0: #辗转相除法求最大公约数 a,b = b % a,a if b == 1: flag = 1 else : flag = 0 return flagp = 3 q = 11d = 7 m = 5n = p * qun = (p -1) * (q - 1).原创 2020-06-01 13:59:10 · 1370 阅读 · 4 评论 -
python实现DES加密算法(超级详细)
原理参考:https://blog.csdn.net/qq_27570955/article/details/52442092流程图大概如图所示:原理搞懂之后接下来先做一些准备工作,先创建如下文件(理由后面提到)miwen.txt是我最后用来存生成的密文的,可以不建:每个文件的内容分别如下:E_extend.txt32,1,2,3,4,5,4,5,6,7,8,9,8,9,10,11,12,13,12,13,14,15,16,17,16,17,18,19,20,21,20,21,22,原创 2020-05-25 17:58:39 · 6091 阅读 · 7 评论 -
python实现仿射密码、维吉尼亚密码和沃南密码
仿射密码仿射密码的映射函数为f(ai)=bi=aj,j=ik1+k0 mod n ,(k1,n)=0,0<k0<n,且不容许同时有k1=1和k0=0。#仿射密码------------------------------------------------------------------------------------------------------def judge(a,b): #判断两个数是否互质 temp = 0 while(.原创 2020-05-22 08:27:32 · 1138 阅读 · 1 评论 -
c++、python实现置换密码(栅栏技术,列置换)、替代密码(加法密码(Caesar密码),乘法密码)
置换密码代码如下:#置换密码a = input('请输入明文:')print("逆序后的密文为:",a[::-1]) 结果如图:代码如下:#栅栏技术(栏数为7)a = input('请输入明文:')b = []c = []b.extend(a)len = len(b)for i in range(7): c.extend(b[i:len:7])pr...原创 2020-05-08 16:11:34 · 4955 阅读 · 6 评论