- 博客(21)
- 收藏
- 关注
原创 同态算法FHEW笔记
1. 初探全同态加密之四:Bootstrapping的原理与实现https://zhuanlan.zhihu.com/p/260033204↩︎2.FHEW阅读笔记https://blog.csdn.net/AdijeShen/article/details/119539449↩︎。
2023-03-26 21:45:40
849
原创 NMS by Representative Region: Towards Crowded Pedestrian Detection by Proposal Pairing论文笔记
NMS by Representative Region: Towards Crowded Pedestrian Detection byProposal Pairing论文笔记看论文的笔记,欢迎一起讨论,毕竟我是条咸鱼,求大佬指点*一般学习的过程就是发现问题,解决问题,验证自己是对的。1.发现问题:pedestrian detection in crowded scenes is still challenging然后作者发现目前的NMS方法不太work的样子,然后就提出了a novel Re
2021-04-09 10:54:17
245
原创 C语言实现椭圆曲线点加
设是大于3的素数,上椭圆曲线方程在雅克比坐标下可以简化为,其中,且。椭圆曲线的点集可以记做,且满足方程。若对于和,若存在某个,使得,则称这三个元素等价 若, 记,则可以从雅克比坐标实现仿射坐标 若,(1,1,0)代表无穷远点在雅克比坐标下,点的运算法则如下: ,逆元素 :利用C语言实现大数椭圆曲线加法/*********************************************.
2020-06-14 18:09:11
2638
原创 椭圆曲线的基础知识
1.名词说明椭圆曲线离散对数(ESCDP):离散对数问题是寻找到一个整数指数,对于整数和素数的一个原根,使得。椭圆曲线上离散曲线是阶的椭圆曲线,点在椭圆曲线上,对于椭圆曲线上的点,寻找,使得。...
2020-06-10 23:06:05
6823
2
原创 c语言实现1024bit大数欧几里德求逆元(6)
因为需要苟代码,需要知道欧几里德的定义,然后看了大佬的解释,自己才可以继续编代码。辗转相除法, 又名欧几里德算法(Euclidean algorithm),是求两个正整数之最大公约数的算法。其具体的算法是:设 a = qb + r,其中a,b,q,r都是整数,则 gcd(a,b) = gcd(b,r),即 gcd(a,b) = gcd(b,a%b)。123456 和 7890 的最大公因子是 6参考文献:[1]:https://baike.so.com/doc/5939601-6152534.htm
2020-06-10 15:35:25
957
原创 NTRU格
看论文随手做得笔记。定义(反循环矩阵):维反循环矩阵是如下的拓普利兹矩阵:并且和。定义(NTRU格):设是幂2的整数,,,计算, 其中NTRU与相关,得到,是的满秩格可以由生成。证明:可以由生成。已知满足系数嵌入:。观察NTRU格,由所定义,具有储存内存小,但是具有极大的正交缺陷,所以在实际中不是很常用在解决格的相关问题,通过计算,可以找到另一组有效基。推论:设,计算,和产生相同格。证明:若格基,,可以说明两个格基产生相同格。...
2020-05-27 22:53:12
1128
原创 Micciancio 和 Peikert 提出的基于随机格的陷门生成算法
单向陷门函数:已知, 很容易求解; 但是已知,很难求解, 需要一些额外的知识,1.本原矩阵, 其中2 随机化通过幺模矩阵,这个转换过程是陷门 定义:设矩阵,,, 矩阵的-陷门是矩阵.。设可逆矩阵,有以下...
2020-05-21 23:18:54
1409
4
原创 C语言实现1024bit大数取模(5)
利用大数除法,很容易求模/****************************************************************************************************大数求模调用方式Mod(x,y,z)返回值,z=x%y*****************************************************************************************************/void Mod
2020-05-19 23:48:19
1297
1
原创 C语言实现1024bit大数除法(4)
先占一个坑,放上程序代码,等有空补充思路。/****************************************************************************************************大数相除调用方式Div(x,y,z)返回值,z=x/y*****************************************************************************************************/
2020-05-18 21:46:32
636
原创 c语言实现1024bit大数乘法(3)
记录大数相乘的一般思路,乘法只是正数的大数相乘,数组第0位代表数组长度。z[1]=x[1]*y[1]z[2]=x[1]*y[2] +x[2]*y[1]z[3]=x[1]*y[3] +x[2]*y[2]+x[3]*y[1]…因此可得z[i]=x[i-j+1]*y[i], for j=1到 y[0], x[0]> i-j>=0考虑到进为问题,得到如下程序 Init(t); t[0] = x[0] + y[0] - 1; for (i = 1; i <=
2020-05-17 20:21:47
1418
原创 c语言实现1024bit大数减法(2)
本程序只实现正数的大数减法,不考虑负数。if (Cmp(t, y) <= 0) Mov_Long(0, t);//该语句是将数组t赋值为t[33]={1,0},赋值为0假设是z=x-y,若x<y,那么设z=0.while (t[t[0]] == 0) t[0]--;//这里的t是中间值。x数组赋值给t数组在程序中,我设定数组的第0位为大数的长度,计算所得z[0]的长度应该是等于x[0],如果x[x[0]]=y[y[0]],计算所得z[0]的长度应该是等于x[0]-1,若x[
2020-05-16 17:43:50
412
原创 C语言实现1024bit大数加法(1)
本来利用一般的思想的是一个数组位存一位数, 需要初始化数组a[1024],但是可以利用更节省空间的方法。C语言unsigned int 的范围是0-2^32-1,一个数组位就可以存32bit(1个int = 4Bytes = 4*8bit = 32 bit),1024比特用初始化数组a[1024/32]=a[32]可以储存完。在本程序中,我用a[0]代表实际数组的长度,因此1024比特位的大数需要用数组a[33]存储。bitmap思想举一个例子 :其中0X代表16进制a[33]...
2020-05-13 20:38:36
2096
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人