ChainSafe / ChainSafe/go-schnorrkel

Merlin transcript RNG

Open
#2 2 comments 0 reactions 0 assignees View on GitHub
go-schnorrkel Priority: 4 - Low
Dominant language
Go
Stars
102
Forks
32
PR merge metrics
No merged PRs in 30d

Description

Right now, sign and verify won't interoperate with don't fully match the implementation in rust library, since in rust schnorrkel uses the transcript RNG to generate randomness when signing. The Go merlin library we're using doesn't have that yet: see https://github.com/gtank/merlin/issues/2

See:
https://github.com/w3f/schnorrkel/blob/798ab3e0813aa478b520c5cf6dc6e02fd4e07f0a/src/sign.rs#L161
https://github.com/w3f/schnorrkel/blob/798ab3e0813aa478b520c5cf6dc6e02fd4e07f0a/src/context.rs#L153
for the relevant code in schnorrkel.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reading the linked schnorrkel sign.rs and context.rs sections to understand transcript RNG usage, then check the Go merlin issue referenced in the report. Done means Go signing and verification interoperate with the Rust schnorrkel implementation using matching transcript randomness.

Written by the indexing model from the issue text.

Assessment

Tech stack
go, rust
Domain
cryptography
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.