blob: 51a2ff9faba4647d21cedaf5a9a5cfb8aae03df3 [file] [log] [blame]
#ifndef _ASR_TE200_RSA_OPTEE_H_
#define _ASR_TE200_RSA_OPTEE_H_
#include "../te200/asr-aca/se_rsa.h"
#define ASR_RSA_ACCESS_UUID \
{ \
0xf98a8a72, 0x8acb, 0x11ef, \
{ 0x9e, 0xcc, 0xd7, 0x6e, 0x16, 0xa8, 0xa1, 0xa8 } \
} \
/*
* n: The modulus
* e: The public exponent
* d: The private exponent
* p: The first prime factor
* q: The second prime factor
*
* signature params
*
* [in] pParams[0].memref.buffer rsa key = (n + e + d + p + q) with blinding mode,
* rsa key = (n + e + d) with non blinding mode.
*
* [in] pParams[0].memref.size key size = (n_size + e_size + d_size + p_size + q_size) with blinding mode,
* key size = (n_size + e_size + d_size) with non blinding mode.
*
* [in] pParams[1].value.a n_size + e_size + d_size
* bit 9:0, n_size
* bit 19:10, e_size
* bit 29:19, d_size
* bit 30:30, is_bliding
*
* [in] pParams[1].value.b p_size + q_size, ignore it if use non blinding mode
* bit 9:0, p_size
* bit 19:10, q_size
*
* [in] pParams[2].memref.buffer message
* [in] pParams[2].memref.size length of message
* [out] pParams[3].memref.buffer signature
*/
#define CMD_RSA_SIGN_PKCS_V15_SHA1 0x1
#define CMD_RSA_SIGN_PKCS_V15_SHA256 0x2
#define CMD_RSA_SIGN_PKCS_V21_SHA1 0x3
#define CMD_RSA_SIGN_PKCS_V21_SHA256 0x4
/*
* verify params
*
* [in] pParams[0].memref.buffer n + e
* [in] pParams[0].memref.size n_size + e_size
* [in] pParams[1].memref.buffer message data
* [in] pParams[1].memref.size length of message
* [in] pParams[2].memref.buffer signature
* [in] pParams[2].memref.size length of signature
* [in] pParams[3].value.a n_size
*/
#define CMD_RSA_VERIFY_PKCS_V15_SHA1 0x5
#define CMD_RSA_VERIFY_PKCS_V15_SHA256 0x6
#define CMD_RSA_VERIFY_PKCS_V21_SHA1 0x7
#define CMD_RSA_VERIFY_PKCS_V21_SHA256 0x8
#endif