public bool ValidateSignature(Signature signature, byte[] message) { var mappedMessage = new G2(); mappedMessage.SetHashOf(message); return(GT.Pairing(RawKey, mappedMessage).Equals(GT.Pairing(G1.Generator, signature.RawSignature))); }
public Signature HashAndSign(byte[] message) { var mappedMessage = new G2(); mappedMessage.SetHashOf(message); mappedMessage *= _privateKey; return(new Signature(mappedMessage)); }
public static G2 HashToG2(G1 g, IEnumerable <byte> w) { var join = g.ToBytes().Concat(w).ToArray(); var res = new G2(); res.SetHashOf(join); return(res); }