diff options
author | Jens Wiklander <jens.wiklander@linaro.org> | 2019-03-11 12:09:59 +0100 |
---|---|---|
committer | Jérôme Forissier <jerome.forissier@linaro.org> | 2019-03-28 14:11:23 +0100 |
commit | 0f1ae0540bc8bae083451ed44001b50139b84603 (patch) | |
tree | fefbc11ca5a17f60e6c9f432093b32f9813b9744 /core | |
parent | eebeb1e282342731574a7f9bf215ed66bbf1b0af (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.c | 37 | ||||
-rw-r--r-- | core/lib/libtomcrypt/src/tee_ltc_provider.c | 36 |
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) |