comparison src/headers/tomcrypt_pkcs.h @ 191:1c15b283127b libtomcrypt-orig

Import of libtomcrypt 1.02 with manual path rename rearrangement etc
author Matt Johnston <matt@ucc.asn.au>
date Fri, 06 May 2005 13:23:02 +0000
parents
children 39d5d58461d6
comparison
equal deleted inserted replaced
143:5d99163f7e32 191:1c15b283127b
1 /* PKCS Header Info */
2
3 /* ===> PKCS #1 -- RSA Cryptography <=== */
4 #ifdef PKCS_1
5
6 int pkcs_1_mgf1(const unsigned char *seed, unsigned long seedlen,
7 int hash_idx,
8 unsigned char *mask, unsigned long masklen);
9
10 int pkcs_1_i2osp(mp_int *n, unsigned long modulus_len, unsigned char *out);
11 int pkcs_1_os2ip(mp_int *n, unsigned char *in, unsigned long inlen);
12
13 /* *** v2.0 padding */
14 int pkcs_1_oaep_encode(const unsigned char *msg, unsigned long msglen,
15 const unsigned char *lparam, unsigned long lparamlen,
16 unsigned long modulus_bitlen, prng_state *prng,
17 int prng_idx, int hash_idx,
18 unsigned char *out, unsigned long *outlen);
19
20 int pkcs_1_oaep_decode(const unsigned char *msg, unsigned long msglen,
21 const unsigned char *lparam, unsigned long lparamlen,
22 unsigned long modulus_bitlen, int hash_idx,
23 unsigned char *out, unsigned long *outlen,
24 int *res);
25
26 int pkcs_1_pss_encode(const unsigned char *msghash, unsigned long msghashlen,
27 unsigned long saltlen, prng_state *prng,
28 int prng_idx, int hash_idx,
29 unsigned long modulus_bitlen,
30 unsigned char *out, unsigned long *outlen);
31
32 int pkcs_1_pss_decode(const unsigned char *msghash, unsigned long msghashlen,
33 const unsigned char *sig, unsigned long siglen,
34 unsigned long saltlen, int hash_idx,
35 unsigned long modulus_bitlen, int *res);
36
37 /* *** v1.5 padding */
38 /* encryption padding */
39 int pkcs_1_v15_es_encode(const unsigned char *msg, unsigned long msglen,
40 unsigned long modulus_bitlen,
41 prng_state *prng, int prng_idx,
42 unsigned char *out, unsigned long *outlen);
43
44 /* note "outlen" is fixed, you have to tell this decoder how big
45 * the original message was. Unlike the OAEP decoder it cannot auto-detect it.
46 */
47 int pkcs_1_v15_es_decode(const unsigned char *msg, unsigned long msglen,
48 unsigned long modulus_bitlen,
49 unsigned char *out, unsigned long outlen,
50 int *res);
51
52 /* signature padding */
53 int pkcs_1_v15_sa_encode(const unsigned char *msghash, unsigned long msghashlen,
54 int hash_idx, unsigned long modulus_bitlen,
55 unsigned char *out, unsigned long *outlen);
56
57 int pkcs_1_v15_sa_decode(const unsigned char *msghash, unsigned long msghashlen,
58 const unsigned char *sig, unsigned long siglen,
59 int hash_idx, unsigned long modulus_bitlen,
60 int *res);
61
62
63 #endif /* PKCS_1 */
64
65 /* ===> PKCS #5 -- Password Based Cryptography <=== */
66 #ifdef PKCS_5
67
68 /* Algorithm #1 (old) */
69 int pkcs_5_alg1(const unsigned char *password, unsigned long password_len,
70 const unsigned char *salt,
71 int iteration_count, int hash_idx,
72 unsigned char *out, unsigned long *outlen);
73
74 /* Algorithm #2 (new) */
75 int pkcs_5_alg2(const unsigned char *password, unsigned long password_len,
76 const unsigned char *salt, unsigned long salt_len,
77 int iteration_count, int hash_idx,
78 unsigned char *out, unsigned long *outlen);
79
80 #endif /* PKCS_5 */