# Method Nettle.dsa_generate_keypair()

Method dsa_generate_keypair

  `array(Gmp.mpz) dsa_generate_keypair(int p_bits, int q_bits, function(int(0..):string(8bit)) rnd)`

Description

  Generates a DSA key pair with p_bits number of bits (sometimes referred to as L) for p, and q_bits number of bits (sometimes referred to as N) for q, using the random function rnd.

  Valid combinations as per FIPS 186-3 are

         p_bits  q_bits
         1024    160
         2048    224 (rejected by some versions of Hogweed)
         2048    256
         3072    256

Returns

  Array
  `Gmp.mpz 0` | The value p, the modulo.
  `Gmp.mpz 1` | The value q, the group order.
  `Gmp.mpz 2` | The value g, the generator.
  `Gmp.mpz 3` | The value y, the public value.
  `Gmp.mpz 4` | The value x, the private value.