From 7fabc43b8e4beb595284ebf9469bb38d02edea67 Mon Sep 17 00:00:00 2001
From: schneider <schneider@blinkenlichts.net>
Date: Mon, 14 Sep 2020 01:10:20 +0200
Subject: [PATCH] feat(crypto): Add SHA256 implementation

---
 .gitmodules                            | 5 ++++-
 epicardium/meson.build                 | 2 +-
 lib/crypto/SHA256                      | 1 +
 lib/{tiny-AES-c => crypto}/meson.build | 7 +++----
 lib/{tiny-AES-c => crypto}/tiny-AES-c  | 0
 lib/meson.build                        | 2 +-
 6 files changed, 10 insertions(+), 7 deletions(-)
 create mode 160000 lib/crypto/SHA256
 rename lib/{tiny-AES-c => crypto}/meson.build (63%)
 rename lib/{tiny-AES-c => crypto}/tiny-AES-c (100%)

diff --git a/.gitmodules b/.gitmodules
index df2855a2b..aff7ae507 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -5,5 +5,8 @@
 	path = lib/micropython/micropython-lib
 	url = https://github.com/micropython/micropython-lib.git
 [submodule "lib/tiny-AES-c/tiny-AES-c"]
-	path = lib/tiny-AES-c/tiny-AES-c
+	path = lib/crypto/tiny-AES-c
 	url = https://github.com/kokke/tiny-AES-c
+[submodule "lib/crypto/SHA256"]
+	path = lib/crypto/SHA256
+	url = https://github.com/ilvn/SHA256
diff --git a/epicardium/meson.build b/epicardium/meson.build
index f82d56bcd..1966750b0 100644
--- a/epicardium/meson.build
+++ b/epicardium/meson.build
@@ -91,7 +91,7 @@ elf = executable(
   l0der_sources,
   ble_sources,
   version_hdr,
-  dependencies: [libcard10, max32665_startup_core0, maxusb, libff13, ble, bhy1, libtinyAESc],
+  dependencies: [libcard10, max32665_startup_core0, maxusb, libff13, ble, bhy1, libcrypto],
   link_with: [api_dispatcher_lib, freertos],
   link_whole: [max32665_startup_core0_lib, board_card10_lib, newlib_heap_lib],
   include_directories: [freertos_includes],
diff --git a/lib/crypto/SHA256 b/lib/crypto/SHA256
new file mode 160000
index 000000000..1c9e3886f
--- /dev/null
+++ b/lib/crypto/SHA256
@@ -0,0 +1 @@
+Subproject commit 1c9e3886f69f9ca83c1af49968d8e4389035ff44
diff --git a/lib/tiny-AES-c/meson.build b/lib/crypto/meson.build
similarity index 63%
rename from lib/tiny-AES-c/meson.build
rename to lib/crypto/meson.build
index 159f0ddb1..d5eea1f34 100644
--- a/lib/tiny-AES-c/meson.build
+++ b/lib/crypto/meson.build
@@ -4,18 +4,17 @@ includes = include_directories(
 
 sources = files(
   './tiny-AES-c/aes.c',
+  './SHA256/mark2/sha256.c',
 )
 
 lib = static_library(
-  'tinyAESc',
+  'crypto',
   sources,
   include_directories: includes,
-  #dependencies: [periphdriver, mx25lba],
   c_args: '-w',
 )
 
-libtinyAESc = declare_dependency(
+libcrypto = declare_dependency(
   include_directories: includes,
   link_with: lib,
-  #dependencies: [periphdriver, mx25lba],
 )
diff --git a/lib/tiny-AES-c/tiny-AES-c b/lib/crypto/tiny-AES-c
similarity index 100%
rename from lib/tiny-AES-c/tiny-AES-c
rename to lib/crypto/tiny-AES-c
diff --git a/lib/meson.build b/lib/meson.build
index 3138f5407..a51f0c69f 100644
--- a/lib/meson.build
+++ b/lib/meson.build
@@ -10,7 +10,7 @@ subdir('./gfx/')
 subdir('./FreeRTOS/')
 subdir('./FreeRTOS-Plus/')
 subdir('./micropython/')
-subdir('./tiny-AES-c/')
+subdir('./crypto/')
 
 subdir('./card10/')
 subdir('./mx25lba/')
-- 
GitLab