X-Git-Url: https://git.cryptolib.org/?p=avr-crypto-lib.git;a=blobdiff_plain;f=hfal%2Fhfal_blake_small.c;fp=hfal%2Fhfal_blake_small.c;h=1d890f650295aa25e65f291811ca7362a03caddd;hp=0000000000000000000000000000000000000000;hb=924aa320bef6f192feecdb67d209c790bd49ea49;hpb=fb4cf7b5c6e5f28d886bd4216f09b8052c7bd013 diff --git a/hfal/hfal_blake_small.c b/hfal/hfal_blake_small.c new file mode 100644 index 0000000..1d890f6 --- /dev/null +++ b/hfal/hfal_blake_small.c @@ -0,0 +1,67 @@ +/* hfal_blake_small.c */ +/* + This file is part of the AVR-Crypto-Lib. + Copyright (C) 2009 Daniel Otte (daniel.otte@rub.de) + + 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 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ +/** + * \file hfal_blake_small.c + * \email daniel.otte@rub.de + * \author Daniel Otte + * \date 2009-05-05 + * \license GPLv3 or later + * + */ + +#include +#include +#include "hashfunction_descriptor.h" +#include "blake_small.h" + + +static const char blake28_str[] PROGMEM = "Blake-28"; +static const char blake32_str[] PROGMEM = "Blake-32"; + +const hfdesc_t blake28_desc PROGMEM = { + HFDESC_TYPE_HASHFUNCTION, + 0, + blake28_str, + sizeof(blake28_ctx_t), + BLAKE28_BLOCKSIZE, + 224, + (hf_init_fpt)blake28_init, + (hf_nextBlock_fpt)blake_small_nextBlock, + (hf_lastBlock_fpt)blake_small_lastBlock, + (hf_ctx2hash_fpt)blake28_ctx2hash, + (hf_free_fpt)NULL, + (hf_mem_fpt)blake28 +}; + +const hfdesc_t blake32_desc PROGMEM = { + HFDESC_TYPE_HASHFUNCTION, + 0, + blake32_str, + sizeof(blake32_ctx_t), + BLAKE32_BLOCKSIZE, + 256, + (hf_init_fpt)blake32_init, + (hf_nextBlock_fpt)blake_small_nextBlock, + (hf_lastBlock_fpt)blake_small_lastBlock, + (hf_ctx2hash_fpt)blake32_ctx2hash, + (hf_free_fpt)NULL, + (hf_mem_fpt)blake32 +}; + +