public EncryptedShare Encrypt(IRawShare rawShare) { return(EncryptBenchmark.Benchmark(() => { var r = Fr.GetRandom(); var u = G1.Generator * r; var shareBytes = rawShare.ToBytes(); var t = _y * r; var v = Utils.XorWithHash(t, shareBytes); var w = Utils.HashToG2(u, v) * r; return new EncryptedShare(u, v, w, rawShare.Id); })); }
public bool Equals(IRawShare other) { return(Equals((object)other)); }