aboutsummaryrefslogtreecommitdiffstats
path: root/test/bls_test.cpp
diff options
context:
space:
mode:
authorMITSUNARI Shigeo <herumi@nifty.com>2016-09-06 21:11:59 +0800
committerMITSUNARI Shigeo <herumi@nifty.com>2016-09-06 21:11:59 +0800
commit8d9d3dc516a0c286baea1555c0af20b8db06740d (patch)
tree17ca0b5e57ad6cf4a615a0a4eb66a64adf7a347e /test/bls_test.cpp
parentafc01080302fb3348536782e0af39cfb3943867f (diff)
downloaddexon-bls-8d9d3dc516a0c286baea1555c0af20b8db06740d.tar
dexon-bls-8d9d3dc516a0c286baea1555c0af20b8db06740d.tar.gz
dexon-bls-8d9d3dc516a0c286baea1555c0af20b8db06740d.tar.bz2
dexon-bls-8d9d3dc516a0c286baea1555c0af20b8db06740d.tar.lz
dexon-bls-8d9d3dc516a0c286baea1555c0af20b8db06740d.tar.xz
dexon-bls-8d9d3dc516a0c286baea1555c0af20b8db06740d.tar.zst
dexon-bls-8d9d3dc516a0c286baea1555c0af20b8db06740d.zip
add recover/set for C api
Diffstat (limited to 'test/bls_test.cpp')
-rw-r--r--test/bls_test.cpp29
1 files changed, 29 insertions, 0 deletions
diff --git a/test/bls_test.cpp b/test/bls_test.cpp
index 47ba330..9d3a7cb 100644
--- a/test/bls_test.cpp
+++ b/test/bls_test.cpp
@@ -105,18 +105,29 @@ CYBOZU_TEST_AUTO(k_of_n)
*/
bls::SecretKeyVec secVec(3);
bls::IdVec idVec(3);
+ std::vector<const bls::SecretKey*> psec(secVec.size());
+ std::vector<const bls::Id*> pid(idVec.size());
for (int a = 0; a < n; a++) {
secVec[0] = allPrvVec[a];
idVec[0] = allIdVec[a];
+ psec[0] = &secVec[0];
+ pid[0] = &idVec[0];
for (int b = a + 1; b < n; b++) {
secVec[1] = allPrvVec[b];
idVec[1] = allIdVec[b];
+ psec[1] = &secVec[1];
+ pid[1] = &idVec[1];
for (int c = b + 1; c < n; c++) {
secVec[2] = allPrvVec[c];
idVec[2] = allIdVec[c];
+ psec[2] = &secVec[2];
+ pid[2] = &idVec[2];
bls::SecretKey sec;
sec.recover(secVec, idVec);
CYBOZU_TEST_EQUAL(sec, sec0);
+ bls::SecretKey sec2;
+ sec2.recover(&psec[0], &pid[0], psec.size());
+ CYBOZU_TEST_EQUAL(sec, sec2);
}
}
}
@@ -207,14 +218,21 @@ CYBOZU_TEST_AUTO(k_of_n)
{
bls::PublicKeyVec pubVec(k);
idVec.resize(k);
+ std::vector<const bls::PublicKey*> ppub(k);
+ std::vector<const bls::Id*> pid(k);
// select [0, k) publicKey
for (int i = 0; i < k; i++) {
allPrvVec[i].getPublicKey(pubVec[i]);
idVec[i] = allIdVec[i];
+ ppub[i] = &pubVec[i];
+ pid[i] = &idVec[i];
}
bls::PublicKey pub;
pub.recover(pubVec, idVec);
CYBOZU_TEST_EQUAL(pub, pub0);
+ bls::PublicKey pub2;
+ pub2.recover(&ppub[0], &pid[0], ppub.size());
+ CYBOZU_TEST_EQUAL(pub, pub2);
}
}
@@ -276,6 +294,17 @@ CYBOZU_TEST_AUTO(pop)
bls::Sign s;
s.recover(sVec, idVec);
CYBOZU_TEST_EQUAL(s, s0);
+ std::vector<const bls::Sign*> ps(sVec.size());
+ for (size_t i = 0; i < ps.size(); i++) {
+ ps[i] = &sVec[i];
+ }
+ std::vector<const bls::Id*> pid(idVec.size());
+ for (size_t i = 0; i < pid.size(); i++) {
+ pid[i] = &idVec[i];
+ }
+ bls::Sign s2;
+ s2.recover(&ps[0], &pid[0], ps.size());
+ CYBOZU_TEST_EQUAL(s, s2);
}
CYBOZU_TEST_AUTO(add)