m_wp.c revision 1.1
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 13static int init(EVP_MD_CTX *ctx) 14 { return WHIRLPOOL_Init(ctx->md_data); } 15 16static int update(EVP_MD_CTX *ctx,const void *data,size_t count) 17 { return WHIRLPOOL_Update(ctx->md_data,data,count); } 18 19static int final(EVP_MD_CTX *ctx,unsigned char *md) 20 { return WHIRLPOOL_Final(md,ctx->md_data); } 21 22static 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 38const EVP_MD *EVP_whirlpool(void) 39 { 40 return(&whirlpool_md); 41 } 42#endif 43