密码学
BUAA_Alchemist
这个作者很懒,什么都没留下…
展开
-
【密码学】miracl大数库学习相关
最近在做全国高校密码学的竞赛。各种算法的实现都需要用到大整数的相关运算。我们知道,C/C++的long long范围大概能到9E18,gcc支持的__int128大概能到1E38,能搞定一部分数据的运算了,但是真正的大数还是搞不掂。而python和Java虽然都有大整数库和密码学的库,但用Python开发有点担心效率问题,而Java自己还不是完全习惯(经历过后面的事情我才知道选择Java和Pyt...原创 2019-01-20 00:18:59 · 3352 阅读 · 1 评论 -
【密码学】最近遇到的一些小坑
有两天没写东西了,这两天主要在搞一些个人觉得麻烦又意义不大的事情。椭圆曲线对数(ecdlp)的赛题,基于miracl库写了一个非并行的pollard-rho算法,代码也就七十多行,经过不懈的算法上的尝试和优化,最小的数据十秒钟就能出解了,但对于稍微大一些的数据明显力不从心。后来翻到miracl库文档之中有提到它包含的comba方法和kcm方法。尤其是comba,专门对椭圆曲线上点坐标频繁的取模运...原创 2019-02-01 00:16:10 · 283 阅读 · 0 评论 -
如何用分布式Pollard-Rho法对椭圆曲线离散对数问题(ECDLP)进行攻击(上)
上个学期,竞赛因为种种原因没有继续进行而搁浅。这里仅仅分享一下临时成果。 椭圆曲线离散对数问题赛题介绍如下 任何一个熟悉密码学的人基本上都会了解椭圆曲线离散对数问题。它比较普通素数域离散对数问题更具有难解性。因此相当多的公钥密码体制都构建在这个问题的基础上,如EC-Elgamal系统,以及数字签名、密钥交换协议等...原创 2019-07-15 11:44:54 · 4538 阅读 · 2 评论 -
如何用分布式Pollard-Rho法对椭圆曲线离散对数问题(ECDLP)进行攻击(下)
在上一篇中,我主要介绍了对赛题的初步攻击——单机Pollard-Rho。接下来介绍分布式算法。 让多个机子,从点集合G中不同的起点进行出发,用QD法记录的桩点会被记录到一个公共表里,然后每个机子共享数据,也就是说每个机子可以知道一个桩点,是否曾经被自己或者其它机子产生出来过。 这里面有一些隐含的信息。首先,并不是有n台机子,产生答案的时间就会缩短到原来的1/n,事实上,随机产生的Rho图数量...原创 2019-07-15 21:39:15 · 1976 阅读 · 2 评论