Ejemplo n.º 1
0
        public static void Main(string[] args)
        {
            //TestMatrixG();
            //TestMatrixH();
            //TestDecodingOfCorruptedVectors();

            // G = 1 0 1 1 0
            //     0 1 0 1 1
            var matrix = new int[2][];

            matrix[0] = new int[5] {
                1, 0, 1, 1, 0
            };
            matrix[1] = new int[5] {
                0, 1, 0, 1, 1
            };

            var enigma = new Enigma(
                length: matrix[0].GetUpperBound(0) + 1,
                dimension: matrix.GetUpperBound(0) + 1,
                matrixG: matrix);

            var channel = new Channel(0.5);


            var messageToEncode = new int[2] {
                0, 0
            };
            var encoded   = enigma.Encode(messageToEncode);
            var corrupted = channel.SendVectorThrough(encoded);
            var positions = enigma.FindChangedPositions(encoded, corrupted);
            var result    = enigma.Decode(corrupted);

            Console.ReadKey();
        }