static void Main() { const string original = "Very secret and important information that can not fall into the wrong hands."; var hybrid = new HybridEncryption(); var rsaParams = new RSAWithRSAParameterKey(); rsaParams.AssignNewKey(); var digitalSignature = new DigitalSignature(); digitalSignature.AssignNewKey(); Console.WriteLine(); try { var encryptedBlock = hybrid.EncryptData(Encoding.UTF8.GetBytes(original), rsaParams, digitalSignature); var decrpyted = hybrid.DecryptData(encryptedBlock, rsaParams, digitalSignature); Console.WriteLine("Original Message = " + original); Console.WriteLine(); Console.WriteLine("Message After Decryption = " + Encoding.UTF8.GetString(decrpyted)); } catch (CryptographicException ex) { Console.WriteLine("Error : " + ex.Message); } Console.ReadLine(); }
static void Main() { var document = Encoding.UTF8.GetBytes("Document to Sign"); byte[] hashedDocument; using (var sha256 = SHA256.Create()) { hashedDocument = sha256.ComputeHash(document); } var digitalSignature = new DigitalSignature(); digitalSignature.AssignNewKey(); var signature = digitalSignature.SignData(hashedDocument); var verified = digitalSignature.VerifySignature(hashedDocument, signature); Console.WriteLine(); Console.WriteLine(" Original Text = " + Encoding.Default.GetString(document)); Console.WriteLine(); Console.WriteLine(" Digital Signature = " + Convert.ToBase64String(signature)); Console.WriteLine(); Console.WriteLine(verified ? "The digital signature has been correctly verified." : "The digital signature has NOT been correctly verified."); Console.ReadLine(); }