这篇论文即将发表在台湾唯一一个 information security 的期刊,信息安全通讯15卷第4期,出刊时间约为2009年10月10日前后。
以下是论文的内容。
以下的内容是实验的结果,根据论文的算法,实际以 Language C 设计出来,最后提出我们的攻击法,来证明这个算法是存在漏洞。
由以上内容知道,本方法确实比
【分享】An improved signature scheme without using one-way Hash functions 6 楼那篇论文 Cryptanalysis of a signature scheme without using one-way Hash functions.pdf 的方法还更有效率。
这是 source code,主要是验证我们的推论,各位可以参考上面的说明;当初没有优化,简单易懂,请见谅。
#include <stdio.h>
#include <windows.h>
#include <stdlib.h>
#include <math.h>
long GetPowAndMod(long g, long x, long p);
int main()
{
long g, x, p, y, m, k, s, r, t, gsk, j, M;
printf("Input g, x, p (Separated By Space) : ");
scanf("%ld%ld%ld", &g, &x, &p);
fflush(stdin);
y = GetPowAndMod(g, x, p) % p;
printf("y : %ld\r\n", y);
printf("Input m : ");
scanf("%ld", &m);
m = m % (p - 1);
s = GetPowAndMod((y + m), m, p) % p;
printf("s : %ld\r\n", s);
printf("Input k : ");
scanf("%ld", &k);
gsk = GetPowAndMod(g, k, p) % p;
for (j = 1 ; ; j++)
if ((j * gsk % p) == 1)
break;
r = (m * s * j) % p;
printf("r : %ld\r\n", r);
for (j = 1 ; ; j++)
if ((j * x % (p - 1)) == 1)
break;
t = ((((j * (k - (r ^ s))) % (p - 1))) - s) % p;
if (t < 0)
{
t += (p - 1);
printf("t : %ld\r\n", t % p);
}
else
{
printf("t : %ld\r\n", t % p);
}
for (j = 1 ; ; j++)
if ((j * s % p) == 1)
break;
M = (((((GetPowAndMod(y, s + t, p) * r) % p) * GetPowAndMod(g, r ^ s, p)) % p) * j) % p;
printf("M : %ld\r\n", M);
t = 2 * s + t;
r = -r;
s = -s;
for (j = 1 ; ; j++)
if ((j * -s % p) == 1)
break;
M = (((((GetPowAndMod(y, s + t, p) * -r) % p) * GetPowAndMod(g, r ^ s, p)) % p) * j) % p;
printf("M' : %ld\r\n", M);
printf("Input r', s', t' (Separated By Space) : ");
scanf("%ld%ld%ld", &r, &s, &t);
for (j = 1 ; ; j++)
if ((j * -s % p) == 1)
break;
M = (((((GetPowAndMod(y, s + t, p) * -r) % p) * GetPowAndMod(g, r ^ s, p)) % p) * j) % p;
printf("M'' : %ld\r\n", M);
system("pause");
return 0;
}
long GetPowAndMod(long g, long x, long p)
{
long Temp = g;
if (x > 2)
return (GetPowAndMod(g, x - 2, p) % p) * (g * g % p);
else
{
for (long j = 1 ; j < x ; j++)
Temp *= g;
return Temp;
}
}
[培训]内核驱动高级班,冲击BAT一流互联网大厂工
作,每周日13:00-18:00直播授课