description.md - brcon2023-hackathons - Bitreichcon 2023 Hackathon Repository
(HTM) git clone git://bitreich.org/brcon2023-hackathons git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/brcon2023-hackathons
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) Tags
---
description.md (1403B)
---
1 # Random Source Generator
2
3 ## Goal
4
5 Write a simple frontend for gopher for this randomness source. This can
6 then be reused everwhere over gopher.
7
8 ## Principle
9
10 On Bitreich there will be a stream of random bits provided by a geiger
11 counter and other random sources from 20h's home server. This should be
12 shown to gopher in a standard way, as defined here:
13
14 * https://nvlpubs.nist.gov/nistpubs/ir/2019/NIST.IR.8213-draft.pdf
15 * https://beacon.nist.gov/ns/beacon/pulse/2.0/beacon-2.0.xsd
16 * https://beacon.nist.gov/beacon/2.0/pulse/last
17 * https://qrng.anu.edu.au/ as source
18 * https://drand.love/developer/http-api/#public-endpoints
19
20 We can monkey-patch
21
22 * https://github.com/nhorman/rng-tools/rngd_nistbeacon.c
23
24 to using gophers://.
25
26 ## Hierarchy Prototype
27
28 gophers://bitreich.org/1/tyche/beacon
29 gophers://bitreich.org/1/fortuna/beacon
30
31 ## Source
32
33 On bitreich.org there is:
34
35 /br/random/source/$source/pulse.$index
36
37 This should be read out to generate the above structure.
38
39 You can generate it on your own:
40
41 dd if=/dev/random of=pulse.$index bs=64 count=1
42
43 ## Applications
44
45 This could be used for
46
47 * https://codeberg.org/rendezvous/reunion/
48 * https://near.org/blog/randomness-threshold-signatures/
49 * https://apps.dtic.mil/sti/pdfs/ADA222698.pdf
50 * https://github.com/GoodiesHQ/noknow-c
51 * https://github.com/gtanzer/zk
52
53 ## Testing Randomness
54
55 * https://github.com/dyne/libdisorder
56
57 Have fun!
58