Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
c_bind.cpp
Go to the documentation of this file.
1// === AUDIT STATUS ===
2// internal: { status: not started, auditors: [], date: YYYY-MM-DD }
3// external_1: { status: not started, auditors: [], date: YYYY-MM-DD }
4// external_2: { status: not started, auditors: [], date: YYYY-MM-DD }
5// =====================
6
8#include "blake2s.hpp"
10
11using namespace bb;
12
13WASM_EXPORT void blake2s(uint8_t const* data, out_buf32 out)
14{
15 std::vector<uint8_t> inputv;
16 read(data, inputv);
17 auto output = bb::crypto::blake2s(inputv);
18 std::copy(output.begin(), output.end(), out);
19}
20
21WASM_EXPORT void blake2s_to_field(uint8_t const* data, size_t length, uint8_t* r)
22{
23 std::vector<uint8_t> inputv(data, data + length);
24 auto output = bb::crypto::blake2s(inputv);
25 auto result = bb::fr::serialize_from_buffer(output.data());
27}
28
29// Underscore to not conflict with old cbind. Remove the above when right.
31{
32 std::vector<uint8_t> inputv;
33 read(data, inputv);
34 auto output = bb::crypto::blake2s(inputv);
35 auto result = bb::fr::serialize_from_buffer(output.data());
37}
const std::vector< FF > data
WASM_EXPORT void blake2s_to_field_(uint8_t const *data, fr::out_buf r)
Definition c_bind.cpp:30
WASM_EXPORT void blake2s(uint8_t const *data, out_buf32 out)
Definition c_bind.cpp:13
WASM_EXPORT void blake2s_to_field(uint8_t const *data, size_t length, uint8_t *r)
Definition c_bind.cpp:21
uint8_t const size_t length
Definition data_store.hpp:9
std::array< uint8_t, BLAKE2S_OUTBYTES > blake2s(std::vector< uint8_t > const &input)
Definition blake2s.cpp:232
Entry point for Barretenberg command-line interface.
void read(B &it, field2< base_field, Params > &value)
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept
Definition tuple.hpp:13
uint8_t * out_buf32
static field serialize_from_buffer(const uint8_t *buffer)
static void serialize_to_buffer(const field &value, uint8_t *buffer)
#define WASM_EXPORT