#include <gfpcrypt.h>
Inheritance diagram for DSA:
Definition at line 384 of file gfpcrypt.h.
Public Types | |
enum | { MIN_PRIME_LENGTH = 1024, MAX_PRIME_LENGTH = 1024, PRIME_LENGTH_MULTIPLE = 64 } |
FIPS 186-2 Change Notice 1 changed the minimum modulus length to 1024. | |
typedef PK_FinalTemplate< DL_SignerImpl< SchemeOptions > > | Signer |
implements PK_Signer interface | |
typedef PK_FinalTemplate< DL_VerifierImpl< SchemeOptions > > | Verifier |
implements PK_Verifier interface | |
Static Public Member Functions | |
static const char *__cdecl | StaticAlgorithmName () |
static bool __cdecl | GeneratePrimes (const byte *seed, unsigned int seedLength, int &counter, Integer &p, unsigned int primeLength, Integer &q, bool useInputCounterValue=false) |
Generate DSA primes according to NIST standard. | |
static bool __cdecl | IsValidPrimeLength (unsigned int pbits) |
bool DSA::GeneratePrimes | ( | const byte * | seed, | |
unsigned int | seedLength, | |||
int & | counter, | |||
Integer & | p, | |||
unsigned int | primeLength, | |||
Integer & | q, | |||
bool | useInputCounterValue = false | |||
) | [static] |
Generate DSA primes according to NIST standard.
Both seedLength and primeLength are in bits, but seedLength should be a multiple of 8. If useInputCounterValue == true, the counter parameter is taken as input, otherwise it's used for output
Definition at line 61 of file dsa.cpp.
References HashTransformation::CalculateDigest(), Integer::Decode(), IteratedHashWithStaticTransform< T_HashWordType, T_Endianness, T_BlockSize, T_StateSize, T_Transform, T_DigestSize >::DIGESTSIZE, and Integer::GetBit().
Referenced by DL_GroupParameters_DSA::GenerateRandom().