Cryptography in C# — Asymmetric and Symmetric Encryption