1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0-or-later */ 2*4882a593Smuzhiyun /* 3*4882a593Smuzhiyun * sm2.h - SM2 asymmetric public-key algorithm 4*4882a593Smuzhiyun * as specified by OSCCA GM/T 0003.1-2012 -- 0003.5-2012 SM2 and 5*4882a593Smuzhiyun * described at https://tools.ietf.org/html/draft-shen-sm2-ecdsa-02 6*4882a593Smuzhiyun * 7*4882a593Smuzhiyun * Copyright (c) 2020, Alibaba Group. 8*4882a593Smuzhiyun * Written by Tianjia Zhang <tianjia.zhang@linux.alibaba.com> 9*4882a593Smuzhiyun */ 10*4882a593Smuzhiyun 11*4882a593Smuzhiyun #ifndef _CRYPTO_SM2_H 12*4882a593Smuzhiyun #define _CRYPTO_SM2_H 13*4882a593Smuzhiyun 14*4882a593Smuzhiyun #include <crypto/sm3.h> 15*4882a593Smuzhiyun #include <crypto/akcipher.h> 16*4882a593Smuzhiyun 17*4882a593Smuzhiyun /* The default user id as specified in GM/T 0009-2012 */ 18*4882a593Smuzhiyun #define SM2_DEFAULT_USERID "1234567812345678" 19*4882a593Smuzhiyun #define SM2_DEFAULT_USERID_LEN 16 20*4882a593Smuzhiyun 21*4882a593Smuzhiyun extern int sm2_compute_z_digest(struct crypto_akcipher *tfm, 22*4882a593Smuzhiyun const unsigned char *id, size_t id_len, 23*4882a593Smuzhiyun unsigned char dgst[SM3_DIGEST_SIZE]); 24*4882a593Smuzhiyun 25*4882a593Smuzhiyun #endif /* _CRYPTO_SM2_H */ 26