From 5e0ce8cfb4dea17ee7e6c06351106117ef1b9e3d Mon Sep 17 00:00:00 2001 From: sowle Date: Mon, 10 Oct 2022 23:47:49 +0200 Subject: [PATCH] crypto: c_point_H_plus_G and c_point_H_minus_G constants added + unittest --- src/crypto/crypto-sugar.cpp | 3 +++ src/crypto/crypto-sugar.h | 2 ++ tests/functional_tests/crypto_tests.cpp | 8 ++++++++ 3 files changed, 13 insertions(+) diff --git a/src/crypto/crypto-sugar.cpp b/src/crypto/crypto-sugar.cpp index 36ccfeae..1823833a 100644 --- a/src/crypto/crypto-sugar.cpp +++ b/src/crypto/crypto-sugar.cpp @@ -28,6 +28,9 @@ namespace crypto const point_t c_point_0 = point_t(point_t::tag_zero()); + const point_t c_point_H_plus_G = c_point_H + c_point_G; // checked in crypto_constants + const point_t c_point_H_minus_G = c_point_H - c_point_G; // checked in crypto_constants + static_assert(sizeof(scalar_t::m_sk) == sizeof(scalar_t::m_u64) && sizeof(scalar_t::m_u64) == sizeof(scalar_t::m_s), "size missmatch"); } // namespace crypto diff --git a/src/crypto/crypto-sugar.h b/src/crypto/crypto-sugar.h index b1ff763e..1f9733dd 100644 --- a/src/crypto/crypto-sugar.h +++ b/src/crypto/crypto-sugar.h @@ -917,6 +917,8 @@ namespace crypto extern const point_t c_point_H2; extern const point_t c_point_X; extern const point_t c_point_0; + extern const point_t c_point_H_plus_G; + extern const point_t c_point_H_minus_G; // // hash functions' helper diff --git a/tests/functional_tests/crypto_tests.cpp b/tests/functional_tests/crypto_tests.cpp index 0b7c5a71..a893b27b 100644 --- a/tests/functional_tests/crypto_tests.cpp +++ b/tests/functional_tests/crypto_tests.cpp @@ -1118,6 +1118,14 @@ TEST(crypto, scalar_arithmetic_assignment) return true; } +TEST(crypto, constants) +{ + ASSERT_EQ(c_point_H_plus_G, c_point_H + c_point_G); + ASSERT_EQ(c_point_H_minus_G, c_point_H - c_point_G); + + return true; +} + TEST(crypto, point_basics) { scalar_t s = 4;