xref: /optee_os/core/crypto/crypto.c (revision 8875ce46f413b5f5b4e6d73707672d8a3f51f92c)
1 /*
2  * Copyright (c) 2017, Linaro Limited
3  * All rights reserved.
4  *
5  * SPDX-License-Identifier: BSD-2-Clause
6  */
7 
8 #include <compiler.h>
9 #include <tee/tee_cryp_provider.h>
10 
11 #if !defined(_CFG_CRYPTO_WITH_HASH)
12 TEE_Result crypto_hash_get_ctx_size(uint32_t algo __unused,
13 				    size_t *size __unused)
14 {
15 	return TEE_ERROR_NOT_IMPLEMENTED;
16 }
17 
18 TEE_Result crypto_hash_init(void *ctx __unused, uint32_t algo __unused)
19 {
20 	return TEE_ERROR_NOT_IMPLEMENTED;
21 }
22 TEE_Result crypto_hash_update(void *ctx __unused, uint32_t algo __unused,
23 			      const uint8_t *data __unused, size_t len __unused)
24 {
25 	return TEE_ERROR_NOT_IMPLEMENTED;
26 }
27 TEE_Result crypto_hash_final(void *ctx __unused, uint32_t algo __unused,
28 			     uint8_t *digest __unused, size_t len __unused)
29 {
30 	return TEE_ERROR_NOT_IMPLEMENTED;
31 }
32 #endif /*_CFG_CRYPTO_WITH_HASH*/
33 
34 #if !defined(_CFG_CRYPTO_WITH_CIPHER)
35 TEE_Result crypto_cipher_get_ctx_size(uint32_t algo, size_t *size)
36 {
37 	return TEE_ERROR_NOT_IMPLEMENTED
38 }
39 
40 TEE_Result crypto_cipher_init(void *ctx __unused, uint32_t algo __unused,
41 			      TEE_OperationMode mode __unused,
42 			      const uint8_t *key1 __unused,
43 			      size_t key1_len __unused,
44 			      const uint8_t *key2 __unused,
45 			      size_t key2_len __unused,
46 			      const uint8_t *iv __unused,
47 			      size_t iv_len __unused)
48 {
49 	return TEE_ERROR_NOT_IMPLEMENTED
50 }
51 
52 TEE_Result crypto_cipher_update(void *ctx __unused, uint32_t algo __unused,
53 				TEE_OperationMode mode __unused,
54 				bool last_block __unused,
55 				const uint8_t *data __unused,
56 				size_t len __unused, uint8_t *dst __unused)
57 {
58 	return TEE_ERROR_NOT_IMPLEMENTED
59 }
60 
61 void crypto_cipher_final(void *ctx __unused, uint32_t algo __unused)
62 {
63 }
64 
65 TEE_Result crypto_cipher_get_block_size(uint32_t algo __unused,
66 					size_t *size __unused)
67 {
68 	return TEE_ERROR_NOT_IMPLEMENTED
69 }
70 #endif /*_CFG_CRYPTO_WITH_CIPHER*/
71 
72 #if !defined(_CFG_CRYPTO_WITH_MAC)
73 TEE_Result crypto_mac_get_ctx_size(uint32_t algo __unused,
74 				   size_t *size __unused)
75 {
76 	return TEE_ERROR_NOT_IMPLEMENTED;
77 }
78 
79 TEE_Result crypto_mac_init(void *ctx __unused, uint32_t algo __unused,
80 			   const uint8_t *key __unused, size_t len __unused)
81 {
82 	return TEE_ERROR_NOT_IMPLEMENTED;
83 }
84 
85 TEE_Result crypto_mac_update(void *ctx __unused, uint32_t algo __unused,
86 			     const uint8_t *data __unused, size_t len __unused)
87 {
88 	return TEE_ERROR_NOT_IMPLEMENTED;
89 }
90 
91 TEE_Result crypto_mac_final(void *ctx __unused, uint32_t algo __unused,
92 			    uint8_t *digest __unused,
93 			    size_t digest_len __unused)
94 {
95 	return TEE_ERROR_NOT_IMPLEMENTED;
96 }
97 #endif /*_CFG_CRYPTO_WITH_MAC*/
98 
99 #if !defined(_CFG_CRYPTO_WITH_AUTHENC)
100 TEE_Result crypto_authenc_get_ctx_size(uint32_t algo __unused,
101 				       size_t *size __unused)
102 {
103 	return TEE_ERROR_NOT_IMPLEMENTED;
104 }
105 
106 TEE_Result crypto_authenc_init(void *ctx __unused, uint32_t algo __unused,
107 			       TEE_OperationMode mode __unused,
108 			       const uint8_t *key __unused,
109 			       size_t key_len __unused,
110 			       const uint8_t *nonce __unused,
111 			       size_t nonce_len __unused,
112 			       size_t tag_len __unused,
113 			       size_t aad_len __unused,
114 			       size_t payload_len __unused)
115 {
116 	return TEE_ERROR_NOT_IMPLEMENTED;
117 }
118 
119 TEE_Result crypto_authenc_update_aad(void *ctx __unused, uint32_t algo __unused,
120 				     TEE_OperationMode mode __unused,
121 				     const uint8_t *data __unused,
122 				     size_t len __unused)
123 {
124 	return TEE_ERROR_NOT_IMPLEMENTED;
125 }
126 
127 TEE_Result crypto_authenc_update_payload(void *ctx __unused,
128 					 uint32_t algo __unused,
129 					 TEE_OperationMode mode __unused,
130 					 const uint8_t *src_data __unused,
131 					 size_t src_len __unused,
132 					 uint8_t *dst_data __unused,
133 					 size_t *dst_len __unused)
134 {
135 	return TEE_ERROR_NOT_IMPLEMENTED;
136 }
137 
138 TEE_Result crypto_authenc_enc_final(void *ctx __unused, uint32_t algo __unused,
139 				    const uint8_t *src_data __unused,
140 				    size_t src_len __unused,
141 				    uint8_t *dst_data __unused,
142 				    size_t *dst_len __unused,
143 				    uint8_t *dst_tag __unused,
144 				    size_t *dst_tag_len __unused)
145 {
146 	return TEE_ERROR_NOT_IMPLEMENTED;
147 }
148 
149 TEE_Result crypto_authenc_dec_final(void *ctx __unused, uint32_t algo __unused,
150 				    const uint8_t *src_data __unused,
151 				    size_t src_len __unused,
152 				    uint8_t *dst_data __unused,
153 				    size_t *dst_len __unused,
154 				    const uint8_t *tag __unused,
155 				    size_t tag_len __unused)
156 {
157 	return TEE_ERROR_NOT_IMPLEMENTED;
158 }
159 
160 void crypto_authenc_final(void *ctx __unused, uint32_t algo __unused)
161 {
162 }
163 #endif /*_CFG_CRYPTO_WITH_AUTHENC*/
164