34 #if defined(POLARSSL_ECDSA_C)
44 const unsigned char *buf,
size_t blen )
46 size_t n_size = (grp->
nbits + 7) / 8;
55 const mpi *d,
const unsigned char *buf,
size_t blen,
56 int (*f_rng)(
void *,
unsigned char *,
size_t),
void *p_rng )
58 int ret, key_tries, sign_tries;
78 if( key_tries++ > 10 )
89 MPI_CHK( derive_mpi( grp, &e, buf, blen ) );
100 if( sign_tries++ > 10 )
121 const unsigned char *buf,
size_t blen,
125 mpi e, s_inv, u1, u2;
149 MPI_CHK( derive_mpi( grp, &e, buf, blen ) );
208 #if POLARSSL_ECP_MAX_BYTES > 124
209 #error "POLARSSL_ECP_MAX_BYTES bigger than expected, please fix MAX_SIG_LEN"
211 #define MAX_SIG_LEN ( 3 + 2 * ( 2 + POLARSSL_ECP_MAX_BYTES ) )
217 const unsigned char *hash,
size_t hlen,
218 unsigned char *sig,
size_t *slen,
219 int (*f_rng)(
void *,
unsigned char *,
size_t),
223 unsigned char buf[MAX_SIG_LEN];
224 unsigned char *p = buf +
sizeof( buf );
228 hash, hlen, f_rng, p_rng ) ) != 0 )
240 memcpy( sig, p, len );
250 const unsigned char *hash,
size_t hlen,
251 const unsigned char *sig,
size_t slen )
254 unsigned char *p = (
unsigned char *) sig;
255 const unsigned char *end = sig + slen;
283 int (*f_rng)(
void *,
unsigned char *,
size_t),
void *p_rng )
328 #if defined(POLARSSL_SELF_TEST)