18d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt/*
28d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * PKCS #1 (RSA Encryption)
38d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * Copyright (c) 2006-2009, 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 PKCS1_H
108d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#define PKCS1_H
118d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
1250b691dc36a8075e8f594e8bea93cb524fa6b1d2Dmitry Shmidtstruct crypto_public_key;
1350b691dc36a8075e8f594e8bea93cb524fa6b1d2Dmitry Shmidtstruct asn1_oid;
1450b691dc36a8075e8f594e8bea93cb524fa6b1d2Dmitry Shmidt
158d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtint pkcs1_encrypt(int block_type, struct crypto_rsa_key *key,
168d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt		  int use_private, const u8 *in, size_t inlen,
178d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt		  u8 *out, size_t *outlen);
188d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtint pkcs1_v15_private_key_decrypt(struct crypto_rsa_key *key,
198d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt				  const u8 *in, size_t inlen,
208d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt				  u8 *out, size_t *outlen);
218d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtint pkcs1_decrypt_public_key(struct crypto_rsa_key *key,
228d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt			     const u8 *crypt, size_t crypt_len,
238d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt			     u8 *plain, size_t *plain_len);
2450b691dc36a8075e8f594e8bea93cb524fa6b1d2Dmitry Shmidtint pkcs1_v15_sig_ver(struct crypto_public_key *pk,
2550b691dc36a8075e8f594e8bea93cb524fa6b1d2Dmitry Shmidt		      const u8 *s, size_t s_len,
2650b691dc36a8075e8f594e8bea93cb524fa6b1d2Dmitry Shmidt		      const struct asn1_oid *hash_alg,
2750b691dc36a8075e8f594e8bea93cb524fa6b1d2Dmitry Shmidt		      const u8 *hash, size_t hash_len);
288d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
298d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#endif /* PKCS1_H */
30