自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(6)
  • 收藏
  • 关注

原创 ELGamal密钥---最终版

上次写过一个,后来才发现那个纯属是胡扯的;前面找原根的方法是错的离谱的,这次我改进了一下方案,可以运行,但是运行时间还是有个十几秒到三十秒左右~~题目描述题目其实很好理解,总的来说就只有一个难点----求原根首先来说说什么是原根,想了解什么是原根就要了解什么是阶(描述的可能不准确),还有欧拉函数,详情请自行百度~,首先我不是信息安全专业的,没学信息安全数学基础,所以请不要强求我,我只是一个码代码滴!第一步:取一个随机的素数q,并且这个素数满足p = 2q + 1也是一个素数第二步:随机取一个数g

2020-12-01 14:39:31 786

原创 DSA加密算法(产生公钥和私钥)以及检验签名

题目描述:给定消息,对其利用DSA进行签名,并且根据给定的返回值(r,s)与返回的消息判定签名是否有效废话不多讲,直接说直接上代码DSAimport hashlibimport randomimport tools# 获取一个大素数p,满足2**(L-1) < p < 2**L,且L是64的倍数,512 < L < 1024class Key(object): # 创建一个素数对象,含有相关的方法 def __init__(self, count):

2020-12-02 21:51:54 2200

原创 列表的交并补差运算

题目要求:实现两个列表的交并补差运算参考高中集合知识可知:(均以A,B集合为例)集合特点:无序,互异,确定交集:两个集合的公共元素组成的集合 记作:A∩B并集:包含两个集合的所有元素的集合 记作:A∪B补集:A是B的一个子集,由B中所有不属于A的元素组成的集合,叫做子集A在B中的补集 记作:cBA差集:(A - B) A中不含B中所有元素的集合思路:(list1,list2)1列表交集(intersect):两个列表中所有的公共元素所组成的列表,一一比对即可2列表并集(union):先求

2020-11-19 19:43:23 1335 1

原创 费马素性检测

题目要求:关键算法:快速模指数算法,用来求指数很大时,模p的值(p是一个很大的数)相关代码import randomdef quick_algorithm(a, b, c): # 求a**b mod c a = a % c ans = 1 while b != 0: if b & 1: ans = (ans * a) % c b >>= 1 a = (a * a) % c

2020-11-15 13:56:03 563

原创 python实现中国剩余定理

定理内容:题目要求:(-1) 输入list_m,list_a(0) 写出欧几里得算法,定义出gcd(a :int,b:int)函数:用来求取两个整数的最大公约数(1) 首先要判断输入的list_m 中所有的元素是否两两互素,如果不是,就不能 用中国剩余定理(CRT).(2)满足条件,第二步求出list_m中所有元素之积 m(3)求list_M ; list_M[i] = m // list[i](4)求list_M_inverse; list_M_inverse[i] *

2020-11-13 14:28:45 3538

原创 (t,n)门限秘密共享方案--基于中国剩余定理的秘密共享方案

(t,n)门限秘密共享方案–基于中国剩余定理的秘密共享方案题目描述:import random # 调用random模块def gcd(a, b): # 定义一个gcd函数,用来求两个数的最大公约数 采用欧几里得算法 if b == 0: return a else: return gcd(b, a % b)def compare(list, x): # 定义一个compare()函数 传入参数为一个列表list和一个数据x

2020-11-12 17:02:36 3804 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除