This is the homepage for the implementation of anonymous tokens.

Anonymous Tokens are lightweight, single-use anonymous credentials. They were introduced by Davidson et al. (PETS 2018. Here we implement both the initial algorithms as well as the extensions proposed in CRYPTO 2020. Extended benchmarks - generated with criterion.rs - are available.

Looking for the implementation of a particular component?

  • Privacy Pass is implemented in src/pp.rs.
  • Privacy Pass with Private Metadata Bit is implemented in src/pmbt.rs.
  • Privacy Pass without issuance NIZK is implemented in src/ppnozk.rs.

The code is heavily based on (dalek-cryptography)[https://dalek.rs/], an excellent suite of pure-rust cryptographic libraries (more specifically, I am using (curve25519-dalek)[https://docs.rs/curve25519-dalek/] and (zkp)[https://docs.rs/zkp/0.7.0/zkp/] The code has not been audited. Please don’t use it in production.

The source is not copyrighted, and released into the public domain. For bug reports and comments concerning the specific implementation, please use my email address; for any other question or comment please refer to the paper authors as a whole.





Acknowledgments
Michele Orrù was supported by ERC grant 639554 (project aSCEND).