aboutsummaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
authorJens Wiklander <jens.wiklander@linaro.org>2019-03-11 12:09:59 +0100
committerJérôme Forissier <jerome.forissier@linaro.org>2019-03-28 14:11:23 +0100
commit0f1ae0540bc8bae083451ed44001b50139b84603 (patch)
treefefbc11ca5a17f60e6c9f432093b32f9813b9744 /core
parenteebeb1e282342731574a7f9bf215ed66bbf1b0af (diff)
core: ltc: move remaining exported hash functions
Moves remaining exported hash functions to hash.c Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
Diffstat (limited to 'core')
-rw-r--r--core/lib/libtomcrypt/hash.c37
-rw-r--r--core/lib/libtomcrypt/src/tee_ltc_provider.c36
2 files changed, 37 insertions, 36 deletions
diff --git a/core/lib/libtomcrypt/hash.c b/core/lib/libtomcrypt/hash.c
index 72fabc6d..c757515d 100644
--- a/core/lib/libtomcrypt/hash.c
+++ b/core/lib/libtomcrypt/hash.c
@@ -166,3 +166,40 @@ TEE_Result crypto_sha512_alloc_ctx(struct crypto_hash_ctx **ctx)
return ltc_hash_alloc_ctx(ctx, find_hash("sha512"));
}
#endif
+
+#if defined(CFG_CRYPTO_SHA256)
+TEE_Result hash_sha256_check(const uint8_t *hash, const uint8_t *data,
+ size_t data_size)
+{
+ hash_state hs;
+ uint8_t digest[TEE_SHA256_HASH_SIZE];
+
+ if (sha256_init(&hs) != CRYPT_OK)
+ return TEE_ERROR_GENERIC;
+ if (sha256_process(&hs, data, data_size) != CRYPT_OK)
+ return TEE_ERROR_GENERIC;
+ if (sha256_done(&hs, digest) != CRYPT_OK)
+ return TEE_ERROR_GENERIC;
+ if (consttime_memcmp(digest, hash, sizeof(digest)) != 0)
+ return TEE_ERROR_SECURITY;
+ return TEE_SUCCESS;
+}
+#endif
+
+#if defined(CFG_CRYPTO_SHA512_256)
+TEE_Result hash_sha512_256_compute(uint8_t *digest, const uint8_t *data,
+ size_t data_size)
+{
+ hash_state hs;
+
+ if (sha512_256_init(&hs) != CRYPT_OK)
+ return TEE_ERROR_GENERIC;
+ if (sha512_256_process(&hs, data, data_size) != CRYPT_OK)
+ return TEE_ERROR_GENERIC;
+ if (sha512_256_done(&hs, digest) != CRYPT_OK)
+ return TEE_ERROR_GENERIC;
+
+ return TEE_SUCCESS;
+}
+#endif
+
diff --git a/core/lib/libtomcrypt/src/tee_ltc_provider.c b/core/lib/libtomcrypt/src/tee_ltc_provider.c
index 3eeb57c8..2fa3d662 100644
--- a/core/lib/libtomcrypt/src/tee_ltc_provider.c
+++ b/core/lib/libtomcrypt/src/tee_ltc_provider.c
@@ -145,42 +145,6 @@ void tomcrypt_arm_neon_disable(struct tomcrypt_arm_neon_state *state)
}
#endif
-#if defined(CFG_CRYPTO_SHA256)
-TEE_Result hash_sha256_check(const uint8_t *hash, const uint8_t *data,
- size_t data_size)
-{
- hash_state hs;
- uint8_t digest[TEE_SHA256_HASH_SIZE];
-
- if (sha256_init(&hs) != CRYPT_OK)
- return TEE_ERROR_GENERIC;
- if (sha256_process(&hs, data, data_size) != CRYPT_OK)
- return TEE_ERROR_GENERIC;
- if (sha256_done(&hs, digest) != CRYPT_OK)
- return TEE_ERROR_GENERIC;
- if (consttime_memcmp(digest, hash, sizeof(digest)) != 0)
- return TEE_ERROR_SECURITY;
- return TEE_SUCCESS;
-}
-#endif
-
-#if defined(CFG_CRYPTO_SHA512_256)
-TEE_Result hash_sha512_256_compute(uint8_t *digest, const uint8_t *data,
- size_t data_size)
-{
- hash_state hs;
-
- if (sha512_256_init(&hs) != CRYPT_OK)
- return TEE_ERROR_GENERIC;
- if (sha512_256_process(&hs, data, data_size) != CRYPT_OK)
- return TEE_ERROR_GENERIC;
- if (sha512_256_done(&hs, digest) != CRYPT_OK)
- return TEE_ERROR_GENERIC;
-
- return TEE_SUCCESS;
-}
-#endif
-
TEE_Result crypto_aes_expand_enc_key(const void *key, size_t key_len,
void *enc_key, size_t enc_keylen,
unsigned int *rounds)