aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMITSUNARI Shigeo <herumi@nifty.com>2019-01-24 10:41:04 +0800
committerMITSUNARI Shigeo <herumi@nifty.com>2019-01-24 10:41:04 +0800
commit16714d96ba69b286d4342bc2c6206ece57b412a8 (patch)
tree6230104ff61f1c3bd117bf992c1af3104c4ee9ef
parent0693d342069b100cf53867c39c7d4e837bcdc366 (diff)
downloaddexon-bls-16714d96ba69b286d4342bc2c6206ece57b412a8.tar
dexon-bls-16714d96ba69b286d4342bc2c6206ece57b412a8.tar.gz
dexon-bls-16714d96ba69b286d4342bc2c6206ece57b412a8.tar.bz2
dexon-bls-16714d96ba69b286d4342bc2c6206ece57b412a8.tar.lz
dexon-bls-16714d96ba69b286d4342bc2c6206ece57b412a8.tar.xz
dexon-bls-16714d96ba69b286d4342bc2c6206ece57b412a8.tar.zst
dexon-bls-16714d96ba69b286d4342bc2c6206ece57b412a8.zip
add test of blsSetRandFunc
-rw-r--r--test/bls_test.hpp36
1 files changed, 36 insertions, 0 deletions
diff --git a/test/bls_test.hpp b/test/bls_test.hpp
index 58ab475..77c0915 100644
--- a/test/bls_test.hpp
+++ b/test/bls_test.hpp
@@ -461,6 +461,41 @@ void verifyAggregateTest()
CYBOZU_TEST_ASSERT(!sig.verifyAggregatedHashes(pubs, h.data(), sizeofHash, n));
}
+unsigned int writeSeq(void *self, void *buf, unsigned int bufSize)
+{
+ int& seq = *(int*)self;
+ char *p = (char *)buf;
+ for (unsigned int i = 0; i < bufSize; i++) {
+ p[i] = char(seq++);
+ }
+ return bufSize;
+}
+
+void setRandFuncTest()
+{
+ blsSecretKey sec;
+ const int seqInit1 = 5;
+ int seq = seqInit1;
+ blsSetRandFunc(&seq, writeSeq);
+ blsSecretKeySetByCSPRNG(&sec);
+ unsigned char buf[128];
+ size_t n = blsSecretKeySerialize(buf, sizeof(buf), &sec);
+ CYBOZU_TEST_ASSERT(n > 0);
+ for (size_t i = 0; i < n; i++) {
+ CYBOZU_TEST_EQUAL(buf[i], seqInit1 + i);
+ }
+ // use default CSPRNG
+ blsSetRandFunc(0, 0);
+ blsSecretKeySetByCSPRNG(&sec);
+ n = blsSecretKeySerialize(buf, sizeof(buf), &sec);
+ CYBOZU_TEST_ASSERT(n > 0);
+ printf("sec=");
+ for (size_t i = 0; i < n; i++) {
+ printf("%02x", buf[i]);
+ }
+ printf("\n");
+}
+
void testAll()
{
blsTest();
@@ -470,6 +505,7 @@ void testAll()
dataTest();
aggregateTest();
verifyAggregateTest();
+ setRandFuncTest();
}
CYBOZU_TEST_AUTO(all)
{