/* * Cryptographic API. * * SHA1 Secure Hash Algorithm. * * Derived from cryptoapi implementation, adapted for in-place * scatterlist interface. Originally based on the public domain * implementation written by Steve Reid. * * Copyright (c) Alan Smithee. * Copyright (c) Andrew McDonald * Copyright (c) Jean-Francois Dive * * This program is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the Free * Software Foundation; either version 2 of the License, or (at your option) * any later version. * */ #ifndef _SHA1_ #define _SHA1_ #include "uint.h" #define SHA1_DIGEST_SIZE 20 #define SHA1_HMAC_BLOCK_SIZE 64 struct sha1_ctx { u64 count; u32 state[5]; u8 buffer[64]; }; void sha1_init(void *ctx); void sha1_update(void *ctx, const u8 *data, unsigned int len); /* Add padding and return the message digest. */ void sha1_final(void* ctx, u8 *out); #endif