summaryrefslogtreecommitdiff
path: root/src/KM_aes.h
diff options
context:
space:
mode:
authorjhurst <jhurst@cinecert.com>2020-07-19 11:42:39 -0700
committerjhurst <jhurst@cinecert.com>2020-07-19 11:42:39 -0700
commit7a512a3187cb3107f8c10f03f1e32a2650ee4f21 (patch)
tree8918aa1eccc724c47bbd9835a6e83998c1d80943 /src/KM_aes.h
parentc162e0da8e9b31ecd35ada7e5801ec6f4be45be6 (diff)
adding built-in AES support to reduce external dependency
Diffstat (limited to 'src/KM_aes.h')
-rw-r--r--src/KM_aes.h57
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
+//