GOST public key algorithm ENGINE donated to the OpenSSL by Cryptocom.
[openssl.git] / engines / ccgost / sign.h
1 #ifndef GOST_SIGN_H
2 #define GOST_SIGN_H
3 /**********************************************************************
4  *                        sign.h                                      *
5  *             Copyright (c) 2006 Cryptocom LTD                       *
6  *       This file is distributed under the same license as OpenSSL   *
7  *                                                                    *
8  *       Declaration of internal funtions implementing  GOST R 34.10  *
9  *                     signature and key generation                       *
10  *         OpenSSL 0.9.9 libraries required to compile and use        *
11  *                              this code                             *
12  **********************************************************************/ 
13 #include <openssl/evp.h>
14 #include <openssl/dsa.h>
15 #include <openssl/ec.h>
16 int fill_GOST94_params(DSA *dsa,int nid);
17 int fill_GOST2001_params(EC_KEY *eckey, int nid);
18 int gost_sign_keygen(DSA *dsa) ;
19 int gost2001_keygen(EC_KEY *ec) ;
20
21 DSA_SIG *gost_do_sign(const unsigned char *dgst,int dlen, DSA *dsa) ;
22 DSA_SIG *gost2001_do_sign(const unsigned char *dgst,int dlen, EC_KEY *eckey);
23
24 int gost_do_verify(const unsigned char *dgst, int dgst_len,
25                 DSA_SIG *sig, DSA *dsa) ;
26 int gost2001_do_verify(const unsigned char *dgst,int dgst_len,
27                         DSA_SIG *sig, EC_KEY *ec);
28 int gost2001_compute_public(EC_KEY *ec) ;
29 int gost94_compute_public(DSA *dsa) ;
30 #endif