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