X-Git-Url: https://git.cryptolib.org/?a=blobdiff_plain;f=rsa%2Frsa_basic.h;h=85b9ef3ccd92928815b81e925cc200d39b38e500;hb=4b6bad354fca82df43a8a8b6090bf797f5896351;hp=a8a2dc8a5f417fa5f826229e1d59c357354433f7;hpb=3edc70ba3f2306ec503fb5e99858d28659dcac65;p=arm-crypto-lib.git diff --git a/rsa/rsa_basic.h b/rsa/rsa_basic.h index a8a2dc8..85b9ef3 100644 --- a/rsa/rsa_basic.h +++ b/rsa/rsa_basic.h @@ -23,25 +23,25 @@ #include "bigint.h" typedef struct { - bigint_t* exponent; - bigint_t* modulus; + bigint_t exponent; + bigint_t modulus; } rsa_publickey_t; typedef struct { - bigint_t* exponent; - bigint_t* modulus; + uint8_t n; + bigint_t modulus; + bigint_t* components; } rsa_privatekey_t; typedef struct { - bigint_t* public_exponent; - bigint_t* private_exponent; - bigint_t* modulus; + rsa_privatekey_t priv; + rsa_publickey_t pub; } rsa_fullkey_t; -void rsa_enc(bigint_t* data, rsa_publickey_t* key); -void rsa_dec(bigint_t* data, rsa_privatekey_t* key); +void rsa_enc(bigint_t* data, const rsa_publickey_t* key); +uint8_t rsa_dec(bigint_t* data, const rsa_privatekey_t* key); void rsa_os2ip(bigint_t* dest, const void* data, uint32_t length_B); void rsa_i2osp(void* dest, bigint_t* src, uint16_t* out_length_B);