barretenberg
Loading...
Searching...
No Matches
pedersen.hpp
1// TODO(@zac-wiliamson #2341 delete this file once we migrate to new hash standard
2
3#pragma once
4#include "../generators/generator_data.hpp"
5#include "barretenberg/ecc/curves/bn254/bn254.hpp"
6#include "barretenberg/ecc/curves/grumpkin/grumpkin.hpp"
7#include <array>
8
9namespace crypto {
10
21template <typename Curve> class pedersen_commitment_base {
22 public:
23 using AffineElement = typename Curve::AffineElement;
24 using Element = typename Curve::Element;
25 using Fr = typename Curve::ScalarField;
26 using Fq = typename Curve::BaseField;
27 using Group = typename Curve::Group;
28 using GeneratorContext = typename crypto::GeneratorContext<Curve>;
29
30 static AffineElement commit_native(const std::vector<Fq>& inputs, GeneratorContext context = {});
31};
32
35} // namespace crypto
Performs pedersen commitments!
Definition: pedersen.hpp:21
static AffineElement commit_native(const std::vector< Fq > &inputs, GeneratorContext context={})
Given a vector of fields, generate a pedersen commitment using the indexed generators.
Definition: pedersen.cpp:21
Definition: aes128.cpp:9
Definition: generator_data.hpp:133