From a359f1b668fd8e385162379df5f5d8a9d4545d44 Mon Sep 17 00:00:00 2001 From: MITSUNARI Shigeo Date: Tue, 6 Sep 2016 22:55:49 +0900 Subject: add sample of recovering secret key for Go --- src/bls_if.cpp | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'src/bls_if.cpp') diff --git a/src/bls_if.cpp b/src/bls_if.cpp index 4315fad..6021c30 100644 --- a/src/bls_if.cpp +++ b/src/bls_if.cpp @@ -115,6 +115,16 @@ void blsSecretKeySign(const blsSecretKey *sec, blsSign *sign, const char *m, siz ((const bls::SecretKey*)sec)->sign(*(bls::Sign*)sign, std::string(m, size)); } +void blsSecretKeySet(blsSecretKey *sec, const blsSecretKey* const *msk, size_t k, const blsId *id) +{ + ((bls::SecretKey*)sec)->set((const bls::SecretKey *const *)msk, k, *(const bls::Id*)id); +} + +void blsSecretKeyRecover(blsSecretKey *sec, const blsSecretKey* const *secVec, const blsId *const *idVec, size_t n) +{ + ((bls::SecretKey*)sec)->recover((const bls::SecretKey *const *)secVec, (const bls::Id *const *)idVec, n); +} + blsPublicKey *blsPublicKeyCreate() { return createT(); @@ -141,6 +151,14 @@ void blsPublicKeyAdd(blsPublicKey *pub, const blsPublicKey *rhs) { ((bls::PublicKey*)pub)->add(*(const bls::PublicKey*)rhs); } +void blsPublicKeySet(blsPublicKey *pub, const blsPublicKey *const *mpk, size_t k, const blsId *id) +{ + ((bls::PublicKey*)pub)->set((const bls::PublicKey* const *)mpk, k, *(const bls::Id*)id); +} +void blsPublicKeyRecover(blsPublicKey *pub, const blsPublicKey *const *pubVec, const blsId *const *idVec, size_t n) +{ + ((bls::PublicKey*)pub)->recover((const bls::PublicKey* const *)pubVec, (const bls::Id* const *)idVec, n); +} blsSign *blsSignCreate() { @@ -168,6 +186,10 @@ void blsSignAdd(blsSign *sign, const blsSign *rhs) { ((bls::Sign*)sign)->add(*(const bls::Sign*)rhs); } +void blsSignRecover(blsSign *sign, const blsSign *const *signVec, const blsId *const *idVec, size_t n) +{ + ((bls::Sign*)sign)->recover((const bls::Sign* const *)signVec, (const bls::Id* const *)idVec, n); +} int blsSignVerify(const blsSign *sign, const blsPublicKey *pub, const char *m, size_t size) { -- cgit v1.2.3