private static IEnumerable <OmgNum> Decode(IEnumerable <OmgNum> message, SignCertificate cert) { foreach (var num in message) { yield return(OmgOp.Pow(num, cert.D, cert.N)); } }
public static bool SignatureIsValid(string decodedText, IEnumerable <OmgNum> signature, MessageConverter converter, SignCertificate knownKey) { string hash = _GetHashString(decodedText); var nums = converter.ToNumbers(hash); var decodedSignature = Decode(signature, knownKey); return(Enumerable.SequenceEqual(nums, decodedSignature)); }