Ejemplo n.º 1
0
        public static string Encrypt(string originalMessage, RSAPublicKey publicKey)
        {
            BigInteger numericEquivalent = NumberStringEqualizer.StringToBigIntegerEquivalent(originalMessage);

            BigInteger encodedNumber = BigInteger.ModPow(numericEquivalent, publicKey.E, publicKey.N);

            string encryptedMessage = NumberStringEqualizer.BigIntToStringEquivalent(encodedNumber);

            return(encryptedMessage);
        }
Ejemplo n.º 2
0
        public static string Decrypt(string encryptedMessage, RSAPrivateKey privateKey)
        {
            BigInteger numericEquivalent = NumberStringEqualizer.StringToBigIntegerEquivalent(encryptedMessage);

            BigInteger originalNumber = BigInteger.ModPow(numericEquivalent, privateKey.D, privateKey.N);

            string originalMessage = NumberStringEqualizer.BigIntToStringEquivalent(originalNumber);

            return(originalMessage);
        }
Ejemplo n.º 3
0
        static void LogConversion()
        {
            var originalString = "I want to see this! Я тут уже";

            var convertedNumber = NumberStringEqualizer.StringToBigIntegerEquivalent(originalString);

            var extractedString = NumberStringEqualizer.BigIntToStringEquivalent(convertedNumber);

            _logger.Info("Original string: {0}    Restored string: {1}", originalString, extractedString);
        }