docs: def generate(bits=1024, progress_func=None):
          """
          Generate a new private DSS key.  This factory function can be used to
          generate a new host key or authentication key.
  
          :param int bits: number of bits the generated key should be.
          :param function progress_func:
              an optional function to call at key points in key generation (used
              by ``pyCrypto.PublicKey``).
          :return: new `.DSSKey` private key
          """
          dsa = DSA.generate(bits, os.urandom, progress_func)
          key = DSSKey(vals=(dsa.p, dsa.q, dsa.g, dsa.y))
          key.x = dsa.x
          return key