aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorMITSUNARI Shigeo <herumi@nifty.com>2018-12-02 20:29:18 +0800
committerMITSUNARI Shigeo <herumi@nifty.com>2018-12-02 20:29:18 +0800
commit615453117dd8a77d35ea1afea5ffdabdd41c93b2 (patch)
treebaaf2737bbf7079400c252eb2a934fe99ad70d05 /test
parentb94e7aa9a6e3c38717e99825a1f5b2f6b5d04328 (diff)
downloaddexon-bls-615453117dd8a77d35ea1afea5ffdabdd41c93b2.tar
dexon-bls-615453117dd8a77d35ea1afea5ffdabdd41c93b2.tar.gz
dexon-bls-615453117dd8a77d35ea1afea5ffdabdd41c93b2.tar.bz2
dexon-bls-615453117dd8a77d35ea1afea5ffdabdd41c93b2.tar.lz
dexon-bls-615453117dd8a77d35ea1afea5ffdabdd41c93b2.tar.xz
dexon-bls-615453117dd8a77d35ea1afea5ffdabdd41c93b2.tar.zst
dexon-bls-615453117dd8a77d35ea1afea5ffdabdd41c93b2.zip
BLS_SWAP_G runs well for C++test
Diffstat (limited to 'test')
-rw-r--r--test/bls_c_test.hpp45
-rw-r--r--test/bls_test.hpp14
2 files changed, 50 insertions, 9 deletions
diff --git a/test/bls_c_test.hpp b/test/bls_c_test.hpp
index 7864097..809b487 100644
--- a/test/bls_c_test.hpp
+++ b/test/bls_c_test.hpp
@@ -4,6 +4,23 @@
#include <string.h>
#include <cybozu/benchmark.hpp>
+size_t pubSize(size_t FrSize)
+{
+#ifdef BLS_SWAP_G
+ return FrSize;
+#else
+ return FrSize * 2;
+#endif
+}
+size_t sigSize(size_t FrSize)
+{
+#ifdef BLS_SWAP_G
+ return FrSize * 2;
+#else
+ return FrSize;
+#endif
+}
+
void bls_use_stackTest()
{
blsSecretKey sec;
@@ -48,14 +65,14 @@ void blsDataTest()
blsPublicKey pub1, pub2;
blsGetPublicKey(&pub1, &sec1);
n = blsPublicKeySerialize(buf, sizeof(buf), &pub1);
- CYBOZU_TEST_EQUAL(n, FpSize * 2);
+ CYBOZU_TEST_EQUAL(n, pubSize(FpSize));
ret = blsPublicKeyDeserialize(&pub2, buf, n);
CYBOZU_TEST_EQUAL(ret, n);
CYBOZU_TEST_ASSERT(blsPublicKeyIsEqual(&pub1, &pub2));
blsSignature sig1, sig2;
blsSign(&sig1, &sec1, msg, msgSize);
n = blsSignatureSerialize(buf, sizeof(buf), &sig1);
- CYBOZU_TEST_EQUAL(n, FpSize);
+ CYBOZU_TEST_EQUAL(n, sigSize(FpSize));
ret = blsSignatureDeserialize(&sig2, buf, n);
CYBOZU_TEST_EQUAL(ret, n);
CYBOZU_TEST_ASSERT(blsSignatureIsEqual(&sig1, &sig2));
@@ -176,7 +193,7 @@ void blsSerializeTest()
CYBOZU_TEST_EQUAL(n, expectSize);
// PublicKey
- expectSize = FpSize * 2;
+ expectSize = pubSize(FpSize);
blsGetPublicKey(&pub1, &sec1);
n = blsPublicKeySerialize(buf, sizeof(buf), &pub1);
CYBOZU_TEST_EQUAL(n, expectSize);
@@ -199,7 +216,11 @@ void blsSerializeTest()
CYBOZU_TEST_EQUAL(n, expectSize);
// Signature
+#ifdef BLS_SWAP_G
+ expectSize = FpSize * 2;
+#else
expectSize = FpSize;
+#endif
blsSign(&sig1, &sec1, "abc", 3);
n = blsSignatureSerialize(buf, sizeof(buf), &sig1);
CYBOZU_TEST_EQUAL(n, expectSize);
@@ -225,10 +246,20 @@ void blsSerializeTest()
void blsVerifyOrderTest()
{
puts("blsVerifyOrderTest");
- const uint8_t Ps[] = {
+#ifdef BLS_SWAP_G
+ const uint8_t Qs[] =
+#else
+ const uint8_t Ps[] =
+#endif
+ {
0x7b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
};
- const uint8_t Qs[] = {
+#ifdef BLS_SWAP_G
+ const uint8_t Ps[] =
+#else
+ const uint8_t Qs[] =
+#endif
+ {
0x7c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
};
size_t n;
@@ -242,10 +273,10 @@ void blsVerifyOrderTest()
blsPublicKeyVerifyOrder(1);
blsSignature sig;
- n = blsSignatureDeserialize(&sig, Qs, sizeof(Ps));
+ n = blsSignatureDeserialize(&sig, Qs, sizeof(Qs));
CYBOZU_TEST_EQUAL(n, 0);
blsSignatureVerifyOrder(0);
- n = blsSignatureDeserialize(&sig, Qs, sizeof(Ps));
+ n = blsSignatureDeserialize(&sig, Qs, sizeof(Qs));
CYBOZU_TEST_ASSERT(n > 0);
CYBOZU_TEST_ASSERT(!blsSignatureIsValidOrder(&sig));
blsSignatureVerifyOrder(1);
diff --git a/test/bls_test.hpp b/test/bls_test.hpp
index c3f6406..7c819b2 100644
--- a/test/bls_test.hpp
+++ b/test/bls_test.hpp
@@ -78,13 +78,15 @@ void hashTest(int type)
CYBOZU_TEST_ASSERT(sig.verifyHash(pub, h));
CYBOZU_TEST_ASSERT(!sig.verifyHash(pub, "\x01\x02\04"));
if (type == MCL_BN254) {
- const uint64_t c1[] = { 0x0c00000000000004ull, 0xcf0f000000000006ull, 0x26cd890000000003ull, 0x2523648240000001ull };
- const uint64_t mc1[] = { 0x9b0000000000000full, 0x921200000000000dull, 0x9366c48000000004ull };
CYBOZU_TEST_EXCEPTION(sec.signHash(sig, "", 0), std::exception);
CYBOZU_TEST_EXCEPTION(sec.signHash(sig, "\x00", 1), std::exception);
CYBOZU_TEST_EXCEPTION(sec.signHash(sig, "\x00\x00", 2), std::exception);
+#ifndef BLS_SWAP_G
+ const uint64_t c1[] = { 0x0c00000000000004ull, 0xcf0f000000000006ull, 0x26cd890000000003ull, 0x2523648240000001ull };
+ const uint64_t mc1[] = { 0x9b0000000000000full, 0x921200000000000dull, 0x9366c48000000004ull };
CYBOZU_TEST_EXCEPTION(sec.signHash(sig, c1, 32), std::exception);
CYBOZU_TEST_EXCEPTION(sec.signHash(sig, mc1, 24), std::exception);
+#endif
}
}
@@ -399,7 +401,11 @@ void dataTest()
sec.getPublicKey(pub);
pub.getStr(str, bls::IoFixedByteSeq);
{
+#ifdef BLS_SWAP_G
+ CYBOZU_TEST_EQUAL(str.size(), FpSize);
+#else
CYBOZU_TEST_EQUAL(str.size(), FpSize * 2);
+#endif
bls::PublicKey pub2;
pub2.setStr(str, bls::IoFixedByteSeq);
CYBOZU_TEST_EQUAL(pub, pub2);
@@ -409,7 +415,11 @@ void dataTest()
sec.sign(sign, m);
sign.getStr(str, bls::IoFixedByteSeq);
{
+#ifdef BLS_SWAP_G
+ CYBOZU_TEST_EQUAL(str.size(), FpSize * 2);
+#else
CYBOZU_TEST_EQUAL(str.size(), FpSize);
+#endif
bls::Signature sign2;
sign2.setStr(str, bls::IoFixedByteSeq);
CYBOZU_TEST_EQUAL(sign, sign2);