version 1.1, 2004/08/16 03:59:58 |
version 1.2, 2005/05/29 11:17:07 |
|
|
/* $OpenXM$ */ |
/* $OpenXM: OpenXM/src/ox_ntl/crypt/rsa/gmprsatest.c,v 1.1 2004/08/16 03:59:58 iwane Exp $ */ |
|
|
#include <stdio.h> |
#include <stdio.h> |
#include <stdlib.h> |
#include <stdlib.h> |
Line 80 rsa_set_memory_functions(void) |
|
Line 80 rsa_set_memory_functions(void) |
|
int |
int |
main(int argc, char *argv[]) |
main(int argc, char *argv[]) |
{ |
{ |
mpz_t a, b; |
mpz_t a, b, c; |
int add = 1024; |
int add = 1024; |
rsa_key rsa; |
rsa_key rsa; |
|
|
Line 91 main(int argc, char *argv[]) |
|
Line 91 main(int argc, char *argv[]) |
|
unsigned char eb[9024], *ebp = eb; |
unsigned char eb[9024], *ebp = eb; |
unsigned char db[9024], *dbp = db; |
unsigned char db[9024], *dbp = db; |
int x; |
int x; |
int a1, a2; |
int a1, a2 = 1; |
|
|
if (argc >= 2) |
if (argc >= 2) |
add = atoi(argv[1]); |
add = atoi(argv[1]); |
Line 100 main(int argc, char *argv[]) |
|
Line 100 main(int argc, char *argv[]) |
|
|
|
mpz_init(a); |
mpz_init(a); |
mpz_init(b); |
mpz_init(b); |
|
mpz_init(c); |
|
|
|
mpz_fac_ui(a, 120); |
|
|
rsa_init(&rsa); |
rsa_init(&rsa); |
|
|
x = rsa_keygen(&rsa, a, b, 1024, 10); |
printf("keygen\n"); fflush(stdout); |
printf("\nkeygen = %d\n", x); fflush(stdout); |
for (a1 = 0; a1 < a2; a1++) { |
|
x = rsa_keygen(&rsa, a, b, 1024, 80); |
|
printf("\nkeygen = %d, a1=%d\n", x, a1); fflush(stdout); |
|
mpz_add_ui(a, a, a1); |
|
mpz_sub_ui(b, b, a1); |
|
} |
|
|
#if 0 |
#if 1 |
gmp_printf("n=%Zx\n", rsa.mod); |
gmp_printf("n=%Zx\n", rsa.mod); |
gmp_printf("p=%Zx\n", rsa.p); |
gmp_printf("p=%Zx\n", rsa.p); |
gmp_printf("q=%Zx\n", rsa.q); |
gmp_printf("q=%Zx\n", rsa.q); |
Line 142 main(int argc, char *argv[]) |
|
Line 150 main(int argc, char *argv[]) |
|
#endif |
#endif |
|
|
printf("a2 = %d: x = %d\n", a2, x); |
printf("a2 = %d: x = %d\n", a2, x); |
if (a2 < 0) |
if (a2 < 0) { |
|
printf("decode failed\n"); |
exit(0); |
exit(0); |
|
} |
|
|
dbp += a2; |
dbp += a2; |
ebp += rsa.k; |
ebp += rsa.k; |
Line 153 printf("a2 = %d: x = %d\n", a2, x); |
|
Line 163 printf("a2 = %d: x = %d\n", a2, x); |
|
|
|
mpz_clear(a); |
mpz_clear(a); |
mpz_clear(b); |
mpz_clear(b); |
|
mpz_clear(c); |
|
|
rsa_clear(&rsa); |
rsa_clear(&rsa); |
|
|
printf("%d, %d -- %d\n", __GNU_MP_VERSION, __GNU_MP_VERSION_MINOR, rsa_alloc_cnt(0)); |
printf("gmp_info: %d, %d -- leak = %d\n", __GNU_MP_VERSION, __GNU_MP_VERSION_MINOR, rsa_alloc_cnt(0)); |
|
|
return (0); |
return (0); |
} |
} |