tlsn
tlsn copied to clipboard
Rust implementation of the TLSNotary protocol
This PR refactors hash commitments to be salted with randomness. I also refactored DualEx a little bit to clean up the structure and accomodate the new hash commitment api.
This PR tidies up GC a bit, moving states into a dedicated module and adds a new summary state. It also renames "label encodings" as requested by @themighty1 . Finally,...
This PR creates a new crate which consolidates some of the utility functions we use. I also implemented some helper traits for duplicate detection.
Rereading https://eprint.iacr.org/2019/1168.pdf it occurs to me that we never implemented the recommendation to randomly sample the initial gate id while garbling a circuit. We should do this to achieve multi-instance...
This PR decouples the GC message layer from data validation. I've introduced "unchecked" types which are structurally correct but have not been validated against a circuit specification. Note that I...
This PR implements factory implementations for KOS OT, as well as a couple small tweaks to KOS in mpc-aio.
A tmp PR to get feedback on the code structure
Currently our unit tests derive their seed from the machine's entropy pool. This leads to non-deterministic rng input for unit tests, which is bad because it leads to non-reproducible test...
The current [MAC 2PC protocol](https://github.com/tlsnotary/docs-mdbook/blob/main/src/protocol/2pc/mac.md) is only passively secure. Concretely the following attack is possible: - for all multiplications, PartyX sends all rows as zeroes - for one single multiplication...
In https://github.com/tlsnotary/docs-mdbook/blob/main/src/protocol/2pc/dual_execution_with_privacy_only_for_the_user.md we need to explain that commitments to output labels play an important role.