|
UltrafastSecp256k1 3.68.0
Ultra high-performance secp256k1 elliptic curve cryptography library
|
Classes | |
| struct | DLEQProof |
| struct | EcdsaSnarkWitness |
| struct | ForeignFieldLimbs |
| struct | GeneratorVectors |
| struct | KnowledgeProof |
| struct | RangeProof |
| struct | SchnorrSnarkWitness |
Functions | |
| KnowledgeProof | knowledge_prove (const fast::Scalar &secret, const fast::Point &pubkey, const std::array< std::uint8_t, 32 > &msg, const std::array< std::uint8_t, 32 > &aux_rand) |
| bool | knowledge_verify (const KnowledgeProof &proof, const fast::Point &pubkey, const std::array< std::uint8_t, 32 > &msg) |
| KnowledgeProof | knowledge_prove_base (const fast::Scalar &secret, const fast::Point &point, const fast::Point &base, const std::array< std::uint8_t, 32 > &msg, const std::array< std::uint8_t, 32 > &aux_rand) |
| bool | knowledge_verify_base (const KnowledgeProof &proof, const fast::Point &point, const fast::Point &base, const std::array< std::uint8_t, 32 > &msg) |
| DLEQProof | dleq_prove (const fast::Scalar &secret, const fast::Point &G, const fast::Point &H, const fast::Point &P, const fast::Point &Q, const std::array< std::uint8_t, 32 > &aux_rand) |
| bool | dleq_verify (const DLEQProof &proof, const fast::Point &G, const fast::Point &H, const fast::Point &P, const fast::Point &Q) |
| RangeProof | range_prove (std::uint64_t value, const fast::Scalar &blinding, const PedersenCommitment &commitment, const std::array< std::uint8_t, 32 > &aux_rand) |
| bool | range_verify (const PedersenCommitment &commitment, const RangeProof &proof) |
| const GeneratorVectors & | get_generator_vectors () |
| bool | batch_range_verify (const PedersenCommitment *commitments, const RangeProof *proofs, std::size_t count) |
| void | batch_commit (const fast::Scalar *values, const fast::Scalar *blindings, PedersenCommitment *commitments_out, std::size_t count) |
| EcdsaSnarkWitness | ecdsa_snark_witness (const std::array< std::uint8_t, 32 > &msg_hash, const fast::Point &pubkey, const fast::Scalar &sig_r, const fast::Scalar &sig_s) |
| SchnorrSnarkWitness | schnorr_snark_witness (const std::array< std::uint8_t, 32 > &msg, const std::array< std::uint8_t, 32 > &pubkey_x, const std::array< std::uint8_t, 32 > &sig_r, const fast::Scalar &sig_s) |
Variables | |
| static constexpr std::size_t | RANGE_PROOF_BITS = 64 |
| static constexpr std::size_t | RANGE_PROOF_LOG2 = 6 |
| void secp256k1::zk::batch_commit | ( | const fast::Scalar * | values, |
| const fast::Scalar * | blindings, | ||
| PedersenCommitment * | commitments_out, | ||
| std::size_t | count | ||
| ) |
| bool secp256k1::zk::batch_range_verify | ( | const PedersenCommitment * | commitments, |
| const RangeProof * | proofs, | ||
| std::size_t | count | ||
| ) |
| DLEQProof secp256k1::zk::dleq_prove | ( | const fast::Scalar & | secret, |
| const fast::Point & | G, | ||
| const fast::Point & | H, | ||
| const fast::Point & | P, | ||
| const fast::Point & | Q, | ||
| const std::array< std::uint8_t, 32 > & | aux_rand | ||
| ) |
| bool secp256k1::zk::dleq_verify | ( | const DLEQProof & | proof, |
| const fast::Point & | G, | ||
| const fast::Point & | H, | ||
| const fast::Point & | P, | ||
| const fast::Point & | Q | ||
| ) |
| EcdsaSnarkWitness secp256k1::zk::ecdsa_snark_witness | ( | const std::array< std::uint8_t, 32 > & | msg_hash, |
| const fast::Point & | pubkey, | ||
| const fast::Scalar & | sig_r, | ||
| const fast::Scalar & | sig_s | ||
| ) |
| const GeneratorVectors & secp256k1::zk::get_generator_vectors | ( | ) |
| KnowledgeProof secp256k1::zk::knowledge_prove | ( | const fast::Scalar & | secret, |
| const fast::Point & | pubkey, | ||
| const std::array< std::uint8_t, 32 > & | msg, | ||
| const std::array< std::uint8_t, 32 > & | aux_rand | ||
| ) |
| KnowledgeProof secp256k1::zk::knowledge_prove_base | ( | const fast::Scalar & | secret, |
| const fast::Point & | point, | ||
| const fast::Point & | base, | ||
| const std::array< std::uint8_t, 32 > & | msg, | ||
| const std::array< std::uint8_t, 32 > & | aux_rand | ||
| ) |
| bool secp256k1::zk::knowledge_verify | ( | const KnowledgeProof & | proof, |
| const fast::Point & | pubkey, | ||
| const std::array< std::uint8_t, 32 > & | msg | ||
| ) |
| bool secp256k1::zk::knowledge_verify_base | ( | const KnowledgeProof & | proof, |
| const fast::Point & | point, | ||
| const fast::Point & | base, | ||
| const std::array< std::uint8_t, 32 > & | msg | ||
| ) |
| RangeProof secp256k1::zk::range_prove | ( | std::uint64_t | value, |
| const fast::Scalar & | blinding, | ||
| const PedersenCommitment & | commitment, | ||
| const std::array< std::uint8_t, 32 > & | aux_rand | ||
| ) |
| bool secp256k1::zk::range_verify | ( | const PedersenCommitment & | commitment, |
| const RangeProof & | proof | ||
| ) |
| SchnorrSnarkWitness secp256k1::zk::schnorr_snark_witness | ( | const std::array< std::uint8_t, 32 > & | msg, |
| const std::array< std::uint8_t, 32 > & | pubkey_x, | ||
| const std::array< std::uint8_t, 32 > & | sig_r, | ||
| const fast::Scalar & | sig_s | ||
| ) |
|
staticconstexpr |