Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
keccak.hpp
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
7/* ethash: C/C++ implementation of Ethash, the Ethereum Proof of Work algorithm.
8 * Copyright 2018-2019 Pawel Bylica.
9 * Licensed under the Apache License, Version 2.0.
10 */
11
12#pragma once
13
14#include "./hash_types.hpp"
15
16#include <stddef.h>
17
18#ifdef __cplusplus
19#define NOEXCEPT noexcept
20#else
21#define NOEXCEPT
22#endif
23
24#ifdef __cplusplus
25extern "C" {
26#endif
27
36void ethash_keccakf1600(uint64_t state[25]) NOEXCEPT;
37
38struct keccak256 ethash_keccak256(const uint8_t* data, size_t size) NOEXCEPT;
39
40struct keccak256 hash_field_elements(const uint64_t* limbs, size_t num_elements);
41
42struct keccak256 hash_field_element(const uint64_t* limb);
43
44#ifdef __cplusplus
45}
46#endif
const std::vector< FF > data
#define NOEXCEPT
Definition keccak.hpp:21
struct keccak256 ethash_keccak256(const uint8_t *data, size_t size) NOEXCEPT
Definition keccak.cpp:107
void ethash_keccakf1600(uint64_t state[25]) NOEXCEPT
struct keccak256 hash_field_elements(const uint64_t *limbs, size_t num_elements)
Definition keccak.cpp:114
struct keccak256 hash_field_element(const uint64_t *limb)
Definition keccak.cpp:136