aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMITSUNARI Shigeo <herumi@nifty.com>2017-09-21 07:27:59 +0800
committerMITSUNARI Shigeo <herumi@nifty.com>2017-09-21 07:28:04 +0800
commit4f63949504ac88e869b9f8ef893fc97f98752711 (patch)
tree61078b9fa4573a4c4b7eb6b5c31ff10694faf8d1
parent70c66e6f3664a4a5655226dff6d306914812f3c1 (diff)
downloaddexon-bls-4f63949504ac88e869b9f8ef893fc97f98752711.tar
dexon-bls-4f63949504ac88e869b9f8ef893fc97f98752711.tar.gz
dexon-bls-4f63949504ac88e869b9f8ef893fc97f98752711.tar.bz2
dexon-bls-4f63949504ac88e869b9f8ef893fc97f98752711.tar.lz
dexon-bls-4f63949504ac88e869b9f8ef893fc97f98752711.tar.xz
dexon-bls-4f63949504ac88e869b9f8ef893fc97f98752711.tar.zst
dexon-bls-4f63949504ac88e869b9f8ef893fc97f98752711.zip
add limitation of serialize test
-rw-r--r--test/bls_c384_test.cpp63
1 files changed, 63 insertions, 0 deletions
diff --git a/test/bls_c384_test.cpp b/test/bls_c384_test.cpp
index 21612da..9507a4a 100644
--- a/test/bls_c384_test.cpp
+++ b/test/bls_c384_test.cpp
@@ -35,6 +35,14 @@ void blsDataTest()
ret = blsSecretKeySetHexStr(&sec2, buf, n);
CYBOZU_TEST_EQUAL(ret, 0);
CYBOZU_TEST_ASSERT(blsSecretKeyIsEqual(&sec1, &sec2));
+
+ memset(&sec2, 0, sizeof(sec2));
+ n = blsSecretKeySerialize(buf, sizeof(buf), &sec1);
+ CYBOZU_TEST_EQUAL(n, fpSize);
+ ret = blsSecretKeyDeserialize(&sec2, buf, n);
+ CYBOZU_TEST_EQUAL(ret, 0);
+ CYBOZU_TEST_ASSERT(blsSecretKeyIsEqual(&sec1, &sec2));
+
blsPublicKey pub1, pub2;
blsGetPublicKey(&pub1, &sec1);
n = blsPublicKeySerialize(buf, sizeof(buf), &pub1);
@@ -103,6 +111,60 @@ CYBOZU_TEST_AUTO(multipleInit)
}
#endif
+void blsSerializeTest()
+{
+ const size_t opUnitSize = mclBn_getOpUnitSize();
+ printf("opUnitSize=%d\n", (int)opUnitSize);
+ blsId id1, id2;
+ blsSecretKey sec1, sec2;
+ blsPublicKey pub1, pub2;
+ blsSignature sig1, sig2;
+ char buf[1024];
+ size_t n;
+ size_t expectSize;
+ int ret;
+
+ expectSize = opUnitSize * 8;
+ blsIdSetInt(&id1, -1);
+ n = blsIdSerialize(buf, sizeof(buf), &id1);
+ CYBOZU_TEST_EQUAL(n, expectSize);
+ ret = blsIdDeserialize(&id2, buf, n);
+ CYBOZU_TEST_EQUAL(ret, 0);
+ CYBOZU_TEST_ASSERT(blsIdIsEqual(&id1, &id2));
+ n = blsIdSerialize(buf, expectSize, &id1);
+ CYBOZU_TEST_EQUAL(n, expectSize);
+
+ expectSize = opUnitSize * 8;
+ blsSecretKeySetDecStr(&sec1, "-1", 2);
+ n = blsSecretKeySerialize(buf, sizeof(buf), &sec1);
+ CYBOZU_TEST_EQUAL(n, expectSize);
+ ret = blsSecretKeyDeserialize(&sec2, buf, n);
+ CYBOZU_TEST_EQUAL(ret, 0);
+ CYBOZU_TEST_ASSERT(blsSecretKeyIsEqual(&sec1, &sec2));
+ n = blsSecretKeySerialize(buf, expectSize, &sec1);
+ CYBOZU_TEST_EQUAL(n, expectSize);
+
+ expectSize = opUnitSize * 8 * 2;
+ blsGetPublicKey(&pub1, &sec1);
+ n = blsPublicKeySerialize(buf, sizeof(buf), &pub1);
+ CYBOZU_TEST_EQUAL(n, expectSize);
+ ret = blsPublicKeyDeserialize(&pub2, buf, n);
+ CYBOZU_TEST_EQUAL(ret, 0);
+ CYBOZU_TEST_ASSERT(blsPublicKeyIsEqual(&pub1, &pub2));
+ n = blsPublicKeySerialize(buf, expectSize, &pub1);
+ CYBOZU_TEST_EQUAL(n, expectSize);
+
+ expectSize = opUnitSize * 8;
+ blsSign(&sig1, &sec1, "abc", 3);
+ n = blsSignatureSerialize(buf, sizeof(buf), &sig1);
+ CYBOZU_TEST_EQUAL(n, expectSize);
+ ret = blsSignatureDeserialize(&sig2, buf, n);
+ CYBOZU_TEST_EQUAL(ret, 0);
+ CYBOZU_TEST_ASSERT(blsSignatureIsEqual(&sig1, &sig2));
+ n = blsSignatureSerialize(buf, expectSize, &sig1);
+ CYBOZU_TEST_EQUAL(n, expectSize);
+}
+
CYBOZU_TEST_AUTO(all)
{
const int tbl[] = {
@@ -128,5 +190,6 @@ CYBOZU_TEST_AUTO(all)
bls_use_stackTest();
blsDataTest();
blsOrderTest(curveOrderTbl[i], fieldOrderTbl[i]);
+ blsSerializeTest();
}
}