1 typedef int cl_engine_init(void);
2 typedef int cl_mod_exp(BIGNUM
*r
, const BIGNUM
*a
, const BIGNUM
*p
,
3 const BIGNUM
*m
, BN_CTX
*cgx
);
4 typedef int cl_mod_exp_crt(BIGNUM
*r
, BIGNUM
*a
, const BIGNUM
*p
,
5 const BIGNUM
*q
, const BIGNUM
*dmp1
,
6 const BIGNUM
*dmq1
, const BIGNUM
*iqmp
,
8 typedef int cl_rsa_mod_exp(BIGNUM
*r0
, const BIGNUM
*I
, RSA
*rsa
);
9 typedef int cl_rsa_pub_enc(int flen
, const unsigned char *from
,
10 unsigned char *to
, RSA
*rsa
, int padding
);
11 typedef int cl_rsa_pub_dec(int flen
, const unsigned char *from
,
12 unsigned char *to
, RSA
*rsa
, int padding
);
13 typedef int cl_rsa_priv_enc(int flen
, const unsigned char *from
,
14 unsigned char *to
, RSA
*rsa
, int padding
);
15 typedef int cl_rsa_priv_dec(int flen
, const unsigned char *from
,
16 unsigned char *to
, RSA
*rsa
, int padding
);
17 typedef int cl_rand_bytes(unsigned char *buf
, int num
);
18 typedef DSA_SIG
*cl_dsa_sign(const unsigned char *dgst
, int dlen
, DSA
*dsa
);
19 typedef int cl_dsa_verify(const unsigned char *dgst
, int dgst_len
,
20 DSA_SIG
*sig
, DSA
*dsa
);
22 static const char *CLUSTER_LABS_LIB_NAME
= "cluster_labs";
23 static const char *CLUSTER_LABS_F1
= "hw_engine_init";
24 static const char *CLUSTER_LABS_F2
= "hw_mod_exp";
25 static const char *CLUSTER_LABS_F3
= "hw_mod_exp_crt";
26 static const char *CLUSTER_LABS_F4
= "hw_rsa_mod_exp";
27 static const char *CLUSTER_LABS_F5
= "hw_rsa_priv_enc";
28 static const char *CLUSTER_LABS_F6
= "hw_rsa_priv_dec";
29 static const char *CLUSTER_LABS_F7
= "hw_rsa_pub_enc";
30 static const char *CLUSTER_LABS_F8
= "hw_rsa_pub_dec";
31 static const char *CLUSTER_LABS_F20
= "hw_rand_bytes";
32 static const char *CLUSTER_LABS_F30
= "hw_dsa_sign";
33 static const char *CLUSTER_LABS_F31
= "hw_dsa_verify";