Branch data Line data Source code
1 : : /* crypto/evp/m_wp.c */
2 : :
3 : : #include <stdio.h>
4 : : #include "cryptlib.h"
5 : :
6 : : #ifndef OPENSSL_NO_WHIRLPOOL
7 : :
8 : : #include <openssl/evp.h>
9 : : #include <openssl/objects.h>
10 : : #include <openssl/x509.h>
11 : : #include <openssl/whrlpool.h>
12 : :
13 : 0 : static int init(EVP_MD_CTX *ctx)
14 : 0 : { return WHIRLPOOL_Init(ctx->md_data); }
15 : :
16 : 0 : static int update(EVP_MD_CTX *ctx,const void *data,size_t count)
17 : 0 : { return WHIRLPOOL_Update(ctx->md_data,data,count); }
18 : :
19 : 0 : static int final(EVP_MD_CTX *ctx,unsigned char *md)
20 : 0 : { return WHIRLPOOL_Final(md,ctx->md_data); }
21 : :
22 : : static const EVP_MD whirlpool_md=
23 : : {
24 : : NID_whirlpool,
25 : : 0,
26 : : WHIRLPOOL_DIGEST_LENGTH,
27 : : 0,
28 : : init,
29 : : update,
30 : : final,
31 : : NULL,
32 : : NULL,
33 : : EVP_PKEY_NULL_method,
34 : : WHIRLPOOL_BBLOCK/8,
35 : : sizeof(EVP_MD *)+sizeof(WHIRLPOOL_CTX),
36 : : };
37 : :
38 : 727 : const EVP_MD *EVP_whirlpool(void)
39 : : {
40 : 727 : return(&whirlpool_md);
41 : : }
42 : : #endif
|