Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
pedersen.test.cpp
Go to the documentation of this file.
1#include "pedersen.hpp"
5#include <gtest/gtest.h>
6
7namespace bb::crypto {
8
9using bb::fr;
10
11TEST(Pedersen, DeriveLengthGenerator)
12{
13 auto generator = pedersen_hash::length_generator;
14 std::cout << generator << std::endl;
15 EXPECT_EQ(generator,
17 fr(uint256_t("0x2df8b940e5890e4e1377e05373fae69a1d754f6935e6a780b666947431f2cdcd")),
18 fr(uint256_t("0x2ecd88d15967bc53b885912e0d16866154acb6aac2d3f85e27ca7eefb2c19083"))));
19}
20
22{
23 auto x = pedersen_hash::Fq::one();
24 auto r = pedersen_hash::hash({ x, x });
25 EXPECT_EQ(r, fr(uint256_t("07ebfbf4df29888c6cd6dca13d4bb9d1a923013ddbbcbdc3378ab8845463297b")));
26}
27
28TEST(Pedersen, HashWithIndex)
29{
30 auto x = pedersen_hash::Fq::one();
31 auto r = pedersen_hash::hash({ x, x }, 5);
32 EXPECT_EQ(r, fr(uint256_t("1c446df60816b897cda124524e6b03f36df0cec333fad87617aab70d7861daa6")));
33}
34
35} // namespace bb::crypto
static constexpr AffineElement length_generator
Definition pedersen.hpp:38
static Fq hash(const std::vector< Fq > &inputs, GeneratorContext context={})
Given a vector of fields, generate a pedersen hash using generators from context.
Definition pedersen.cpp:78
ContentAddressedIndexedTree< StoreType, PedersenHashPolicy > Pedersen
TEST(GeneratorContext, DeriveDefaultGenerators)
field< Bn254FrParams > fr
Definition fr.hpp:174
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept
Definition tuple.hpp:13
static constexpr field one()