Esempio n. 1
0
        public static void Test()
        {
            var reader = new BinaryReader(File.Open("tests/encrypted.txt", FileMode.Open));
            var writer = new BinaryWriter(File.Open("tests/decrypted.txt", FileMode.Create));
            var d      = new BigInteger(reader.ReadBytes(32).Reverse().ToArray().Extend());
            var n      = new BigInteger(reader.ReadBytes(32).Reverse().ToArray().Extend());

            if (d != BigInteger.Parse("6126098115646990325497939754751346680273131840506753785808675623744493660811"))
            {
                throw new Exception("Invalid d");
            }
            if (n != BigInteger.Parse("11714199531846391552190233593088023207845451372578311171850728357335472002497"))
            {
                throw new Exception("Invalid n");
            }
            var e   = BigInteger.Parse("8486391357485896322440256533131770617523773615720428244581337759609685018543");
            var rsa = new Rsa(n, e, d);

            rsa.Decrypt(reader, writer);
            reader = new BinaryReader(File.Open("tests/decrypted.txt", FileMode.Open));
            writer = new BinaryWriter(File.Open("tests/reencrypted.txt", FileMode.Create));
            rsa.Encrypt(reader, writer);
            reader = new BinaryReader(File.Open("tests/reencrypted.txt", FileMode.Open));
            writer = new BinaryWriter(File.Open("tests/redecrypted.txt", FileMode.Create));
            d      = new BigInteger(reader.ReadBytes(32).Reverse().ToArray().Extend());
            n      = new BigInteger(reader.ReadBytes(32).Reverse().ToArray().Extend());
            rsa.Decrypt(reader, writer);
        }
Esempio n. 2
0
 public static void PaddingTest()
 {
     for (var i = 1; i <= 8; ++i)
     {
         var reader = new BinaryReader(File.Open($"tests/padding_{i}.in.txt", FileMode.Open));
         var writer = new BinaryWriter(File.Open($"tests/padding_{i}.out.txt", FileMode.Create));
         var(n, e, d) = KeyGenerator.GetRsaKeys();
         var rsa = new Rsa(n, e, d);
         rsa.Encrypt(reader, writer);
         reader = new BinaryReader(File.Open($"tests/padding_{i}.out.txt", FileMode.Open));
         writer = new BinaryWriter(File.Open($"tests/padding_{i}.out.dec.txt", FileMode.Create));
         d      = new BigInteger(reader.ReadBytes(32).Reverse().ToArray().Extend());
         n      = new BigInteger(reader.ReadBytes(32).Reverse().ToArray().Extend());
         rsa.Decrypt(reader, writer);
     }
 }