xref: /optee_os/core/crypto/crypto.c (revision e9eaba5c0a3d27075b1e995294fd42de65c0b912)
1b887bd8fSJens Wiklander /*
2b887bd8fSJens Wiklander  * Copyright (c) 2017, Linaro Limited
3b887bd8fSJens Wiklander  * All rights reserved.
4b887bd8fSJens Wiklander  *
5b887bd8fSJens Wiklander  * SPDX-License-Identifier: BSD-2-Clause
6b887bd8fSJens Wiklander  */
7b887bd8fSJens Wiklander 
8b887bd8fSJens Wiklander #include <compiler.h>
9b887bd8fSJens Wiklander #include <tee/tee_cryp_provider.h>
10b887bd8fSJens Wiklander 
11b887bd8fSJens Wiklander #if !defined(_CFG_CRYPTO_WITH_HASH)
12b887bd8fSJens Wiklander TEE_Result crypto_hash_get_ctx_size(uint32_t algo __unused,
13b887bd8fSJens Wiklander 				    size_t *size __unused)
14b887bd8fSJens Wiklander {
15b887bd8fSJens Wiklander 	return TEE_ERROR_NOT_IMPLEMENTED;
16b887bd8fSJens Wiklander }
17b887bd8fSJens Wiklander 
18b887bd8fSJens Wiklander TEE_Result crypto_hash_init(void *ctx __unused, uint32_t algo __unused)
19b887bd8fSJens Wiklander {
20b887bd8fSJens Wiklander 	return TEE_ERROR_NOT_IMPLEMENTED;
21b887bd8fSJens Wiklander }
22b887bd8fSJens Wiklander TEE_Result crypto_hash_update(void *ctx __unused, uint32_t algo __unused,
23b887bd8fSJens Wiklander 			      const uint8_t *data __unused, size_t len __unused)
24b887bd8fSJens Wiklander {
25b887bd8fSJens Wiklander 	return TEE_ERROR_NOT_IMPLEMENTED;
26b887bd8fSJens Wiklander }
27b887bd8fSJens Wiklander TEE_Result crypto_hash_final(void *ctx __unused, uint32_t algo __unused,
28b887bd8fSJens Wiklander 			     uint8_t *digest __unused, size_t len __unused)
29b887bd8fSJens Wiklander {
30b887bd8fSJens Wiklander 	return TEE_ERROR_NOT_IMPLEMENTED;
31b887bd8fSJens Wiklander }
32b887bd8fSJens Wiklander #endif /*_CFG_CRYPTO_WITH_HASH*/
3382d91db1SJens Wiklander 
3482d91db1SJens Wiklander #if !defined(_CFG_CRYPTO_WITH_CIPHER)
3582d91db1SJens Wiklander TEE_Result crypto_cipher_get_ctx_size(uint32_t algo, size_t *size)
3682d91db1SJens Wiklander {
3782d91db1SJens Wiklander 	return TEE_ERROR_NOT_IMPLEMENTED
3882d91db1SJens Wiklander }
3982d91db1SJens Wiklander 
4082d91db1SJens Wiklander TEE_Result crypto_cipher_init(void *ctx __unused, uint32_t algo __unused,
4182d91db1SJens Wiklander 			      TEE_OperationMode mode __unused,
4282d91db1SJens Wiklander 			      const uint8_t *key1 __unused,
4382d91db1SJens Wiklander 			      size_t key1_len __unused,
4482d91db1SJens Wiklander 			      const uint8_t *key2 __unused,
4582d91db1SJens Wiklander 			      size_t key2_len __unused,
4682d91db1SJens Wiklander 			      const uint8_t *iv __unused,
4782d91db1SJens Wiklander 			      size_t iv_len __unused)
4882d91db1SJens Wiklander {
4982d91db1SJens Wiklander 	return TEE_ERROR_NOT_IMPLEMENTED
5082d91db1SJens Wiklander }
5182d91db1SJens Wiklander 
5282d91db1SJens Wiklander TEE_Result crypto_cipher_update(void *ctx __unused, uint32_t algo __unused,
5382d91db1SJens Wiklander 				TEE_OperationMode mode __unused,
5482d91db1SJens Wiklander 				bool last_block __unused,
5582d91db1SJens Wiklander 				const uint8_t *data __unused,
5682d91db1SJens Wiklander 				size_t len __unused, uint8_t *dst __unused)
5782d91db1SJens Wiklander {
5882d91db1SJens Wiklander 	return TEE_ERROR_NOT_IMPLEMENTED
5982d91db1SJens Wiklander }
6082d91db1SJens Wiklander 
6182d91db1SJens Wiklander void crypto_cipher_final(void *ctx __unused, uint32_t algo __unused)
6282d91db1SJens Wiklander {
6382d91db1SJens Wiklander }
6482d91db1SJens Wiklander 
6582d91db1SJens Wiklander TEE_Result crypto_cipher_get_block_size(uint32_t algo __unused,
6682d91db1SJens Wiklander 					size_t *size __unused)
6782d91db1SJens Wiklander {
6882d91db1SJens Wiklander 	return TEE_ERROR_NOT_IMPLEMENTED
6982d91db1SJens Wiklander }
7082d91db1SJens Wiklander #endif /*_CFG_CRYPTO_WITH_CIPHER*/
71*e9eaba5cSJens Wiklander 
72*e9eaba5cSJens Wiklander #if !defined(_CFG_CRYPTO_WITH_MAC)
73*e9eaba5cSJens Wiklander TEE_Result crypto_mac_get_ctx_size(uint32_t algo __unused,
74*e9eaba5cSJens Wiklander 				   size_t *size __unused)
75*e9eaba5cSJens Wiklander {
76*e9eaba5cSJens Wiklander 	return TEE_ERROR_NOT_IMPLEMENTED;
77*e9eaba5cSJens Wiklander }
78*e9eaba5cSJens Wiklander 
79*e9eaba5cSJens Wiklander TEE_Result crypto_mac_init(void *ctx __unused, uint32_t algo __unused,
80*e9eaba5cSJens Wiklander 			   const uint8_t *key __unused, size_t len __unused)
81*e9eaba5cSJens Wiklander {
82*e9eaba5cSJens Wiklander 	return TEE_ERROR_NOT_IMPLEMENTED;
83*e9eaba5cSJens Wiklander }
84*e9eaba5cSJens Wiklander 
85*e9eaba5cSJens Wiklander TEE_Result crypto_mac_update(void *ctx __unused, uint32_t algo __unused,
86*e9eaba5cSJens Wiklander 			     const uint8_t *data __unused, size_t len __unused)
87*e9eaba5cSJens Wiklander {
88*e9eaba5cSJens Wiklander 	return TEE_ERROR_NOT_IMPLEMENTED;
89*e9eaba5cSJens Wiklander }
90*e9eaba5cSJens Wiklander 
91*e9eaba5cSJens Wiklander TEE_Result crypto_mac_final(void *ctx __unused, uint32_t algo __unused,
92*e9eaba5cSJens Wiklander 			    uint8_t *digest __unused,
93*e9eaba5cSJens Wiklander 			    size_t digest_len __unused)
94*e9eaba5cSJens Wiklander {
95*e9eaba5cSJens Wiklander 	return TEE_ERROR_NOT_IMPLEMENTED;
96*e9eaba5cSJens Wiklander }
97*e9eaba5cSJens Wiklander #endif /*_CFG_CRYPTO_WITH_MAC*/
98*e9eaba5cSJens Wiklander 
99