32size_t cx_pkcs1_get_hash_len(cx_md_t hID);
43WARN_UNUSED_RESULT cx_err_t cx_pkcs1_emsa_v1o5_encode(cx_md_t hID,
57bool cx_pkcs1_emsa_v1o5_verify(cx_md_t hID,
76WARN_UNUSED_RESULT cx_err_t cx_pkcs1_emsa_pss_encode(cx_md_t hID,
93WARN_UNUSED_RESULT cx_err_t cx_pkcs1_emsa_pss_encode_with_salt_len(cx_md_t hID,
113bool cx_pkcs1_emsa_pss_verify(cx_md_t hID,
116 const uint8_t *mHash,
129bool cx_pkcs1_emsa_pss_verify_with_salt_len(cx_md_t hID,
132 const uint8_t *mHash,
145WARN_UNUSED_RESULT cx_err_t cx_pkcs1_eme_v1o5_encode(cx_md_t hID,
148 const uint8_t *mHash,
159size_t cx_pkcs1_eme_v1o5_decode(cx_md_t hID,
174WARN_UNUSED_RESULT cx_err_t
175cx_pkcs1_eme_oaep_encode(cx_md_t hID, uint8_t *em,
size_t em_len,
const uint8_t *m,
size_t mLen);
185WARN_UNUSED_RESULT cx_err_t
186cx_pkcs1_eme_oaep_decode(cx_md_t hID, uint8_t *em,
size_t em_len, uint8_t *m,
size_t *mLen);
189#define PKCS1_DIGEST_BUFFER_LENGTH 64
191typedef struct cx_pkcs1_s {
194#if defined(HAVE_SHA256)
198#if defined(HAVE_SHA512)
202 uint8_t digest[PKCS1_DIGEST_BUFFER_LENGTH];
206#if defined(HAVE_SHA224)
207#define CX_OID_SHA224_LENGTH 19
208extern uint8_t
const C_cx_oid_sha224[CX_OID_SHA224_LENGTH];
211#if defined(HAVE_SHA256)
212#define CX_OID_SHA256_LENGTH 19
213extern uint8_t
const C_cx_oid_sha256[CX_OID_SHA256_LENGTH];
216#if defined(HAVE_SHA384)
217#define CX_OID_SHA384_LENGTH 19
218extern uint8_t
const C_cx_oid_sha384[CX_OID_SHA384_LENGTH];
221#if defined(HAVE_SHA512)
222#define CX_OID_SHA512_LENGTH 19
223extern uint8_t
const C_cx_oid_sha512[CX_OID_SHA512_LENGTH];
226#if defined(HAVE_SHA3)
227#define CX_OID_SHA3_256_LENGTH 19
228extern uint8_t
const C_cx_oid_sha3_256[CX_OID_SHA3_256_LENGTH];
230#define CX_OID_SHA3_512_LENGTH 19
231extern uint8_t
const C_cx_oid_sha3_512[CX_OID_SHA3_512_LENGTH];
234WARN_UNUSED_RESULT cx_err_t cx_rsa_get_public_components(
const cx_rsa_public_key_t *key,
237WARN_UNUSED_RESULT cx_err_t cx_rsa_get_private_components(
const cx_rsa_private_key_t *key,
241WARN_UNUSED_RESULT cx_err_t cx_rsa_private_key_ctx_size(
const cx_rsa_private_key_t *key,