add paillier methods

This commit is contained in:
Zhi Guan
2017-02-20 00:05:13 +08:00
parent 28145d1e48
commit be6c66d508
2 changed files with 167 additions and 0 deletions

View File

@@ -0,0 +1,96 @@
static int paillier_pub_encode(X509_PUBKEY *pk, const EVP_PKEY *pkey)
{
return 0;
}
static int paillier_pub_decode(EVP_PKEY *pkey, X509_PUBKEY *pubkey)
{
return 0;
}
static int paillier_pub_cmp(const EVP_PKEY *a, const EVP_PKEY *b)
{
return 0;
}
static int paillier_priv_decode(EVP_PKEY *pkey, const PKCS8_PRIV_KEY_INFO *p8)
{
return 0;
}
static int paillier_priv_encode(PKCS8_PRIV_KEY_INFO *p8, const EVP_PKEY *pkey)
{
return 0;
}
static int paillier_size(const EVP_PKEY *pkey)
{
return 0;
}
static int paillier_bits(const EVP_PKEY *pkey)
{
return 0;
}
static int paillier_security_bits(const EVP_PKEY *pkey)
{
return 0;
}
static void paillier_free(EVP_PKEY *pkey)
{
}
static int paillier_cmp_parameters(const EVP_PKEY *a, const EVP_PKEY *b)
{
return 1;
}
static int paillier_priv_print(BIO *bp, const EVP_PKEY *pkey, int indent, ASN1_PCTX *ctx)
{
return 1;
}
static int paillier_pub_print(BIO *bp, const EVP_PKEY *pkey, int indent, ASN1_PCTX *ctx)
{
return 1;
}
static int paillier_ctrl(EVP_PKEY *pkey, int op, long arg1, void *arg2)
{
return 1;
}
const EVP_PKEY_ASN1_METHOD paillier_ameth = {
NID_paillier,
NID_paillier,
0,
"PAILLER",
"GmSSL Paillier algorithm",
paillier_pub_decode,
paillier_pub_encode,
paillier_pub_cmp,
paillier_pub_print,
paillier_priv_decode,
paillier_priv_encode,
paillier_priv_print,
paillier_size,
paillier_bits,
paillier_security_bits,
0, 0, 0, 0,
paillier_cmp_parameters,
0, 0,
paillier_free,
paillier_ctrl,
NULL,
NULL
};

View File

@@ -0,0 +1,71 @@
static int pkey_paillier_init(EVP_PKEY_CTX *ctx)
{
return 0;
}
static int pkey_paillier_copy(EVP_PKEY_CTX *dst, EVP_PKEY_CTX *src)
{
return 0;
}
static void pkey_paillier_cleanup(EVP_PKEY_CTX *ctx)
{
}
static int pkey_paillier_encrypt(EVP_PKEY_CTX *ctx, unsigned char *out, size_t *outlen,
const unsigned char *in, size_t inlen)
{
return 0;
}
static int pkey_paillier_decrypt(EVP_PKEY_CTX *ctx, unsigned char *out, size_t *outlen,
const unsigned char *in, size_t inlen)
{
return 0;
}
static int pkey_paillier_ctrl(EVP_PKEY_CTX *ctx, int type, int p1, void *p2)
{
return 0;
}
static int pkey_paillier_ctrl_str(EVP_PKEY_CTX *ctx,
const char *type, const char *value)
{
return 0;
}
const EVP_PKEY_METHOD paillier_pmeth = {
EVP_PKEY_PAILLIER,
0,
pkey_paillier_init,
pkey_paillier_copy,
pkey_paillier_cleanup,
0, 0,
0,
pkey_paillier_keygen,
0, 0,
0, 0,
0, 0,
0, 0, 0, 0,
0,
pkey_paillier_encrypt,
0,
pkey_paillier_decrypt,
0, 0,
pkey_paillier_ctrl,
pkey_paillier_ctrl_str
};