Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
DSA(3)			   Library Functions Manual			DSA(3)

NAME
       asn1toDSApriv,  dsagen,	dsasign,  dsaverify,  dsapuballoc, dsapubfree,
       dsaprivalloc, dsaprivfree, dsasigalloc, dsasigfree, dsaprivtopub	- dig-
       ital signature algorithm

SYNOPSIS
       #include	<u.h>
       #include	<libc.h>
       #include	<mp.h>
       #include	<libsec.h>

       DSApriv*	 dsagen(DSApub *opub)

       DSAsig*	 dsasign(DSApriv *k, mpint *m)

       int	 dsaverify(DSApub *k, DSAsig *sig, mpint *m)

       DSApub*	 dsapuballoc(void)

       void	 dsapubfree(DSApub*)

       DSApriv*	 dsaprivalloc(void)

       void	 dsaprivfree(DSApriv*)

       DSAsig*	 dsasigalloc(void)

       void	 dsasigfree(DSAsig*)

       DSApub*	 dsaprivtopub(DSApriv*)

       DSApriv*	 asn1toDSApriv(uchar *priv, int	npriv)

DESCRIPTION
       DSA is the NIST approved	digital	signature algorithm.  The owner	 of  a
       key publishes the public	part of	the key:
	    struct DSApub
	    {
		 mpint	   *p;	// modulus
		 mpint	   *q;	// group order,	q divides p-1
		 mpint	   *alpha;   //	group generator
		 mpint	   *key;     //	alpha**secret mod p
	    };
       This part can be	used for verifying signatures (with dsaverify) created
       by the owner.  The owner	signs (with dsasign) using his private key:
	    struct DSApriv
	    {
		 DSApub	   pub;
		 mpint	   *secret; // (decryption key)
	    };

       Keys  are  generated using dsagen.  If dsagen's argument	opub is	nil, a
       key is created using  a	new  p	and  q	generated  by  DSAprimes  (see
       prime((3))).  Otherwise,	p and q	are copied from	the old	key.

       Dsaprivtopub  returns  a	 newly allocated copy of the public key	corre-
       sponding	to the private key.

       The routines dsapuballoc, dsapubfree, dsaprivalloc, and dsaprivfree are
       provided	to manage key storage.

       Dsasign signs message m using a private key k yielding a
	    struct DSAsig
	    {
		 mpint	   *r, *s;
	    };
       Dsaverify returns 0 if the signature is valid and -1 if not.

       The routines dsasigalloc	and dsasigfree are provided to	manage	signa-
       ture storage.

       Asn1toDSApriv  converts an ASN1 formatted DSA private key into the cor-
       responding DSApriv structure; see rsa((3)) for other ASN1 routines.

SOURCE
       /src/libsec

SEE ALSO
       mp((3)),	 aes((3)),  blowfish((3)),   des((3)),	 rc4((3)),   rsa((3)),
       sechash((3)), prime((3)), rand((3))

									DSA(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=dsa&sektion=3&manpath=FreeBSD+Ports+15.0.quarterly>

home | help