自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 MIRACL密码库分析报告13 mrxgcd.c

2021SC@SDUSCmrxgcd.c实现扩展最大公约数模块。static mr_small qdiv(mr_large u,mr_large v){ /* fast division - small quotient expected. */ mr_large lq,x=u;#ifdef MR_FP mr_small dres;#endif x-=v; if (x<v) return 1; x-=v; if (x<v) return

2021-12-28 00:00:56 352

原创 MIRACL密码库分析报告12 mrstrong.c

2021SC@SDUSCmrstrong.c主要实现MIRACL密码强随机数生成器。static mr_unsign32 sbrand(csprng *rng){ /* Marsaglia & Zaman random number generator */ int i,k; mr_unsign32 pdiff,t; rng->rndptr++; if (rng->rndptr<NK) return rng->ira[rng->rn

2021-12-28 00:00:45 401

原创 MIRACL密码库分析报告14 mrscrt.c

2021SC@SDUSCmrscrt.c主要实现中国剩余定理。一元线性同余方程组问题最早可见于中国南北朝时期(公元5世纪)的数学著作《孙子算经》卷下第二十六题,叫做“物不知数”问题,原文如下:有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二。问物几何?即,一个整数除以三余二,除以五余三,除以七余二,求这个整数。《孙子算经》中首次提到了同余方程组问题,以及以上具体问题的解法,因此在中文数学文献中也会将中国剩余定理称为孙子定理。宋朝数学家秦九韶于1247年《数书九章》卷一、二《大衍类》对“物不

2021-12-28 00:00:32 419

原创 MIRACL密码库分析报告11 mrsroot.c

2021SC@SDUSCmrsroot.c主要解决MIRACL模平方根问题。关键代码:BOOL nres_sqroot(_MIPD_ big x,big w){ /* w=sqrt(x) mod p. This depends on p being prime! */ int t,js; #ifdef MR_OS_THREADS miracl *mr_mip=get_mip();#endif if (mr_mip->ERNUM) return FALSE;

2021-12-27 23:32:14 204

原创 MIRACL密码库分析报告10 mrshs.c

2021SC@SDUSCmrshs.c实现安全哈希标准。安全哈希算法(Secure Hash Algorithm)SHA1主要适用于数字签名标准 (Digital Signature Standard DSS)里面定义的数字签名算法(Digital SignatureAlgorithm DSA)。对于长度小于2^64位的消息,SHA1会产生一个160位的消息摘要。当接收到消息的时候,这个消息摘要可以用来验证数据的完整性。在传输的过程中,数据很可能会发生变化,那么这时候就会产生不同的消息摘要。 SHA1有

2021-12-27 23:27:46 303

原创 MIRACL密码库分析报告9 mrsha3.c

2021SC@SDUSCmrsha3.c主要实现哈希算法。散列算法,又称哈希算法,杂凑算法,是一种从任意文件中创造小的数字「指纹」的方法。与指纹一样,散列算法就是一种以较短的信息来保证文件唯一性的标志,这种标志与文件的每一个字节都相关,而且难以找到逆向规律。因此,当原有文件发生改变时,其标志值也会发生改变,从而告诉文件使用者当前的文件已经不是你所需求的文件。static void shs_transform(sha3 *sh){ int i,j,k; mr_unsign64 C[5],D[5],

2021-12-27 23:24:58 276

原创 MIRACL密码库分析报告8 mrrand.c

2021SC@SDUSCmrrand.c实现MIRACL随机数例程void bigrand(_MIPD_ big w,big x){ /* generate a big random number 0<=x<w */ int m; mr_small r;#ifdef MR_FP mr_small dres;#endif#ifdef MR_OS_THREADS miracl *mr_mip=get_mip();#endif if (mr_

2021-12-27 23:09:08 139

原创 MIRACL密码库分析报告7 mrpower.c

2021SC@SDUSCmrpower.c实现模幂的MIRACL方法。void nres_powltr(_MIPD_ int x,big y,big w){ /* calculates w=x^y mod z using Left to Right Method */ /* uses only n^2 modular squarings, because x is small */ /* Note: x is NOT an nresidue */ int i,nb;#ifdef

2021-12-27 23:03:26 243

原创 MIRACL密码库分析报告6 mrpi.c

2021SC@SDUSCmrpi.c主要实现用高斯-勒让德法计算pi。在区间[−1,1]上,高斯-勒让德求积公式为我们知道勒让德多项式 Pn+1(x) 的零点就是求积公式的高斯点,形如上式的高斯公式特别的称为高斯-勒让德公式。若取 P1(x)=x 的零点 x0=0 做节点构造求积公式令它对 f(x)=1准确成立,即可定出 A0=2 。这样构造出的一点高斯-勒让德求积公式是中矩形公式,再取 P2(x)=12(3x2−1)的两个零点 ±13√构造求积公式令它对 f(x)=1,x 都准确成立,有

2021-12-27 22:58:17 119

原创 MIRACL密码库分析报告5 mrmonty.c

2021SC@SDUSCmrmonty.c主要实现蒙哥马利的无除法模运算方法。这种方法的优点是不需要除法来计算模,缺点是必须要转化为n-residue形式。针对快速模幂运算这一课题,西方现代数学家提出了大量的解决方案,通常都是先将幂模运算转化为乘模运算。例如求D=C^15%N由于:ab % n = (a % n)(b % n) % n所以令:C1 =CC % N =C^2 % NC2 =C1C % N =C^3 % NC3 =C2C2 % N =C^6 % NC4 =C3C % N =

2021-12-27 22:52:53 166

原创 MIRACL密码库分析报告4 mrjack.c mrlucas.c

2021SC@SDUSCmrjack.c主要实现雅可比符号的二进位算法。雅可比符号是勒让德符号的推广,在素性检验以及因子分解等诸多方面极为有用。int jack(_MIPD_ big a,big n){ /* find jacobi symbol (a/n), for positive odd n */ big w; int nm8,onm8,t;#ifdef MR_OS_THREADS miracl *mr_mip=get_mip();#endif if (mr

2021-12-27 22:44:17 172

原创 MIRACL密码库分析报告3 mrio.c

2021SC@SDUSCmrio1.c和mrio2.c主要实现库的输入输出。int instr(_MIPD_ flash x,char *string){ /* input a big number * * returns length in digits */ int i,ipt,n,s,e,pads; BOOL first_after_pad; int ch,lc;#ifdef MR_FLASH BOOL frac;#endif#ifdef

2021-12-27 22:37:00 218

原创 MIRACL密码库分析报告2 mrgcm.c

2021SC@SDUSCmrgcm.c主要实现了AES-GCM加密。AES加密是对称加密的一种,即加密和解密使用相同的一把密钥,主要是用来取代DES加密算法。AES加密是一种分组加密技术,即把明文分成一组一组的,每组长度相等,每次加密一组数据,直到加密完整个明文。在这里,AES加密采用的是其标准规范,每组16bytes。关键代码:static MR_WORD pack(const MR_BYTE *b){ /* pack bytes into a 32-bit Word */ retur

2021-12-27 22:24:47 1764

原创 MIRACL密码库分析报告1 总述

目录安装调试下载编译测试核心代码分析总述分工最底层算法大整数乘法模乘Montgomery模乘扩展欧几里得算法核心代码dssign.cdssver.cecsgen.c, ecsign.c, ecsver.cecsgen2.c, ecsign2.c, ecsver2.cppbrick.c, ebrick.c, ebrick2.cidentity.cPairing based Cryptography安装调试下载下载Miracl:https://github.com/miracl/MIRACL解压后,显示

2021-09-30 21:09:57 944

空空如也

空空如也

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

TA关注的人

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