public override string Encrypt(string text) { p = new BigInteger("6277101735386680763835789423207666416083908700390324961279", 10); a = new BigInteger("-3", 10); b = new BigInteger("64210519e59c80e70fa7e9ab72243049feb8deecc146b9b1", 16); xG = FromHexStringToByte("03188da80eb03090f67cbf20eb43a18800f4ff0afd82ff1012"); n = new BigInteger("ffffffffffffffffffffffff99def836146bc9b1b4d22831", 16); BigInteger d = GenPrivateKey(192); Q = GenPublicKey(d); GOST hash = new GOST(256); byte[] H = hash.GetHash(Encoding.Default.GetBytes(text)); signature = GenerateSignature(H, d); return signature; }
public override string Decrypt(string text) { GOST hash = new GOST(256); byte[] H = hash.GetHash(Encoding.Default.GetBytes(text)); return CheckSignature(H, signature, Q).ToString(); }