예제 #1
0
        public String Decrypt(String Cyphertext)
        {
            var    numericalEquivalents = RSACryptoProvider.GetNumericalEquivalents(Cyphertext, this.CypherTextBlockSize);
            String result = "";

            foreach (var n in numericalEquivalents)
            {
                var decrypted = Math.Pow(n, this.DecryptionExponent, this.Modulus);
                result += GetStringEquivalent(decrypted, PlainTextBlockSize);
            }

            return(result.ToLower());
        }
예제 #2
0
        public String Encrypt(String Plaintext)
        {
            var    numericalEquivalents = RSACryptoProvider.GetNumericalEquivalents(Plaintext.ToUpper(), this.PlainTextBlockSize);
            String result = "";

            foreach (var n in numericalEquivalents)
            {
                var encrypted = Math.Pow(n, EncryptionExponent, Modulus);
                result += GetStringEquivalent(encrypted, CypherTextBlockSize);
            }

            return(result);
        }