/* * Copyright 2017 The OpenSSL Project Authors. All Rights Reserved. * Copyright 2017 Ribose Inc. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html */#ifndef HEADER_SM4_H# define HEADER_SM4_H# include <openssl/opensslconf.h># include <openssl/e_os2.h># ifdef OPENSSL_NO_SM4# error SM4 is disabled.# endif# define SM4_ENCRYPT 1# define SM4_DECRYPT 0# define SM4_BLOCK_SIZE 16# define SM4_KEY_SCHEDULE 32typedefstructSM4_KEY_st{uint32_trk[SM4_KEY_SCHEDULE];}SM4_KEY;intSM4_set_key(constuint8_t*key,SM4_KEY*ks);voidSM4_encrypt(constuint8_t*in,uint8_t*out,constSM4_KEY*ks);voidSM4_decrypt(constuint8_t*in,uint8_t*out,constSM4_KEY*ks);#endif