Example #1
0
        public void DecryptTest()
        {
            Xor xor = new Xor(0xab);

            Assert.AreEqual <byte>(xor.Decrypt(new byte[] { 0x11, 0x71, 0x54 })[0], 0xba);
            Assert.AreEqual <byte>(xor.Decrypt(new byte[] { 0x11, 0x71, 0x54 })[1], 0xda);
            Assert.AreEqual <byte>(xor.Decrypt(new byte[] { 0x11, 0x71, 0x54 })[2], 0xff);
        }
Example #2
0
        static void Main(string[] args)
        {
            const char a = ((char) 'a');
            const int z = a + 26;
            var xor = new Xor();
            const string statement = "5\nA\b\bA\0\rA\f";
            var cipherTxt = string.Concat(File
                                              .ReadAllText(@"C:\dev\Kata\Euler\EulerProblem59.App\cipher1.txt")
                                              .Split(new[] {","}, StringSplitOptions.None)
                                              .Select(x => Convert.ToString((char)Convert.ToInt32(x))));
            var matchFound = false;

            for (var i = a; i < z; i++)
            {
                for (var j = a; j < z; j++)
                {
                    for (var k = a; k < z; k++)
                    {
                        var result = xor.Decrypt(cipherTxt, new[] { i, j, k });
                        if (!result.ToLower().Contains("there")) continue;
                        var sum = result.ToCharArray().Sum(x => (int) x);
                        Console.WriteLine("The key is: {0}{1}{2}", i, j, k);
                        Console.WriteLine("The sum of the ascii values are: {0}", sum);
                        Console.WriteLine("The text is as follows:\r\n\r\n{0}\r\n\r\n", result);
                        matchFound = true;
                        break;
                    }
                }
            }

            Console.WriteLine(matchFound ? "Finished." : "No match found.");
            Console.ReadKey();
        }
Example #3
0
        public void Unigraph_XorTest()
        {
            Xor xor = new Xor(Utility.EnglishAlphabet());// KeyedEnglishAlphabet("KRYPTOS"));

            cipher    = "";
            clear     = "";
            generated = "";
            for (int i = 0; i < 25; i++)
            {
                xor.Key   = xor.GenerateRandomString(11);
                generated = xor.GenerateRandomString();

                cipher = xor.Encrypt(generated);
                clear  = xor.Decrypt(cipher);

                Assert.AreEqual(generated, clear);
            }
        }