aboutsummaryrefslogtreecommitdiffstats
path: root/src/bls_if.cpp
diff options
context:
space:
mode:
authorMITSUNARI Shigeo <herumi@nifty.com>2016-09-06 21:55:49 +0800
committerMITSUNARI Shigeo <herumi@nifty.com>2016-09-06 21:55:49 +0800
commita359f1b668fd8e385162379df5f5d8a9d4545d44 (patch)
treeb56a70f6dd80dc81053b90d2964971b9a390f4ae /src/bls_if.cpp
parent8d9d3dc516a0c286baea1555c0af20b8db06740d (diff)
downloaddexon-bls-a359f1b668fd8e385162379df5f5d8a9d4545d44.tar
dexon-bls-a359f1b668fd8e385162379df5f5d8a9d4545d44.tar.gz
dexon-bls-a359f1b668fd8e385162379df5f5d8a9d4545d44.tar.bz2
dexon-bls-a359f1b668fd8e385162379df5f5d8a9d4545d44.tar.lz
dexon-bls-a359f1b668fd8e385162379df5f5d8a9d4545d44.tar.xz
dexon-bls-a359f1b668fd8e385162379df5f5d8a9d4545d44.tar.zst
dexon-bls-a359f1b668fd8e385162379df5f5d8a9d4545d44.zip
add sample of recovering secret key for Go
Diffstat (limited to 'src/bls_if.cpp')
-rw-r--r--src/bls_if.cpp22
1 files changed, 22 insertions, 0 deletions
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<bls::PublicKey, blsPublicKey>();
@@ -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)
{