| #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 |