]> git.cryptolib.org Git - arm-crypto-lib.git/blobdiff - rsa/rsa_basic.h
more precise type for arguments of bcal_nessie_multiple()
[arm-crypto-lib.git] / rsa / rsa_basic.h
index a8a2dc8a5f417fa5f826229e1d59c357354433f7..85b9ef3ccd92928815b81e925cc200d39b38e500 100644 (file)
 #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);