]>
Commit | Line | Data |
---|---|---|
8b9afce5 AP |
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 | static int init(EVP_MD_CTX *ctx) | |
14 | { return WHIRLPOOL_Init(ctx->md_data); } | |
15 | ||
16 | static int update(EVP_MD_CTX *ctx,const void *data,size_t count) | |
17 | { return WHIRLPOOL_Update(ctx->md_data,data,count); } | |
18 | ||
19 | static int final(EVP_MD_CTX *ctx,unsigned char *md) | |
20 | { 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 | const EVP_MD *EVP_whirlpool(void) | |
39 | { | |
40 | return(&whirlpool_md); | |
41 | } | |
42 | #endif |