public Ciphertext Encrypt(PublicKey Q, Plaintext m) { var M = _encoder.EncodeMessage(m); var k = SelectK(); var c1 = _curve.Generator * k; var c2 = M + (Q.Point * k); return new ElGamalCiphertext(c1, c2); }
public KeyPair(PublicKey pub, PrivateKey priv) { _pub = pub; _priv = priv; }