1*050a99a6SPankaj Gupta /* 2*050a99a6SPankaj Gupta * Copyright 2017-2021 NXP 3*050a99a6SPankaj Gupta * 4*050a99a6SPankaj Gupta * SPDX-License-Identifier: BSD-3-Clause 5*050a99a6SPankaj Gupta * 6*050a99a6SPankaj Gupta */ 7*050a99a6SPankaj Gupta 8*050a99a6SPankaj Gupta #ifndef _RSA_H__ 9*050a99a6SPankaj Gupta #define _RSA_H__ 10*050a99a6SPankaj Gupta 11*050a99a6SPankaj Gupta /* RSA key size defines */ 12*050a99a6SPankaj Gupta #define RSA_4K_KEY_SZ 4096 13*050a99a6SPankaj Gupta #define RSA_4K_KEY_SZ_BYTES (RSA_4K_KEY_SZ/8) 14*050a99a6SPankaj Gupta #define RSA_2K_KEY_SZ 2048 15*050a99a6SPankaj Gupta #define RSA_2K_KEY_SZ_BYTES (RSA_2K_KEY_SZ/8) 16*050a99a6SPankaj Gupta #define RSA_1K_KEY_SZ 1024 17*050a99a6SPankaj Gupta #define RSA_1K_KEY_SZ_BYTES (RSA_1K_KEY_SZ/8) 18*050a99a6SPankaj Gupta 19*050a99a6SPankaj Gupta #define SHA256_BYTES (256/8) 20*050a99a6SPankaj Gupta 21*050a99a6SPankaj Gupta struct pk_in_params { 22*050a99a6SPankaj Gupta uint8_t *e; 23*050a99a6SPankaj Gupta uint32_t e_siz; 24*050a99a6SPankaj Gupta uint8_t *n; 25*050a99a6SPankaj Gupta uint32_t n_siz; 26*050a99a6SPankaj Gupta uint8_t *a; 27*050a99a6SPankaj Gupta uint32_t a_siz; 28*050a99a6SPankaj Gupta uint8_t *b; 29*050a99a6SPankaj Gupta uint32_t b_siz; 30*050a99a6SPankaj Gupta }; 31*050a99a6SPankaj Gupta 32*050a99a6SPankaj Gupta struct rsa_context { 33*050a99a6SPankaj Gupta struct pk_in_params pkin; 34*050a99a6SPankaj Gupta }; 35*050a99a6SPankaj Gupta 36*050a99a6SPankaj Gupta int rsa_verify_signature(void *hash_ptr, unsigned int hash_len, 37*050a99a6SPankaj Gupta void *sig_ptr, unsigned int sig_len, 38*050a99a6SPankaj Gupta void *pk_ptr, unsigned int pk_len); 39*050a99a6SPankaj Gupta 40*050a99a6SPankaj Gupta #endif 41