tomcrypt/src/pk/dsa/dsa_make_key.c

42 lines
1.1 KiB
C
Raw Normal View History

2004-05-12 20:42:16 +00:00
/* LibTomCrypt, modular cryptographic library -- Tom St Denis
*
* LibTomCrypt is a library that provides various cryptographic
* algorithms in a highly modular and flexible manner.
*
* The library is free for all purposes without any express
* guarantee it works.
*/
2004-12-30 23:55:53 +00:00
#include "tomcrypt.h"
/**
@file dsa_make_key.c
2017-06-28 14:35:57 +02:00
DSA implementation, generate a DSA key
2004-12-30 23:55:53 +00:00
*/
2004-05-12 20:42:16 +00:00
2007-07-20 17:48:02 +00:00
#ifdef LTC_MDSA
2004-05-12 20:42:16 +00:00
/**
2017-06-28 14:35:57 +02:00
Old-style creation of a DSA key
@param prng An active PRNG state
@param wprng The index of the PRNG desired
@param group_size Size of the multiplicative group (octets)
@param modulus_size Size of the modulus (octets)
@param key [out] Where to store the created key
2017-06-28 14:35:57 +02:00
@return CRYPT_OK if successful.
*/
int dsa_make_key(prng_state *prng, int wprng, int group_size, int modulus_size, dsa_key *key)
{
2017-06-28 14:35:57 +02:00
int err;
if ((err = dsa_generate_pqg(prng, wprng, group_size, modulus_size, key)) != CRYPT_OK) { return err; }
if ((err = dsa_generate_key(prng, wprng, key)) != CRYPT_OK) { return err; }
2017-06-28 14:35:57 +02:00
return CRYPT_OK;
2004-05-12 20:42:16 +00:00
}
#endif
2005-06-09 00:08:13 +00:00
2017-06-19 13:43:49 +02:00
/* ref: $Format:%D$ */
/* git commit: $Format:%H$ */
/* commit time: $Format:%ai$ */