Hush Full Node software. We were censored from Github, this is where all development happens now.
https://hush.is
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
29 lines
903 B
29 lines
903 B
// Copyright (c) 2019-2020 The Hush developers
|
|
// Distributed under the GPLv3 software license, see the accompanying
|
|
// file COPYING or https://www.gnu.org/licenses/gpl-3.0.en.html
|
|
// Zcash uses SHA256Compress as a PRF for various components
|
|
// within the zkSNARK circuit.
|
|
|
|
#ifndef ZC_PRF_H_
|
|
#define ZC_PRF_H_
|
|
|
|
#include "uint256.h"
|
|
#include "uint252.h"
|
|
|
|
#include <array>
|
|
|
|
//! Sprout functions
|
|
uint256 PRF_addr_a_pk(const uint252& a_sk);
|
|
uint256 PRF_addr_sk_enc(const uint252& a_sk);
|
|
uint256 PRF_nf(const uint252& a_sk, const uint256& rho);
|
|
uint256 PRF_pk(const uint252& a_sk, size_t i0, const uint256& h_sig);
|
|
uint256 PRF_rho(const uint252& phi, size_t i0, const uint256& h_sig);
|
|
|
|
//! Sapling functions
|
|
uint256 PRF_ask(const uint256& sk);
|
|
uint256 PRF_nsk(const uint256& sk);
|
|
uint256 PRF_ovk(const uint256& sk);
|
|
|
|
std::array<unsigned char, 11> default_diversifier(const uint256& sk);
|
|
|
|
#endif // ZC_PRF_H_
|
|
|