自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 NTL密码算法开源库拓展——MD5

2021SC@SDUSCMD5加密过程十进制是逢十进一 二进制是逢二进一 十六进制是逢十六进一字节序的概念计算机的存储单位为字节,一个字节对应8个二进制位,共可以表示2^8也就是256种状态。若表示数的话,最多只能表示256个数。如一个字节可以表示非负整数的0~255,而表示更大的数,则需要占用多个字节,如表示256至少需要两个字节。256的二进制形式为 00000001 00000000。这样在计算机存储上就存在一个问题:是先存储00000001这个字节,还是先存储00000

2021-12-25 13:24:33 302

原创 NTL密码算法开源库拓展——SM2算法

2021SC@SDUSC一.概述本部分给出了SM2椭圆曲线公钥密码算法涉及的必要数学基础知识与相关密码技术,以帮助实现其它各部分所规定的密码机制。本部分适用于基域为素域和二元扩域的椭圆曲线公钥密码算法。符号和缩略二.SM2的主要功能1.公私钥私钥:BN_大整数 公钥:EC-Point 椭圆曲线上的点 整体结构2.数字签名算法2.1 签名(User A)签名者用户A的密钥对包括其私钥dA和公钥PA=[dA]G= (xA,yA) 签名者用户

2021-12-19 23:55:53 840

原创 NTL密码算法开源库——GF2E上多项式(GF2EX)(二)

2021SC@SDUSC最小多项式根据哈密顿-凯莱定理,任给数域P上的一个n级矩阵A,总可以找到数域P上一个多项式使如果多项式使我们就称以A为根。以A为根的多项式是很多的,其中次数最低的首项系数为1的以A为根的多项式称为A的最小多项式。讨论如何应用最小多项式来判断一个矩阵能否对角化.引理1:矩阵A的最小多项式是唯一的。引理2:设是矩阵A的最小多项式,那么以A为根的充分必要条件是整除.由此可知,矩阵A的最小多项式是A的特征多项式的一个因式。例1:数量矩阵kE的最

2021-12-07 21:48:12 281

原创 NTL密码算法开源库——GF2E上多项式(GF2EX)(一)

2021SC@SDUSC多项式mod的运算方法伽罗华域(Galois Field,GF)中关于多项式的mod运算过程,也不知道这样称合适不。这里主要是以构造GF(2^3)域为例,说明mod的运算过程,假设本原多项式为p(x)=x^3+x+1,α定义为 p(x)= 0的根,即 α^3+α+1 = 0,GF(2^3)中的元素可计算如下:计算的方法还是比较简单,但是要知道这个过程,其他项依次类推,不太会用公式编辑器,就不再举例了。再说明一点,同幂次间的加减计算都是模2和

2021-12-07 21:44:56 899

原创 NTL密码算法开源库——GF2上环/域的扩张(GF2E)

2021SC@SDUSC一.单变元模线性方程已知a,b,n,求x,使得ax≡b(mod n)。令d = gcd(a,n),先使用扩展欧几里得求 ax+ny=d 的解。如果 b 不能整除 d 则无解,否则 mod n意义下的解有 d 个,可以通过对某个解不断地加 n/d 得到。复杂度:O(logn)输入:a,b,n 三个整数输出:所有[0,n)中满足 ax≡b(mod n) 的解。代码int gcd(int a, int b, int &x, int &amp

2021-12-07 21:36:48 252

原创 NTL密码算法开源库——模二整数上的矩阵(mat_GF2)

2021SC@SDUSC一、矩阵的加法与减法简言之,两个矩阵相加减,即它们相同位置的元素相加减!  注意:只有对于两个行数、列数分别相等的矩阵(即同型矩阵),加减法运算才有意义,即加减运算是可行的。2、运算性质(假设运算都是可行的)  满足交换律和结合律  交换律  ;  结合律 二、矩阵与数的乘法 1、运算规则  数 乘矩阵A,就是将数 乘矩阵A中的每一个元素,记为 或 .  特别地,称 称为 的负矩阵. 2、运算性质  满足结合律和分配律  结合律:(λ...

2021-11-21 21:48:14 568

原创 NTL密码算法开源库——大整数上多项式(ZZX,GF2X)

2021SC@SDUSC一.关于用矩阵算多项式的最大公因式1.在开始前先来说几个定理,你可以先看下面的部分,等充满疑惑后再来看这一部分:定理1:(f(x),g(x))=(f(x)±g(x),g(x)±f(x))=(f(x)±g(x),g(x))=(f(x),g(x)±f(x))定理2:如果f(x)=ax^n+bx^n-1+……+cx,那f(x)=x*(ax^n-1+bx^n-2+……+c)。而如果同时(x,g(x))=1,那易得(f(x),g(x))=(f(x)/x,g(x))2.用矩阵

2021-11-16 19:15:32 404

原创 NTL密码算法开源库——模2整数

2021SC@SDUSC综述模2运算是一种二进制算法,不考虑进位和借位,即模2加法是不带进位的二进制加法运算,模2减法是不带借位的二进制减法运算。模2运算模2加法两个序列模二相加,即两个序列中对应位相加,不进位,相同为0,不同为1。1+1=0 0+0=0 1+0=1 0+1=1(相同即为0,否则为1)例如: 0 1 0 1+ 0 0 1 1────── 0 1 1 0模二减法减法和加法一样,按加法规则运算。...

2021-11-10 15:08:18 181

原创 NTL密码算法开源库——大整数ZZ类(四)

2021SC@SDUSCRSA算法原理密钥生成的步骤第一步,随机选择两个不相等的质数p和q。爱丽丝选择了61和53。(实际应用中,这两个质数越大,就越难破解。)第二步,计算p和q的乘积n。爱丽丝就把61和53相乘。n = 61×53 = 3233n的长度就是密钥长度。3233写成二进制是110010100001,一共有12位,所以这个密钥就是12位。实际应用中,RSA密钥一般是1024位,重要场合则为2048位。第三步,计算n的欧拉函数φ(n)。根据公式:φ(n) =

2021-10-31 22:46:46 1232

原创 NTL密码算法开源库——大整数ZZ类(三)

2021SC@SDUSCjacobi符号数学原理:中国剩余定理,同余式,二次同余式,勒让德符号中国剩余定理//中国剩余定理模板代码typedef long long ll;ll china(ll a[],ll b[],int n)//a[]为除数,b[]为余数{ ll M=1,y,x=0; for(int i=0;i<n;++i) //算出它们累乘的结果 M*=a[i]; for(int i=0;i<n;++i...

2021-10-24 14:50:33 345

原创 NTL密码算法开源库——大整数ZZ类(二)

2021SC@SDUSC素数检测(1)数学基础:费马小定理,二次探测定理,欧拉定理,Miller-Rabin素数测试,同余式,wilson定理,乘法逆元,简化剩余系费马小定理:若存在整数 a , p 且gcd(a,p)=1,即二者互为质数,则有a^(p-1)≡ 1(mod p)。证明:设m是一个整数且m>1,b是一个整数且(m,b)=1。如果a[1],a[2],a[3],a[4],…a[m]是模m的一个完全剩余系,则b·a[1],b·a[2],b·a[3],b·a[4],…b·

2021-10-16 19:41:31 432

原创 NTL密码算法开源库——大整数ZZ类(一)

2021SC@SDUSC本章综述大整数ZZ类主要实现了任意长度大整数表示、最大公因数、Jacobi符号和素性检验。笔者将通过逐个分析ZZ.cpp源代码中函数的形式来一步步向读者展示NTL是如何实现上述功能的。计算最大公因数(gcd)(1)数学基础:(广义)欧几里得除法知识储备(定理,公立,公式)·如果 b|a ,则(a,b) = b;·如果a,b为两整数,则(a,b) = (b,a)·如果 p为素数,a为整数,且p ∤a,则a和p互素 证明:设(a,p) = d...

2021-10-05 19:28:07 1655

原创 NTL密码算法开源库--综述

NTL密码算法开源库(数论库)代码分析项目--综述项目综述NTL开源代码库的安装和使用NTL代码开源库主要解决的问题项目分工以及核心代码的分配项目综述NTL算法库是开放源码的自由软件,具有专业处理任意精度大整数、实数的计算数论与计算代数的高性能可移植c++库,提供了任意大整数、任意精度实数以及基于整环和有限域上向量、矩阵、多项式的数据结构和算术运算,同时提供了大量的库函数实现,因此它是信息安全理论实现、符号计算与计算机自动推理平台开发的高效函数库。近年来,众多国内外研究人员将其应用于信息安...

2021-09-29 15:52:13 2041 3

空空如也

空空如也

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

TA关注的人

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