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);

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!!

Libraries

merlin