Side channel attack:它是对Montgomery模块化乘法算法实现的定时攻击 源码
侧通道攻击 该项目分为两个部分: 第一部分 修改RSA实现,以使用蒙哥马利模块化乘法而不是常规模块化乘法。 在使用BigInteger类的方式进行了一些更改之后,这几乎可以使解密过程中的性能提高两倍。 这部分包括crypto.java和montgomery.java类。 第二部分 边信道定时攻击,以验证attack.java中给出的私有指数的第二个最高有效位是1。 使用给定的私有指数的不同部分,不同的指数长度进行程序实验。 对于这些长度中的每一个,重复进行20次实验,并计算结果与第二个最高有效位是1的事实相符的次数。 在20次重复的每次试验中,程序收集10,000个样本的执行时间,然后继续知道第二高有效位是0还是1,如果该技术输出1,则表示成功,否则,则不是。 为了估计目标比特, attack.java类中使用的技术如下: 对于每个样本,程序都会对目标位进行两个假设,一个假设为零,另一个
用户评论