diff options
| author | jhurst <jhurst@cinecert.com> | 2020-07-19 11:42:39 -0700 |
|---|---|---|
| committer | jhurst <jhurst@cinecert.com> | 2020-07-19 11:42:39 -0700 |
| commit | 7a512a3187cb3107f8c10f03f1e32a2650ee4f21 (patch) | |
| tree | 8918aa1eccc724c47bbd9835a6e83998c1d80943 /src/KM_aes.h | |
| parent | c162e0da8e9b31ecd35ada7e5801ec6f4be45be6 (diff) | |
adding built-in AES support to reduce external dependency
Diffstat (limited to 'src/KM_aes.h')
| -rw-r--r-- | src/KM_aes.h | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/src/KM_aes.h b/src/KM_aes.h new file mode 100644 index 0000000..a5ba1d1 --- /dev/null +++ b/src/KM_aes.h @@ -0,0 +1,57 @@ +/* +Copyright (c) 2020, John Hurst +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +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 name of the author may not be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + /*! \file KM_sha1.h + \version $Id$ + \brief SHA-1 message digest + */ + +#ifndef _KM_AES_H_ +#define _KM_AES_H_ + +#include <KM_platform.h> + +#define AES_BLOCKLEN 16 // Block length in bytes - AES is 128b block only +#define AES_KEYLEN 16 // Key length in bytes +#define AES_keyExpSize 176 + +namespace Kumu { + struct AES_ctx + { + ui8_t RoundKey[AES_keyExpSize]; + }; + + void AES_init_ctx(struct AES_ctx* ctx, const uint8_t* key); + void AES_encrypt(const struct AES_ctx* ctx, uint8_t* buf); + void AES_decrypt(const struct AES_ctx* ctx, uint8_t* buf); + +}; // end namespace + +#endif // _KM_AES_H_ + +// +// end KM_aes.h +// |
