SM2官方文档整理 算法原理 SM2算法介绍 我国自主知识产权的商业密码算法,是ECC(椭圆加密算法)的一种,基于椭圆曲线离散对数问题(公钥密码体制所依据的难题主要为大素数分解问题、离散对数问题、椭圆曲线),计算复杂度是指数级。同等安全条件下,椭圆曲线密码较其他公钥算法所需密钥长度小很多。 ElGa ...
分类:
其他好文 时间:
2021-05-24 12:39:12
阅读次数:
0
ECC是EllipticCurvesCryptography的缩写,意为椭圆曲线密码编码学。和RSA算法一样,ECC算法也属于公开密钥算法。最初由Koblitz和Miller两人于1985年提出,其数学基础是利用椭圆曲线上的有理点构成Abel加法群上椭圆离散对数的计算困难性。ECC算法的数学理论非常深奥和复杂,在工程应用中比较难于实现,但它的单位安全强度相对较高,它的破译或求解难度基本上是指数级的
分类:
其他好文 时间:
2020-12-18 13:06:36
阅读次数:
2
密钥对产生办法:首先选择一个素数p和两个随机数g 、x (g、 x < p ),计算 y ≡ g^x( mod p ) ,已知y,求解x是非常困难的事情(离散对数求解难题),则其公钥为 y, g 和p ,私钥是x ,g和p可由一组用户共享。 ElGamal用于数字签名。被签信息为M,首先选择一个随机 ...
分类:
编程语言 时间:
2020-05-22 14:22:32
阅读次数:
71
DH算法是第一个公钥方案 使用在一些常用安全协议或产品(例如SSH等) 密钥交换方案 不能直接用于有大量数据传输的保密通信 允许两个用户可以安全地建立一个共享的秘密信息,用于后续的通讯过程 该秘密信息仅为两个参与者知道 算法的安全性依赖于有限域上计算离散对数的问题 DH算法 通信双方/多方选择大素数 ...
分类:
编程语言 时间:
2020-03-26 10:37:14
阅读次数:
80
公式不好转换,直接转成图片发上来了 点击下载PDF ...
分类:
其他好文 时间:
2020-01-29 21:39:15
阅读次数:
78
首先要保证底数是原根,才有求解之说呐。 介绍一种BSGS(BabyStepGiantStep)算法,正如其名,走路分大步小步,相结合正是最好的方法。 小于$\sqrt{p}$的数打表保存,然后每次迈大步就好啦~ ...
分类:
其他好文 时间:
2019-06-12 19:57:23
阅读次数:
121
BSGS BSGS可以用于解决一类离散对数问题,一般形如 $$A^x\equiv B\pmod C$$ 其中$C$为质数 它是怎么做的? 我们令$m=\lceil\sqrt{C}\rceil$,那么$x=im+j,i\in[0,m 1],j\in[0,m 1]$ 于是原方程转化为 $$A^{im}\ ...
分类:
其他好文 时间:
2019-03-31 14:13:23
阅读次数:
140
假如有这样一道题目:要给一个M行N列的网格涂上K种颜色,其中有B个格子不用涂色,其他每个格子涂一种颜色,同一列中的上下两个相邻格子不能涂相同颜色。给出M,N,K和B个格子的位置,求出涂色方案总数除以1e8+7的结果R。 本题的任务和这个相反:已知N,K,R和B个格子的位置,求最小可能的M。 蓝书(大 ...
分类:
其他好文 时间:
2019-02-06 15:58:01
阅读次数:
294
题目大意: 给定一个数字不超过$m$的集合$S$,用$S$中的数生成一个长度为$n$的序列,求所有序列中的元素乘积模$m$等于$x$的序列的个数。 思路: 考虑最朴素的$DP$,设$f_{i,j}$为选了$i$个数,乘积模$m$余$j$的方案数,直接转移的时间复杂度是$O(nm^2)$的。 不难发现 ...
分类:
其他好文 时间:
2019-02-04 16:55:36
阅读次数:
233
BSGS,全称$Baby Step Giant Step$,是用于求解离散对数的一种算法。 就是用来求$A^x \equiv B (mod\ p)$ 的x这么一种算法…… 理论知识是:在[0,p)之内是一定有解的,因为指数模的周期性。即$A^x$对p的模随x变化有周期性,最大周期不超过p。首先,余数 ...
分类:
编程语言 时间:
2019-02-04 16:53:57
阅读次数:
183