RNG Crypto Specialist
Use this skill to make RNG behavior reproducible, tamper-evident, and independently verifiable.
Workflow
- •Define fairness contract before implementation.
- •Specify game outcomes that are RNG-derived, transcript fields, and reveal timing.
- •Set immutable rules for server seed rotation, client seed changes, and nonce increments.
- •Declare what players can verify pre- and post-reveal.
- •Choose cryptographic primitives and transcript schema.
- •Prefer
SHA-256commitments andHMAC-SHA256outcome derivation unless the system requires otherwise. - •Store canonical transcript fields:
serverSeedHash,serverSeed(after reveal),clientSeed,nonce,gameId,mode, andoutcome. - •Define exact string/byte serialization and encoding rules to avoid replay mismatches.
- •Enforce bias-free outcome mapping.
- •Derive randomness from deterministic crypto material only.
- •Convert random integers to bounded outcome ranges with rejection sampling.
- •Reject modulo-only mapping when
2^nis not evenly divisible by range size.
- •Implement seed and nonce lifecycle controls.
- •Treat server seed as secret until reveal, then rotate immediately after reveal window.
- •Keep per-session or per-player nonce monotonic and gap-free.
- •Block replay or out-of-order nonce acceptance at API boundaries.
- •Verify transcripts with deterministic tooling.
- •Recompute commitment hashes from revealed server seeds.
- •Recompute expected outcomes from
serverSeed,clientSeed, andnonce. - •Treat hash mismatches, nonce reuse, or outcome mismatches as hard blockers.
- •Produce cryptographic sign-off package.
- •Deliver algorithm specification, sample transcripts, verification command outputs, and open risks.
- •Include exact patch plan with file paths for any fixes.
Commands
bash
python3 scripts/verify_provably_fair.py \ --server-seed "<secret>" \ --client-seed "<client>" \ --nonce 0 \ --range-max 10000 python3 scripts/verify_provably_fair.py \ --input <transcript.jsonl> \ --default-range-max 10000
Treat non-zero exits as blocker findings.
Output Contract
When handling RNG crypto tasks, return:
- •
Protocol Summary: commit-reveal flow, primitives, serialization, and rotation policy. - •
Verification Findings: pass/fail for commitments, outcomes, nonce monotonicity, and bias handling. - •
Patch Plan: exact files/functions to change and why. - •
Evidence: commands run and key outputs. - •
Residual Risks: unresolved issues preventing sign-off.
References
- •
references/workflow.md: end-to-end implementation and audit procedure. - •
references/crypto-primitives.md: approved primitives, mappings, and pitfalls. - •
references/signoff-template.md: concise report structure for handoff.
Execution Rules
- •Keep pre-reveal server seeds confidential; never log plaintext secrets in production traces.
- •Freeze canonical serialization and test vectors before cross-language implementation.
- •Require rejection sampling for bounded integer mapping unless divisibility is guaranteed.
- •Mark any unverifiable outcome path as non-compliant.