xref: /dflybsd-src/contrib/wpa_supplicant/src/tls/rsa.h (revision 3a84a4273475ed07d0ab1c2dfeffdfedef35d9cd)
16d49e1aeSJan Lentfer /*
26d49e1aeSJan Lentfer  * RSA
36d49e1aeSJan Lentfer  * Copyright (c) 2006, Jouni Malinen <j@w1.fi>
46d49e1aeSJan Lentfer  *
53ff40c12SJohn Marino  * This software may be distributed under the terms of the BSD license.
63ff40c12SJohn Marino  * See README for more details.
76d49e1aeSJan Lentfer  */
86d49e1aeSJan Lentfer 
96d49e1aeSJan Lentfer #ifndef RSA_H
106d49e1aeSJan Lentfer #define RSA_H
116d49e1aeSJan Lentfer 
126d49e1aeSJan Lentfer struct crypto_rsa_key;
136d49e1aeSJan Lentfer 
146d49e1aeSJan Lentfer struct crypto_rsa_key *
156d49e1aeSJan Lentfer crypto_rsa_import_public_key(const u8 *buf, size_t len);
166d49e1aeSJan Lentfer struct crypto_rsa_key *
17*a1157835SDaniel Fojt crypto_rsa_import_public_key_parts(const u8 *n, size_t n_len,
18*a1157835SDaniel Fojt 				   const u8 *e, size_t e_len);
19*a1157835SDaniel Fojt struct crypto_rsa_key *
206d49e1aeSJan Lentfer crypto_rsa_import_private_key(const u8 *buf, size_t len);
216d49e1aeSJan Lentfer size_t crypto_rsa_get_modulus_len(struct crypto_rsa_key *key);
226d49e1aeSJan Lentfer int crypto_rsa_exptmod(const u8 *in, size_t inlen, u8 *out, size_t *outlen,
236d49e1aeSJan Lentfer 		       struct crypto_rsa_key *key, int use_private);
246d49e1aeSJan Lentfer void crypto_rsa_free(struct crypto_rsa_key *key);
256d49e1aeSJan Lentfer 
266d49e1aeSJan Lentfer #endif /* RSA_H */
27