Scalable Distributed Random Number Generation — El-Gamal homomorphic encryption & VRF
\(Y = xG\) — Click to select point G (generator), then click to select point Y (public key)
\(T = \mathtt{nonce}^{\mathtt{encode}(Y)} \bmod p\), \(y_i = \mathtt{nonce}^{\mathtt{sk}_i} \bmod N\), Eligible if \(y_i < \tau\)
\(M_i = x_i G\), \(E(M_i) = (C_i, D_i) = (k_i G, k_i Y + M_i)\)
Use the curve from Step 1 to select points (press "Select x_i" or "Select k_i" then click on the curve).
\(C = \sum_i C_i\), \(D = \sum_i D_i\), \(M = D - xC = \sum_i M_i\)