25 #ifndef BR_BEARSSL_RSA_H__ 26 #define BR_BEARSSL_RSA_H__ 280 const unsigned char *hash_oid,
size_t hash_len,
329 const br_hash_class *hf_data,
const br_hash_class *hf_mgf1,
377 const br_prng_class **rnd,
const br_hash_class *dig,
378 const void *label,
size_t label_len,
380 void *dst,
size_t dst_max_len,
381 const void *src,
size_t src_len);
435 const unsigned char *hash,
size_t hash_len,
481 const br_hash_class *hf_data,
const br_hash_class *hf_mgf1,
482 const unsigned char *hash_value,
size_t salt_len,
488 #define BR_HASH_OID_SHA1 \ 489 ((const unsigned char *)"\x05\x2B\x0E\x03\x02\x1A") 494 #define BR_HASH_OID_SHA224 \ 495 ((const unsigned char *)"\x09\x60\x86\x48\x01\x65\x03\x04\x02\x04") 500 #define BR_HASH_OID_SHA256 \ 501 ((const unsigned char *)"\x09\x60\x86\x48\x01\x65\x03\x04\x02\x01") 506 #define BR_HASH_OID_SHA384 \ 507 ((const unsigned char *)"\x09\x60\x86\x48\x01\x65\x03\x04\x02\x02") 512 #define BR_HASH_OID_SHA512 \ 513 ((const unsigned char *)"\x09\x60\x86\x48\x01\x65\x03\x04\x02\x03") 553 const br_hash_class *dig,
const void *label,
size_t label_len,
589 const unsigned char *hash_oid,
size_t hash_len,
607 const br_hash_class *hf_data,
const br_hash_class *hf_mgf1,
635 const unsigned char *hash,
size_t hash_len,
653 const br_hash_class *hf_data,
const br_hash_class *hf_mgf1,
654 const unsigned char *hash_value,
size_t salt_len,
690 const unsigned char *hash_oid,
size_t hash_len,
708 const br_hash_class *hf_data,
const br_hash_class *hf_mgf1,
736 const unsigned char *hash,
size_t hash_len,
754 const br_hash_class *hf_data,
const br_hash_class *hf_mgf1,
755 const unsigned char *hash_value,
size_t salt_len,
799 const unsigned char *hash_oid,
size_t hash_len,
821 const br_hash_class *hf_data,
const br_hash_class *hf_mgf1,
857 const unsigned char *hash,
size_t hash_len,
879 const br_hash_class *hf_data,
const br_hash_class *hf_mgf1,
880 const unsigned char *hash_value,
size_t salt_len,
980 const unsigned char *hash_oid,
size_t hash_len,
998 const br_hash_class *hf_data,
const br_hash_class *hf_mgf1,
1026 const unsigned char *hash,
size_t hash_len,
1044 const br_hash_class *hf_data,
const br_hash_class *hf_mgf1,
1045 const unsigned char *hash_value,
size_t salt_len,
1156 unsigned char *data,
size_t len);
1175 const br_prng_class **rnd,
const br_hash_class *dig,
1176 const void *label,
size_t label_len,
1178 void *dst,
size_t dst_max_len,
1179 const void *src,
size_t src_len);
1195 const br_hash_class *dig,
const void *label,
size_t label_len,
1215 const br_prng_class **rnd,
const br_hash_class *dig,
1216 const void *label,
size_t label_len,
1218 void *dst,
size_t dst_max_len,
1219 const void *src,
size_t src_len);
1235 const br_hash_class *dig,
const void *label,
size_t label_len,
1255 const br_prng_class **rnd,
const br_hash_class *dig,
1256 const void *label,
size_t label_len,
1258 void *dst,
size_t dst_max_len,
1259 const void *src,
size_t src_len);
1275 const br_hash_class *dig,
const void *label,
size_t label_len,
1299 const br_prng_class **rnd,
const br_hash_class *dig,
1300 const void *label,
size_t label_len,
1302 void *dst,
size_t dst_max_len,
1303 const void *src,
size_t src_len);
1323 const br_hash_class *dig,
const void *label,
size_t label_len,
1337 #define BR_RSA_KBUF_PRIV_SIZE(size) (5 * (((size) + 15) >> 4)) 1350 #define BR_RSA_KBUF_PUB_SIZE(size) (4 + (((size) + 7) >> 3)) 1391 const br_prng_class **rng_ctx,
1394 unsigned size, uint32_t pubexp);
1411 const br_prng_class **rng_ctx,
1414 unsigned size, uint32_t pubexp);
1431 const br_prng_class **rng_ctx,
1434 unsigned size, uint32_t pubexp);
1455 const br_prng_class **rng_ctx,
1458 unsigned size, uint32_t pubexp);
size_t dqlen
Second reduced private exponent length (in bytes).
Definition: bearssl_rsa.h:200
size_t iqlen
CRT coefficient length (in bytes).
Definition: bearssl_rsa.h:204
RSA public key.
Definition: bearssl_rsa.h:162
uint32_t n_bitlen
Modulus bit length (in bits, exact value).
Definition: bearssl_rsa.h:184
size_t qlen
Second prime factor length (in bytes).
Definition: bearssl_rsa.h:192
size_t nlen
Modulus length (in bytes).
Definition: bearssl_rsa.h:166
unsigned char * n
Modulus.
Definition: bearssl_rsa.h:164
unsigned char * e
Public exponent.
Definition: bearssl_rsa.h:168
unsigned char * q
Second prime factor.
Definition: bearssl_rsa.h:190
size_t plen
First prime factor length (in bytes).
Definition: bearssl_rsa.h:188
unsigned char * dq
Second reduced private exponent.
Definition: bearssl_rsa.h:198
unsigned char * dp
First reduced private exponent.
Definition: bearssl_rsa.h:194
RSA private key.
Definition: bearssl_rsa.h:182
size_t elen
Public exponent length (in bytes).
Definition: bearssl_rsa.h:170
unsigned char * iq
CRT coefficient.
Definition: bearssl_rsa.h:202
size_t dplen
First reduced private exponent length (in bytes).
Definition: bearssl_rsa.h:196
unsigned char * p
First prime factor.
Definition: bearssl_rsa.h:186