Functions | |
cy_en_cryptolite_status_t | Cy_Cryptolite_Rsa_Verify (CRYPTOLITE_Type *base, uint16_t digestLength, uint8_t *digest, uint8_t *rsaSignature, uint16_t rsaLength, cy_stc_cryptolite_rsa_pub_key_t *key, uint8_t *processedDigest) |
RSA verification with checks for content, padding and signature format. More... | |
void | Cy_Cryptolite_Rsa_Coeff (CRYPTOLITE_Type *base, cy_stc_cryptolite_rsa_pub_key_t *key) |
This function calculates the RSA related coefficients. More... | |
cy_en_cryptolite_status_t Cy_Cryptolite_Rsa_Verify | ( | CRYPTOLITE_Type * | base, |
uint16_t | digestLength, | ||
uint8_t * | digest, | ||
uint8_t * | rsaSignature, | ||
uint16_t | rsaLength, | ||
cy_stc_cryptolite_rsa_pub_key_t * | key, | ||
uint8_t * | processedDigest | ||
) |
RSA verification with checks for content, padding and signature format.
SHA digest of the message and decrypted message should be calculated before. Supports only PKCS1-v1_5 format, inside of this format supported padding using only SHA, cases with MD2 and MD5 are not supported.
The digest and decryptedSignature buffers must be 4 byte aligned
Returns the verification result
base | The pointer to the CRYPTOLITE instance. |
digestLength | SHA digest length. |
digest | The pointer to the hash of the message or the message whose signature is to be verified. |
rsaSignature | The pointer to the encrypted RSA signature which is required to be decrypted. |
rsaLength | The length of the RSA signature (in bytes). |
key | Pointer to RSA Public key and additional coefficients information. |
processedDigest | Pointer to hold processed digest from RSA signature. |
void Cy_Cryptolite_Rsa_Coeff | ( | CRYPTOLITE_Type * | base, |
cy_stc_cryptolite_rsa_pub_key_t * | key | ||
) |
This function calculates the RSA related coefficients.
base | The pointer to the CRYPTOLITE instance. |
key | Pointer to RSA Public key and additional coefficients information. |