18d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt/*
28d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * RSA
38d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * Copyright (c) 2006, Jouni Malinen <j@w1.fi>
48d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt *
5c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt * This software may be distributed under the terms of the BSD license.
6c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt * See README for more details.
78d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt */
88d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
98d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#ifndef RSA_H
108d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#define RSA_H
118d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
128d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtstruct crypto_rsa_key;
138d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
148d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtstruct crypto_rsa_key *
158d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtcrypto_rsa_import_public_key(const u8 *buf, size_t len);
168d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtstruct crypto_rsa_key *
1750b691dc36a8075e8f594e8bea93cb524fa6b1d2Dmitry Shmidtcrypto_rsa_import_public_key_parts(const u8 *n, size_t n_len,
1850b691dc36a8075e8f594e8bea93cb524fa6b1d2Dmitry Shmidt				   const u8 *e, size_t e_len);
1950b691dc36a8075e8f594e8bea93cb524fa6b1d2Dmitry Shmidtstruct crypto_rsa_key *
208d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtcrypto_rsa_import_private_key(const u8 *buf, size_t len);
218d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtsize_t crypto_rsa_get_modulus_len(struct crypto_rsa_key *key);
228d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtint crypto_rsa_exptmod(const u8 *in, size_t inlen, u8 *out, size_t *outlen,
238d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt		       struct crypto_rsa_key *key, int use_private);
248d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtvoid crypto_rsa_free(struct crypto_rsa_key *key);
258d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
268d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#endif /* RSA_H */
27