Skip to content

Merlin is a STROBE-based transcript construction for zero-knowledge proofs. It automates the Fiat-Shamir transform, so that by using Merlin, non-interactive protocols can be implemented as if they were interactive.

License

Notifications You must be signed in to change notification settings

justkawal/merlin

Repository files navigation

Merlin

Merlin is a STROBE-based transcript construction for zero-knowledge proofs. It automates the Fiat-Shamir transform, so that by using Merlin, non-interactive protocols can be implemented as if they were interactive.

codecov Licence GitHub contributors Github Repo Stars GitHub Sponsors

Usage

  // Simple Transcript
  final transcript = Transcript('test protocol');

  transcript.appendMessage(utf8.encode('some label'), utf8.encode('some data'));

  final cBytes = transcript.extractBytes(utf8.encode('challenge'), 32);

  // cHex = d5a21972d0d5fe320c0d263fac7fffb8145aa640af6e9bca177c03c7efcf0615
  final cHex = hex.encode(cBytes);
  print(cHex);

Donate

If you like this repo and found it useful, please consider donating ❤️!! Donation goes towards my tuition fees and helps me maintain merlin and other repos. Thank you so much!!

About

Merlin is a STROBE-based transcript construction for zero-knowledge proofs. It automates the Fiat-Shamir transform, so that by using Merlin, non-interactive protocols can be implemented as if they were interactive.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages