1 /*
2 * This file is part of the openHiTLS project.
3 *
4 * openHiTLS is licensed under the Mulan PSL v2.
5 * You can use this software according to the terms and conditions of the Mulan PSL v2.
6 * You may obtain a copy of Mulan PSL v2 at:
7 *
8 * http://license.coscl.org.cn/MulanPSL2
9 *
10 * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
11 * EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
12 * MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
13 * See the Mulan PSL v2 for more details.
14 */
15
16 #include "hitls_build.h"
17 #ifdef HITLS_CRYPTO_SM4
18
19 #include "bsl_err_internal.h"
20 #include "crypt_sm4.h"
21 #include "modes_local.h"
22
23 /**
24 * @brief Set the encryption key.
25 *
26 * @param ctx [IN] Mode handle
27 * @param key [IN] Encrypt key
28 * @param len [IN] Encrypt key length. Only 16 bytes (128 bits) are supported.
29 * @return Success: CRYPT_SUCCESS
30 * Other error codes are returned if the operation fails.
31 */
MODES_SM4_SetEncryptKey(MODES_CipherCommonCtx * ctx,const uint8_t * key,uint32_t len)32 int32_t MODES_SM4_SetEncryptKey(MODES_CipherCommonCtx *ctx, const uint8_t *key, uint32_t len)
33 {
34 return MODES_SetEncryptKey(ctx, key, len);
35 }
36
37 /**
38 * @brief Set the decryption key.
39 *
40 * @param ctx [IN] Mode handle
41 * @param key [IN] Decrypt key
42 * @param len [IN] Decrypt key length. Only 16 bytes (128 bits) are supported.
43 * @return Success: CRYPT_SUCCESS
44 * Other error codes are returned if the operation fails.
45 */
MODES_SM4_SetDecryptKey(MODES_CipherCommonCtx * ctx,const uint8_t * key,uint32_t len)46 int32_t MODES_SM4_SetDecryptKey(MODES_CipherCommonCtx *ctx, const uint8_t *key, uint32_t len)
47 {
48 return MODES_SetDecryptKey(ctx, key, len);
49 }
50
51 #endif // HITLS_CRYPTO_SM4
52