Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Create free account
hub
/
github.com/anoma/ferveo
/ functions
Functions
130 in github.com/anoma/ferveo
⨍
Functions
130
◇
Types & classes
33
↓ 18 callers
Function
setup_dkg
Create a test dkg The [`test_dkg_init`] module checks correctness of this setup
ferveo/src/dkg/pv.rs:288
↓ 9 callers
Function
deserialize
Deserialize an ark type with serde
ferveo-common/src/lib.rs:122
↓ 9 callers
Method
share
Create a new PVSS instance within this DKG session, contributing to the final key `rng` is a cryptographic random number generator Returns a PVSS deal
ferveo/src/dkg/pv.rs:105
↓ 8 callers
Method
inverse_lagrange_coefficients
Compute the inverse of the lagrange coefficients necessary to interpolate over u
subproductdomain/src/lib.rs:162
↓ 8 callers
Function
setup_dealt_dkg
Set up a dkg with enough pvss transcripts to meet the threshold The correctness of this function is tested in the module [`test_dealing`]
ferveo/src/dkg/pv.rs:309
↓ 7 callers
Function
serialize
Serialize an ark type with serde
ferveo-common/src/lib.rs:111
↓ 6 callers
Method
cmp
(&self, other: &Self)
ferveo-common/src/lib.rs:37
↓ 5 callers
Method
public
Returns the public session key for the publicly verifiable DKG participant
ferveo-common/src/keypair.rs:61
↓ 4 callers
Function
aggregate
Aggregate the PVSS instances in `pvss` from DKG session `dkg` into a new PVSS instance
ferveo/src/vss/pvss.rs:184
↓ 4 callers
Method
aggregate
Aggregate all received PVSS messages into a single message, prepared to post on-chain
ferveo/src/dkg/pv.rs:120
↓ 4 callers
Function
ceil
(a: usize, b: usize)
tpke/src/hash_to_curve.rs:17
↓ 4 callers
Function
fast_multiexp
Compute a fast multiexp of many scalars times the same base Only convenient for when called once with given base; if called more than once, it's faste
subproductdomain/src/lib.rs:12
↓ 4 callers
Method
final_key
Returns the public key generated by the DKG
ferveo/src/dkg/pv.rs:136
↓ 4 callers
Function
pairing
(c: &mut Criterion)
ferveo/benches/benchmarks/pairing.rs:52
↓ 4 callers
Function
setup_dealt_dkg
Set up a dkg with enough pvss transcripts to meet the threshold
ferveo/examples/pvdkg.rs:60
↓ 3 callers
Method
apply_message
After consensus has agreed to include a verified message on the blockchain, we apply the chains to the state machine
ferveo/src/dkg/pv.rs:195
↓ 3 callers
Function
batch_to_projective
( p: &[A], )
ferveo/src/primitives.rs:1
↓ 3 callers
Method
create_share
( &self, ciphertext: &Ciphertext<E>, )
tpke/src/decryption.rs:13
↓ 3 callers
Method
prepare_combine
( &self, shares: &[DecryptionShare<E>], )
tpke/src/combine.rs:7
↓ 3 callers
Method
serialize
( &self, mut writer: W, )
ferveo/src/dkg.rs:47
↓ 3 callers
Method
share_combine
( &self, shares: &[DecryptionShare<E>], prepared_key_shares: &[E::G2Prepared], )
tpke/src/combine.rs:56
↓ 2 callers
Function
decrypt_with_shared_secret
( ciphertext: &Ciphertext<E>, s: &E::Fqk, )
tpke/src/ciphertext.rs:90
↓ 2 callers
Method
evaluate
Evaluate a polynomial f over the subproduct domain u
subproductdomain/src/lib.rs:149
↓ 2 callers
Function
gen_keypairs
Generate a set of keypairs for each validator
ferveo/src/dkg/pv.rs:263
↓ 2 callers
Function
gen_validators
Generate a few validators
ferveo/src/dkg/pv.rs:271
↓ 2 callers
Function
hash_to_g2
(message: &[u8])
tpke/src/lib.rs:49
↓ 2 callers
Function
htp_bls12381_g2
(msg: &[u8])
tpke/src/hash_to_curve.rs:108
↓ 2 callers
Method
linear_combine
Compute a linear combination of lagrange factors times c_i
subproductdomain/src/lib.rs:168
↓ 2 callers
Function
partition_domain
partition_domain takes as input a vector of validators from participants in the DKG, containing their total stake amounts and public address (as Bech3
ferveo/src/dkg/common.rs:15
↓ 2 callers
Function
setup_dkg
Create a test dkg in state [`DkgState::Init`]
ferveo/benches/benchmarks/pvdkg.rs:64
↓ 2 callers
Function
setup_dkg
Create a test dkg in state [`DkgState::Init`]
ferveo/examples/pvdkg.rs:37
↓ 2 callers
Function
test_hash_to_g1
(msg: &[u8], expected_hex_string: &str)
tpke/src/hash_to_curve.rs:137
↓ 2 callers
Function
test_hash_to_g2
(msg: &[u8], expected_hex_string: &str)
tpke/src/hash_to_curve.rs:155
↓ 2 callers
Method
verify_full
Part of checking the validity of an aggregated PVSS transcript If aggregation fails, a validator needs to know that their pvss transcript was at faul
ferveo/src/vss/pvss.rs:118
↓ 1 callers
Method
batch_verify_decryption_shares
( &self, ciphertexts: &[Ciphertext<E>], shares: &[Vec<DecryptionShare<E>>], //
tpke/src/decryption.rs:24
↓ 1 callers
Method
blind
(&self, b: E::Fr)
tpke/src/key_share.rs:95
↓ 1 callers
Method
construct_tag_hash
(&self)
tpke/src/ciphertext.rs:25
↓ 1 callers
Function
decrypt
( ciphertext: &Ciphertext<E>, privkey: E::G2Affine, )
tpke/src/ciphertext.rs:80
↓ 1 callers
Function
gen_keypairs
Generate a set of keypairs for each validator
ferveo/benches/benchmarks/pvdkg.rs:41
↓ 1 callers
Function
gen_keypairs
Generate a set of keypairs for each validator
ferveo/examples/pvdkg.rs:14
↓ 1 callers
Function
gen_validators
Generate a few validators
ferveo/benches/benchmarks/pvdkg.rs:49
↓ 1 callers
Function
gen_validators
Generate a few validators
ferveo/examples/pvdkg.rs:22
↓ 1 callers
Function
hash_to_field2_bls12381
( hash: usize, hlen: usize, dst: &[u8], msg: &[u8], ctr: usize, )
tpke/src/hash_to_curve.rs:51
↓ 1 callers
Function
hash_to_field_bls12381
( hash: usize, hlen: usize, dst: &[u8], msg: &[u8], ctr: usize, )
tpke/src/hash_to_curve.rs:22
↓ 1 callers
Function
htp_bls12381_g1
(msg: &[u8])
tpke/src/hash_to_curve.rs:86
↓ 1 callers
Method
interpolate
Interpolate a polynomial f over the domain, such that f(u_i) = v_i
subproductdomain/src/lib.rs:157
↓ 1 callers
Method
multiply_by_omega_inv
(&mut self, domain_inv: &[E::Fr])
tpke/src/key_share.rs:78
↓ 1 callers
Function
setup_dealt_dkg
Set up a dkg with enough pvss transcripts to meet the threshold
ferveo/benches/benchmarks/pvdkg.rs:86
↓ 1 callers
Function
share_combine_bench
( num_msg: usize, num_shares: usize, num_entities: usize, msg_size: usize,
tpke/benches/benchmarks.rs:11
↓ 1 callers
Method
sign
(tau: u64, msg: &M, key: &ed25519::Keypair)
ferveo/src/msg.rs:7
↓ 1 callers
Method
total_voting_power
Get the total voting power of the validator set
ferveo-common/src/lib.rs:59
↓ 1 callers
Method
verify_aggregation
Verify that this PVSS instance is a valid aggregation of the PVSS instances, produced by [`aggregate`], and received by the DKG context `dkg` Returns
ferveo/src/vss/pvss.rs:159
↓ 1 callers
Method
verify_optimistic
Verify the pvss transcript from a validator. This is not the full check, i.e. we optimistically do not check the commitment. This is deferred until th
ferveo/src/vss/pvss.rs:106
Function
bench_batch_inverse
(c: &mut Criterion)
ferveo/benches/benchmarks/pairing.rs:360
Function
bench_decryption
(c: &mut Criterion)
tpke/benches/benchmarks.rs:4
Function
block_propose_bench
( num_msg: usize, num_shares: usize, num_entities: usize, msg_size: usize,
tpke/benches/benchmarks.rs:61
Function
block_proposer
(c: &mut Criterion)
ferveo/benches/benchmarks/block_proposer.rs:16
Function
build_circulant
Build a vector representation of the (n x n) circulant matrix of polynomial f Based on the blog post: https://alinush.github.io/2020/03/19/multiplying
subproductdomain/src/lib.rs:314
Method
check
(&self, g_inv: &E::G1Prepared)
tpke/src/ciphertext.rs:17
Function
check_ciphertext_validity
(c: &Ciphertext<E>)
tpke/src/ciphertext.rs:67
Function
construct_tag_hash
( u: E::G1Affine, stream_ciphertext: &[u8], )
tpke/src/lib.rs:56
Method
default
()
ferveo-common/src/keypair.rs:37
Function
derivative
Compute the derivative of polynomial f
subproductdomain/src/lib.rs:303
Method
deserialize
(mut reader: R)
ferveo/src/dkg.rs:92
Function
dkgs
(c: &mut Criterion)
ferveo/benches/benchmarks/pvdkg.rs:8
Function
ed25519_batch
(c: &mut Criterion)
ferveo/benches/benchmarks/pairing.rs:328
Function
encrypt
( message: &[u8], pubkey: E::G1Affine, rng: &mut R, )
tpke/src/ciphertext.rs:34
Method
eq
(&self, other: &Self)
ferveo-common/src/lib.rs:23
Function
fast_divide_monic
GG Algorithm 9.5 Divide f by g in nearly linear time
subproductdomain/src/lib.rs:92
Method
from
(value: PublicKey<E>)
ferveo-common/src/keypair.rs:14
Function
generate_random
( n: usize, rng: &mut R, )
tpke/src/lib.rs:159
Method
get_window_table
( &self, window_size: usize, scalar_bits: usize, domain_inv: &[E::Fr], )
tpke/src/key_share.rs:61
Function
hash_abc_g1
()
tpke/src/hash_to_curve.rs:182
Function
hash_abc_g2
()
tpke/src/hash_to_curve.rs:198
Function
hash_nothing_g1
()
tpke/src/hash_to_curve.rs:174
Function
hash_nothing_g2
()
tpke/src/hash_to_curve.rs:190
Method
increase_block
Increment the number of blocks processed since the DKG protocol began if we are still sharing PVSS transcripts. Returns a value indicating if we shou
ferveo/src/dkg/pv.rs:79
Function
inverse_mod_xl
Where indicated, algorithms are from Modern Computer Algebra, 3rd edition, by Gathen and Gerhard Abbreviated as GG Let M(n) denote the time to multipl
subproductdomain/src/lib.rs:50
Function
lagrange
(c: &mut Criterion)
ferveo/benches/benchmarks/pairing.rs:10
Function
main
()
ferveo/src/main.rs:1
Function
main
()
ferveo/examples/pvdkg.rs:6
Function
moduli_from_scalar
(s: &F)
subproductdomain/src/lib.rs:37
Method
new
Create a new DKG context to participate in the DKG Every identity in the DKG is linked to an ed25519 public key; `validator_set`: The set of validator
ferveo/src/dkg/pv.rs:32
Method
new
Create a new PVSS instance `s`: the secret constant coefficient to share `dkg`: the current DKG session `rng` a cryptographic random number generator
ferveo/src/vss/pvss.rs:64
Method
new
Sorts the validators from highest to lowest. This ordering first considers staking weight and breaks ties on established address
ferveo-common/src/lib.rs:52
Method
new
Creates a new ephemeral session key for participating in the DKG
ferveo-common/src/keypair.rs:70
Method
new
Create a new subproduct tree domain over the domain { u_0, ..., u_{n-1} }
subproductdomain/src/lib.rs:141
Method
partial_cmp
(&self, other: &Self)
ferveo-common/src/lib.rs:31
Function
poly_from_scalar
(s: &F)
subproductdomain/src/lib.rs:32
Function
rev
GG chapter 9.1 Computes the rev_m(f) function in place rev_m(f) = x^m f(1/x)
subproductdomain/src/lib.rs:82
Method
serialized_size
(&self)
ferveo/src/dkg.rs:72
Function
setup
( threshold: usize, shares_num: usize, num_entities: usize, )
tpke/src/lib.rs:67
Function
shared_secret_to_chacha
(s: &E::Fqk)
tpke/src/ciphertext.rs:101
Function
symmetric_encryption
()
tpke/src/lib.rs:174
Function
test_aggregate
()
ferveo/src/dkg/pv.rs:720
Function
test_aggregate_message_state_guards
()
ferveo/src/dkg/pv.rs:750
Function
test_aggregate_pvss
()
ferveo/src/vss/pvss.rs:283
Function
test_aggregate_state_guards
()
ferveo/src/dkg/pv.rs:733
Function
test_aggregate_wont_verify_if_under_threshold
()
ferveo/src/dkg/pv.rs:773
Function
test_aggregate_wont_verify_if_wrong_key
()
ferveo/src/dkg/pv.rs:785
next →
1–100 of 130, ranked by callers