de79d9aae4
Export the reusable functions in the SM4 AESNI/AVX implementation, mainly public functions, which are used to develop the SM4 AESNI/AVX2 implementation, and eliminate unnecessary duplication of code. At the same time, in order to make the public function universal, minor fixes was added. Signed-off-by: Tianjia Zhang <tianjia.zhang@linux.alibaba.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
25 lines
749 B
C
25 lines
749 B
C
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
|
#ifndef ASM_X86_SM4_AVX_H
|
|
#define ASM_X86_SM4_AVX_H
|
|
|
|
#include <linux/types.h>
|
|
#include <crypto/sm4.h>
|
|
|
|
typedef void (*sm4_crypt_func)(const u32 *rk, u8 *dst, const u8 *src, u8 *iv);
|
|
|
|
int sm4_avx_ecb_encrypt(struct skcipher_request *req);
|
|
int sm4_avx_ecb_decrypt(struct skcipher_request *req);
|
|
|
|
int sm4_cbc_encrypt(struct skcipher_request *req);
|
|
int sm4_avx_cbc_decrypt(struct skcipher_request *req,
|
|
unsigned int bsize, sm4_crypt_func func);
|
|
|
|
int sm4_cfb_encrypt(struct skcipher_request *req);
|
|
int sm4_avx_cfb_decrypt(struct skcipher_request *req,
|
|
unsigned int bsize, sm4_crypt_func func);
|
|
|
|
int sm4_avx_ctr_crypt(struct skcipher_request *req,
|
|
unsigned int bsize, sm4_crypt_func func);
|
|
|
|
#endif
|