OLD | NEW |
| (Empty) |
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 #include "evp_locl.h" | |
13 | |
14 static int init(EVP_MD_CTX *ctx) | |
15 { return WHIRLPOOL_Init(ctx->md_data); } | |
16 | |
17 static int update(EVP_MD_CTX *ctx,const void *data,size_t count) | |
18 { return WHIRLPOOL_Update(ctx->md_data,data,count); } | |
19 | |
20 static int final(EVP_MD_CTX *ctx,unsigned char *md) | |
21 { return WHIRLPOOL_Final(md,ctx->md_data); } | |
22 | |
23 static const EVP_MD whirlpool_md= | |
24 { | |
25 NID_whirlpool, | |
26 0, | |
27 WHIRLPOOL_DIGEST_LENGTH, | |
28 0, | |
29 init, | |
30 update, | |
31 final, | |
32 NULL, | |
33 NULL, | |
34 EVP_PKEY_NULL_method, | |
35 WHIRLPOOL_BBLOCK/8, | |
36 sizeof(EVP_MD *)+sizeof(WHIRLPOOL_CTX), | |
37 }; | |
38 | |
39 const EVP_MD *EVP_whirlpool(void) | |
40 { | |
41 return(&whirlpool_md); | |
42 } | |
43 #endif | |
OLD | NEW |