예제 #1
0
        public void TestNumericEncryption()
        {
            int        range   = 1000;
            BigInteger modulus = new BigInteger(range);

            BigInteger plain = new BigInteger(0);

            BigInteger enc = FE1.Encrypt(modulus, plain, key, tweak);
            BigInteger dec = FE1.Decrypt(modulus, enc, key, tweak);

            Assert.AreEqual(plain, dec);
        }
예제 #2
0
        public void StressTestNumericEncryption()
        {
            int        range   = 10000;
            BigInteger modulus = new BigInteger(range);

            Random r     = new Random();
            int    times = 10000;

            for (int i = 0; i < times; i++)
            {
                BigInteger plain = new BigInteger(r.Next(0, range));

                BigInteger enc = FE1.Encrypt(modulus, plain, key, tweak);
                BigInteger dec = FE1.Decrypt(modulus, enc, key, tweak);

                Assert.AreEqual(plain, dec);
            }
        }