diff options
Diffstat (limited to 'src/lib/crypto/builtin/aes/aescpp.h')
| -rw-r--r-- | src/lib/crypto/builtin/aes/aescpp.h | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/src/lib/crypto/builtin/aes/aescpp.h b/src/lib/crypto/builtin/aes/aescpp.h new file mode 100644 index 0000000000000..d556224e47d68 --- /dev/null +++ b/src/lib/crypto/builtin/aes/aescpp.h @@ -0,0 +1,55 @@ +/* + * Copyright (c) 2001, Dr Brian Gladman <brg@gladman.uk.net>, Worcester, UK. + * All rights reserved. + * + * TERMS + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted subject to the following conditions: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * 3. The copyright holder's name must not be used to endorse or promote + * any products derived from this software without his specific prior + * written permission. + * + * This software is provided 'as is' with no express or implied warranties + * of correctness or fitness for purpose. + */ + +/* + * Issue Date: 21/01/2002 + * + * This file contains the definitions required to use AES (Rijndael) in C++. + */ + +#ifndef _AESCPP_H +#define _AESCPP_H + +#include "aes.h" + +class AESclass +{ aes_ctx cx[1]; +public: +#if defined(BLOCK_SIZE) + AESclass() { cx->n_blk = BLOCK_SIZE; cx->n_rnd = 0; } +#else + AESclass(unsigned int blen = 16) { cx->n_blk = blen; cx->n_rnd = 0; } +#endif + aes_rval blk_len(unsigned int blen) { return aes_blk_len(blen, cx); } + aes_rval enc_key(const unsigned char in_key[], unsigned int klen) + { return aes_enc_key(in_key, klen, cx); } + aes_rval dec_key(const unsigned char in_key[], unsigned int klen) + { return aes_dec_key(in_key, klen, cx); } + aes_rval enc_blk(const unsigned char in_blk[], unsigned char out_blk[]) + { return aes_enc_blk(in_blk, out_blk, cx); } + aes_rval dec_blk(const unsigned char in_blk[], unsigned char out_blk[]) + { return aes_dec_blk(in_blk, out_blk, cx); } +}; + +#endif |
