Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enhance random source #15

Open
2 of 3 tasks
Tracked by #11
kim201212 opened this issue Feb 13, 2023 · 3 comments
Open
2 of 3 tasks
Tracked by #11

Enhance random source #15

kim201212 opened this issue Feb 13, 2023 · 3 comments
Assignees

Comments

@kim201212
Copy link
Member

kim201212 commented Feb 13, 2023

Random Spec.

Generating randomness

The randomness that each participant contributes to a set of Powers of Tau is in the form of an integer in the range (1, bls.r).

The participant MUST generate 4 different secrets from a cryptographically-secure pseudo-random number generator (CSPRNG) of their choosing.

Each secret MUST meet the following requirements:

  • Sourced from a CSPRNG
  • Contain at least 255 bits of entropy
  • Be different from the other 3 secrets used in the other sub-ceremonies
  • Be cleared from memory after the contribution is complete

Furthermore, each secret SHOULD meet the following requirements:

  • Be uniformly distributed across $\mathbb{F}_r$. (i.e. avoid modulo bias with respect to bls.r).

KeyGen

A good method for meeting the above requirements would be to make use of the KeyGen function offered by all compliant BLS libraries. This function takes in a seed of at least 32 bytes and returns a uniformly sampled integer of $\mathbb{F}_r$.

Task

  • Generate randomness for each contribution
  • Receive seed words with a flag
  • Apply mnemonic words
@rootwarp
Copy link
Member

@kim201212 Please describe the spec of the random source.
It could be helpful to debug together.

@rootwarp
Copy link
Member

rootwarp commented Feb 24, 2023

@kim201212 I know you have already done this issue, but what do you think expanding this issue by doing below?

czg-keremony/index.js

Lines 142 to 146 in f493410

// TODO: Entropy
// Some ideas.
// Read standard mnemonic words and make users to choose some words.
// Words that will provided on questions should be choosen randomly.
// This function will gather answers and create entropy.

@kim201212
Copy link
Member Author

kim201212 commented Feb 24, 2023

@kim201212 I know you have already done this issue, but what do you think expanding this issue by doing below?

czg-keremony/index.js

Lines 142 to 146 in f493410

// TODO: Entropy
// Some ideas.
// Read standard mnemonic words and make users to choose some words.
// Words that will provided on questions should be choosen randomly.
// This function will gather answers and create entropy.

That's a great idea!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants