aboutsummaryrefslogtreecommitdiffstats
path: root/test/bls_test.cpp
diff options
context:
space:
mode:
authorMITSUNARI Shigeo <herumi@nifty.com>2016-08-11 14:14:23 +0800
committerMITSUNARI Shigeo <herumi@nifty.com>2016-08-11 14:14:23 +0800
commit6ab490cb6ae5321c991b9ce24c2b2f908d8c3490 (patch)
tree5033e8f9a029b3e9c61ddf015e8a1f6b296313c6 /test/bls_test.cpp
parent0ed60fb7254d28bc682feb3150ea1e3df79b2b77 (diff)
downloaddexon-bls-6ab490cb6ae5321c991b9ce24c2b2f908d8c3490.tar
dexon-bls-6ab490cb6ae5321c991b9ce24c2b2f908d8c3490.tar.gz
dexon-bls-6ab490cb6ae5321c991b9ce24c2b2f908d8c3490.tar.bz2
dexon-bls-6ab490cb6ae5321c991b9ce24c2b2f908d8c3490.tar.lz
dexon-bls-6ab490cb6ae5321c991b9ce24c2b2f908d8c3490.tar.xz
dexon-bls-6ab490cb6ae5321c991b9ce24c2b2f908d8c3490.tar.zst
dexon-bls-6ab490cb6ae5321c991b9ce24c2b2f908d8c3490.zip
add Feldman VSS ; Verifier
Diffstat (limited to 'test/bls_test.cpp')
-rw-r--r--test/bls_test.cpp29
1 files changed, 28 insertions, 1 deletions
diff --git a/test/bls_test.cpp b/test/bls_test.cpp
index 59924d9..a2bcc08 100644
--- a/test/bls_test.cpp
+++ b/test/bls_test.cpp
@@ -1,6 +1,7 @@
#include <bls.hpp>
#include <cybozu/test.hpp>
#include <iostream>
+#include <sstream>
CYBOZU_TEST_AUTO(bls)
{
@@ -42,7 +43,6 @@ CYBOZU_TEST_AUTO(bls)
CYBOZU_TEST_AUTO(k_of_n)
{
- bls::init();
const std::string m = "abc";
const int n = 5;
const int k = 3;
@@ -170,3 +170,30 @@ CYBOZU_TEST_AUTO(k_of_n)
CYBOZU_TEST_EQUAL(pub, pub0);
}
}
+
+CYBOZU_TEST_AUTO(verifier)
+{
+ const int n = 6;
+ const int k = 3;
+ bls::PrivateKey prv0;
+ prv0.init();
+ bls::PublicKey pub0;
+ prv0.getPublicKey(pub0);
+ std::vector<bls::PrivateKey> prvVec;
+ bls::Verifier ver;
+ prv0.share(prvVec, n, k, &ver);
+ CYBOZU_TEST_ASSERT(pub0.isValid(ver));
+ for (size_t i = 0; i < prvVec.size(); i++) {
+ bls::PublicKey pub;
+ prvVec[i].getPublicKey(pub);
+ CYBOZU_TEST_ASSERT(pub.isValid(ver));
+ }
+ {
+ std::ostringstream oss;
+ oss << ver;
+ bls::Verifier ver2;
+ std::istringstream iss(oss.str());
+ iss >> ver2;
+ CYBOZU_TEST_EQUAL(ver, ver2);
+ }
+}