1e5b75505Sopenharmony_ci/*
2e5b75505Sopenharmony_ci * PKCS #1 (RSA Encryption)
3e5b75505Sopenharmony_ci * Copyright (c) 2006-2009, Jouni Malinen <j@w1.fi>
4e5b75505Sopenharmony_ci *
5e5b75505Sopenharmony_ci * This software may be distributed under the terms of the BSD license.
6e5b75505Sopenharmony_ci * See README for more details.
7e5b75505Sopenharmony_ci */
8e5b75505Sopenharmony_ci
9e5b75505Sopenharmony_ci#ifndef PKCS1_H
10e5b75505Sopenharmony_ci#define PKCS1_H
11e5b75505Sopenharmony_ci
12e5b75505Sopenharmony_cistruct crypto_public_key;
13e5b75505Sopenharmony_cistruct asn1_oid;
14e5b75505Sopenharmony_ci
15e5b75505Sopenharmony_ciint pkcs1_encrypt(int block_type, struct crypto_rsa_key *key,
16e5b75505Sopenharmony_ci		  int use_private, const u8 *in, size_t inlen,
17e5b75505Sopenharmony_ci		  u8 *out, size_t *outlen);
18e5b75505Sopenharmony_ciint pkcs1_v15_private_key_decrypt(struct crypto_rsa_key *key,
19e5b75505Sopenharmony_ci				  const u8 *in, size_t inlen,
20e5b75505Sopenharmony_ci				  u8 *out, size_t *outlen);
21e5b75505Sopenharmony_ciint pkcs1_decrypt_public_key(struct crypto_rsa_key *key,
22e5b75505Sopenharmony_ci			     const u8 *crypt, size_t crypt_len,
23e5b75505Sopenharmony_ci			     u8 *plain, size_t *plain_len);
24e5b75505Sopenharmony_ciint pkcs1_v15_sig_ver(struct crypto_public_key *pk,
25e5b75505Sopenharmony_ci		      const u8 *s, size_t s_len,
26e5b75505Sopenharmony_ci		      const struct asn1_oid *hash_alg,
27e5b75505Sopenharmony_ci		      const u8 *hash, size_t hash_len);
28e5b75505Sopenharmony_ci
29e5b75505Sopenharmony_ci#endif /* PKCS1_H */
30