*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->Tru64 Unix man pages -> dsa (3)              
Title
Content
Arch
Section
 

dsa(3)

Contents


NAME    [Toc]    [Back]

       dsa - Digital Signature Algorithm

SYNOPSIS    [Toc]    [Back]

       #include <openssl/dsa.h> #include <openssl/engine.h>

       DSA * DSA_new(
               void ); void DSA_free(
               DSA *dsa ); int DSA_size(
               DSA *dsa ); DSA * DSA_generate_parameters(
               int bits,
               unsigned char *seed,
               int seed_len,
               int *counter_ret,
               unsigned long *h_ret,
               void (*callback)(int, int, void*),
               void *cb_arg ); DH * DSA_dup_DH(
               DSA *r ); int   DSA_generate_key(
               DSA *dsa ); int   DSA_sign(
               int dummy,
               const unsigned char *dgst,
               int len,
               unsigned char *sigret,
               unsigned int *siglen,
               DSA *dsa ); int   DSA_sign_setup(
               DSA *dsa,
               BN_CTX *ctx,
               BIGNUM **kinvp,
               BIGNUM **rp ); int   DSA_verify(
               int dummy,
               const unsigned char *dgst,
               int len,
               unsigned char *sigbuf,
               int siglen,
               DSA *dsa ); void DSA_set_default_openssl_method(
               DSA_METHOD        *meth        );       DSA_METHOD
       *DSA_get_default_openssl_method(
               void ); int DSA_set_method(
               DSA *dsa,
               ENGINE *engine ); DSA *DSA_new_method(
               ENGINE *engine ); DSA_METHOD *DSA_OpenSSL(
               void ); int DSA_get_ex_new_index(
               long argl,
               char *argp,
               int (*new_func)(),
               int (*dup_func)(),
               void (*free_func)() ); int DSA_set_ex_data(
               DSA *d,
               int idx,
               char *arg ); char *DSA_get_ex_data(
               DSA *d,
               int idx ); DSA_SIG *DSA_SIG_new(
               void ); void DSA_SIG_free(
               DSA_SIG *a ); int   i2d_DSA_SIG(
               DSA_SIG *a,
               unsigned char **pp ); DSA_SIG *d2i_DSA_SIG(
               DSA_SIG **v,
               unsigned char **pp,
               long length ); DSA_SIG *DSA_do_sign(
               const unsigned char *dgst,
               int dlen,
               DSA *dsa ); int   DSA_do_verify(
               const unsigned char *dgst,
               int dgst_len,
               DSA_SIG *sig,
               DSA *dsa ); DSA * d2i_DSAPublicKey(
               DSA **a,
               unsigned char **pp,
               long length ); DSA *     d2i_DSAPrivateKey(
               DSA **a,
               unsigned char **pp,
               long length ); DSA * d2i_DSAparams(
               DSA **a,
               unsigned char **pp,
               long length ); int   i2d_DSAPublicKey(
               DSA *a,
               unsigned char **pp ); int   i2d_DSAPrivateKey(
               DSA *a,
               unsigned char **pp ); int   i2d_DSAparams(
               DSA *a,
               unsigned char **pp ); int   DSAparams_print(
               BIO *bp,
               DSA *x ); int   DSAparams_print_fp(
               FILE *fp,
               DSA *x ); int   DSA_print(
               BIO *bp,
               DSA *x,
               int off ); int   DSA_print_fp(
               FILE *bp,
               DSA *x,
               int off );

DESCRIPTION    [Toc]    [Back]

       These functions implement the Digital Signature  Algorithm
       (DSA).    The  generation  of  shared  DSA  parameters  is
       described   in   DSA_generate_parameters(3);    DSA_generate_key(3) describes how to generate a signature key. Signature
  generation  and  verification  are  described   in
       DSA_sign(3).

       The DSA structure consists of several BIGNUM components.
        struct
               {
               BIGNUM *p;       // prime number (public)
               BIGNUM  *q;       //  160-bit  subprime,  q  | p-1
       (public)
               BIGNUM *g;       // generator of subgroup (public)
               BIGNUM *priv_key;     // private key x
               BIGNUM *pub_key; // public key y = g^x
               // ...
               }
        DSA;

       In public keys, priv_key is NULL.

       DSA conforms to US Federal Information Processing Standard
       FIPS 186 (Digital Signature Standard, DSS), ANSI X9.30

SEE ALSO    [Toc]    [Back]

      
      
       Functions:  bn(3),  dh(3),  err(3),  rand_ssl(3),  rsa(3),
       sha(3),   DSA_new(3),   DSA_size(3),  DSA_generate_parameters(3), DSA_dup_DH(3), DSA_generate_key(3),  DSA_sign(3),
       DSA_set_method(3), DSA_get_ex_new_index(3), RSA_print(3)



                                                           dsa(3)
[ Back ]
 Similar pages
Name OS Title
daadio OpenBSD MATRIX MD-DAADIO digital/analog, analog/digital, parallel i/o board
DSA_size Tru64 Get DSA signature size
DSA_do_verify Tru64 Raw DSA signature operations
DSA_size OpenBSD get DSA signature size
DSA_do_sign OpenBSD raw DSA signature operations
DSA_do_sign Tru64 Raw DSA signature operations
DSA_size NetBSD get DSA signature size
DSA_do_sign NetBSD raw DSA signature operations
RSA_private_encrypt OpenBSD low level signature operations
RSA_private_encrypt NetBSD low level signature operations
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service