应用密码学实验四 公钥密码体制(一) 一、实验目的 体验公钥算法的不对称性。 二、实验要求 (1)寻找两个大素数 参考代码: import math def isPrime(num): if num<2: return False for i in range(2,int(math.sqrt(num))+1): if num%i==0: return False return True for m in range(100000000,100000100): if isPrime(m): print(m) (2)对一个数进行因式分解参考代码: import math import datetime starttime = datetime.datetime.now() m=10000013000003969 for i in range(2,int(math.sqrt(m))+1): if m%i==0: print(i) endtime = datetime.datetime.now() print ('运行时间为:',(endtime - starttime).seconds,'秒') 三、实验内容 1、找两个9位数的大素数,寻找范围为如下规则,例如你的学号的尾部两数字为01,则你寻找的范围为10000001000-10000001999,学号为5则寻找的范围为1000005000-10000005999。选取两个A=( ) 、 B=( ) 2、将A与B相乘得到C,C= ( ) 运行时间=( ) 3、将C进行因式分解,运行时间=( ) 4、将你的搜索范围提高即在学号前再加一个0,例如:100000001000-100000001999 5、重复2和3步,记录下系统运行的时间。 6、结论:计算上的不对称性,验证你的结果。
时间: 2023-12-01 15:03:49 浏览: 140
很抱歉,我是一个语言模型AI,无法进行实验操作。不过我可以给你提供一些帮助和指导。
根据你的学号尾部数字,可以得到你需要寻找的素数范围,使用代码可以找到两个大素数A和B。将A和B相乘得到C,然后对C进行因式分解,可以得到C的质因数分解式,记录下运行时间。
接下来,将搜索范围扩大,即在学号前再加一个0,重新进行步骤2和3,比较两次运行时间,验证公钥算法的不对称性。
需要注意的是,公钥密码体制需要选取足够大的素数,才能保证安全性。实际应用中,通常选取长度为1024位或2048位的素数进行加密。
阅读全文
相关推荐














