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
, const BIGNUM
*dmq1
,
6 const BIGNUM
*iqmp
, BN_CTX
*ctx
);
7 typedef int cl_rsa_mod_exp(BIGNUM
*r0
, const BIGNUM
*I
, RSA
*rsa
);
8 typedef int cl_rsa_pub_enc(int flen
, const unsigned char *from
,
9 unsigned char *to
, RSA
*rsa
, int padding
);
10 typedef int cl_rsa_pub_dec(int flen
, const unsigned char *from
,
11 unsigned char *to
, RSA
*rsa
, int padding
);
12 typedef int cl_rsa_priv_enc(int flen
, const unsigned char *from
,
13 unsigned char *to
, RSA
*rsa
, int padding
);
14 typedef int cl_rsa_priv_dec(int flen
, const unsigned char *from
,
15 unsigned char *to
, RSA
*rsa
, int padding
);
16 typedef int cl_rand_bytes(unsigned char *buf
, int num
);
17 typedef DSA_SIG
*cl_dsa_sign(const unsigned char *dgst
, int dlen
, DSA
*dsa
);
18 typedef int cl_dsa_verify(const unsigned char *dgst
, int dgst_len
,
19 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";