Skip to content

topanisto/tada

Repository files navigation

TADA: Time-Assured Deniable Authentication

This is a proof of concept! Circuits have absolutely not been audited!

A library of Circom circuits for TADA, or Time-Assured Deniable Authentication, including

  • VanillaTada(k, N) - A basic TADA circuit that proves knowledge of either a Pythagorean triple OR opening of a timed commitment with timing difficulty parameter k
  • EncryptionTada(k, N) (UNDER CONSTRUCTION!) - A TADA circuit that proves equality of the preimage of some ciphertext AND the opening of a timed commitment

as well as the following library circuits that may be useful:

  • TCOpening(k, N) - A circuit for proving knowledge of a valid Boneh-Naor timed commitment opening with public parameter N and timing difficulty parameter k
  • CommitterTCOpening(k, N) - A faster opening circuit, to be used by the creator of the timed commitment

We base our circuits off a Rust implementation of Boneh-Naor timed commitments as well as 0xPARC's ECDSA circom-ecdsa circuits to make example TADA attestation proofs.

TODOs

  • Finish and benchmark EncryptionTada implementation.
  • Make a VanillaTada variant for proving knowledge of a valid ECDSA signature.
  • Benchmark VanillaTada.
  • Efficiency improvements for TCOpening.

About

TADA: Time-Assured Deniable Authentication

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages