X-Git-Url: https://git.cryptolib.org/?p=avr-crypto-lib.git;a=blobdiff_plain;f=noekeon.h;h=9c046f3004cb374b8d34945109a03ccb365a5a4a;hp=c637ce20a435836a2840e5ed3b201c74cb82655b;hb=2dc047a070be7f0d64f4d4e7f4296a9650af07dc;hpb=e08695bd5905f1306c16d617d044d97649b5e2ae diff --git a/noekeon.h b/noekeon.h index c637ce2..9c046f3 100644 --- a/noekeon.h +++ b/noekeon.h @@ -20,40 +20,49 @@ #define NOEKEON_H_ /** + * \file noekeon.h * \author Daniel Otte * \email daniel.otte@rub.de * \date 2008-04-11 - * \license GPLv3 - * \brief - * - * + * \license GPLv3 or later + * \brief Implementation of the Noekeon block cipher + * \ingroup Noekeon + * This is an implementation of the Noekeon block cipher. + * For more details on Noekeon see http://gro.noekeon.org/ */ #include +/** \typedef noekeon_ctx_t + * \brief holds key data for indirect mode + * + * A variable of this type may hold the key data for the indirect mode. + * For direct mode simply pass the key directly to the encryption or + * decryption function. + */ typedef uint8_t noekeon_ctx_t[16]; -/** \fn void noekeon_enc(void* buffer, void* key) +/** \fn void noekeon_enc(void* buffer, const void* key) * \brief noekeon encrytion funtion * * This function encrypts a block (64 bit = 8 byte) with the noekeon encrytion * algorithm. Due to the two modes of noekeon (direct mode and indirect mode) * the second parameter either points directly to the key (direct mode) or to a - * context generated by the noekeon_init() function (indirect mode) + * context generated by the noekeon_init() function (indirect mode). * \param buffer pointer to the 64 bit (8 byte) block to encrypt * \param key pointer to either the key (128 bit = 16 byte; direct mode) or * to the context (indirect mode) */ void noekeon_enc(void* buffer, const void* key); -/** \fn void noekeon_enc(void* buffer, void* key) +/** \fn void noekeon_dec(void* buffer, const void* key) * \brief noekeon encrytion funtion * * This function decrypts a block (64 bit = 8 byte) encrypted with the noekeon * encrytion algorithm. Due to the two modes of noekeon (direct mode and * indirect mode) the second parameter either points directly to the key * (direct mode) or to a context generated by the noekeon_init() function - * (indirect mode) + * (indirect mode). * \param buffer pointer to the 64 bit (8 byte) block to decrypt * \param key pointer to either the key (128 bit = 16 byte; direct mode) or * to the context (indirect mode) @@ -61,12 +70,12 @@ void noekeon_enc(void* buffer, const void* key); void noekeon_dec(void* buffer, const void* key); -/** \fn void noekeon_init(void* key, noekeon_ctx_t* ctx) +/** \fn void noekeon_init(const void* key, noekeon_ctx_t* ctx) * \brief noekeon context generation function for indirect mode * * This function generates a context from the supplied key for using * noekeon in indirect mode. For using noekeon in direct mode supply the key - * direct to the noekeon_enc() and noekeon_dec() functions + * direct to the noekeon_enc() and noekeon_dec() functions. * \param key pointer to the key (128 bit = 16 byte) * \param ctx pointer to the context to fill with key material * to the context (indirect mode)