version 1.1, 2004/08/16 03:59:58 |
version 1.2, 2004/09/20 00:10:24 |
|
|
/* $OpenXM$ */ |
/* $OpenXM: OpenXM/src/ox_ntl/crypt/rsa/gmprsa.c,v 1.1 2004/08/16 03:59:58 iwane Exp $ */ |
|
|
#include <stdio.h> |
#include <stdio.h> |
#include <stdlib.h> |
#include <stdlib.h> |
|
|
#define STR_PRT(STR, N) do { int _xxx; printf(#STR "[%d]=", N); for (_xxx = 0; _xxx < (N); _xxx++) printf("%02x", STR[_xxx]); printf("\n"); fflush(stdout); } while (0) |
#define STR_PRT(STR, N) do { int _xxx; printf(#STR "[%d]=", N); for (_xxx = 0; _xxx < (N); _xxx++) printf("%02x", STR[_xxx]); printf("\n"); fflush(stdout); } while (0) |
|
|
|
|
/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++* |
|
* ALLOC |
|
*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ |
|
#define RSA_KEY_PRINT 0 |
#define RSA_KEY_PRINT 0 |
|
|
|
|
Line 113 rsa_genprime(mpz_ptr prime, int len, const mpz_ptr see |
|
Line 110 rsa_genprime(mpz_ptr prime, int len, const mpz_ptr see |
|
unsigned char sha[32]; |
unsigned char sha[32]; |
char *str; |
char *str; |
|
|
n = (len - 1) / BLOCK; |
|
b = (len - 1) % BLOCK; |
|
|
|
if (len < 2) { |
if (len < 2) { |
mpz_set_ui(prime, 2); |
mpz_set_ui(prime, 3); |
|
return ; |
} |
} |
|
|
|
n = (len - 1) / BLOCK; |
|
b = (len - 1) % BLOCK; |
|
|
mpz_init(s); |
mpz_init(s); |
mpz_init(s1); |
mpz_init(s1); |
mpz_init(sp); |
mpz_init(sp); |
|
|
for (i = (n + 1) * BLOCK; i >= len; i--) |
for (i = (n + 1) * BLOCK; i >= len; i--) |
mpz_clrbit(prime, i); |
mpz_clrbit(prime, i); |
|
|
mpz_set_ui(sp, 0); |
|
mpz_setbit(sp, len); |
|
|
|
#if RSA_KEY_PRINT |
#if RSA_KEY_PRINT |
fprintf(stderr, "*"); fflush(stderr); |
fprintf(stderr, "*"); fflush(stderr); |