예제 #1
0
        //Codeer telkens een stuk van 64 tot einde van bestand - enkel gebruiken bij triple des - deze input krijgt altijd een aantal bits deelbaar door 64
        public int[] code2(int[] file, int[] key)
        {
            ///////////CODEER
            DES d = new DES();
            int q = 0;

            int[] b = new int[64];
            List<int> list = new List<int>();
            for (int i = 0; i < file.Length; i = i + 64)
            {
                //array b opvullen met nullen
                for (int nul = 0; nul < 64; nul++)
                {
                    b[nul] = 0;
                }

                int x = 0;
                for (int j = i; j < i + 64; j++)
                {

                    b[x] = file[j];
                    x++;
                }

                int[] output = d.codeer(b, key);

                for (q = 0; q < 64; q++)
                {
                    list.Add(output[q]);

                }

            }
            int[] crypt = list.ToArray();
            MessageBox.Show("file is geincrypteerd!");

            return crypt;
        }
예제 #2
0
        //decodeer telkens een stuk van 64 tot ende van bestand
        public int[] decode(int[] crypt, int[] key)
        {
            ////////////////// DECODE
            DES d = new DES();

            String m = "";
            foreach (int o in crypt)
            {
                m = m + " " + o;

            }

            //////
            List<int> lijstje = new List<int>();
            int[] b = new int[64];
            for (int i = 0; i < crypt.Length; i = i + 64)
            {
                //array b opvullen met nullen
                for (int nul = 0; nul < 64; nul++)
                {
                    b[nul] = 0;
                }

                int x = 0;
                for (int j = i; j < i + 64; j++)
                {
                    try
                    {
                        b[x] = crypt[j];
                        x++;
                    }
                    catch(IndexOutOfRangeException){

                        Console.WriteLine("Er is een fout opgetreden.");
                    }
                }

                int[] output = d.decodeer(b, key);
                for (int q = 0; q < 64; q++)
                {
                    lijstje.Add(output[q]);

                }
            }

            int[] decrypt = lijstje.ToArray();

            m = "";
            foreach (int o in decrypt)
            {
                m = m + " " + o;

            }

            MessageBox.Show("Bestand is gedecrypteerd!");

            return decrypt;
        }
예제 #3
0
        //Codeer telkens een stuk van 64 tot einde van bestand
        public int[] code(int[] file, int[] key)
        {
            ///////////CODEER
            DES d = new DES();
            int q = 0;

            int rest = file.Length % 64;
            telop = 64 - rest;
            if (telop == 64){
                telop = 0;
            }

            ///////
            List<int> lijst = new List<int>();
            for (int p = 0; p < file.Length; p++)
            {
                lijst.Add(file[p]);
            }

            for (int p = 0; p < telop; p++)
            {
                lijst.Add(0);
            }

            int[] langfile = lijst.ToArray();

            int[] b = new int[64];
            List<int> list = new List<int>();

            for (int i = 0; i < langfile.Length; i = i + 64)
            {
                //array b opvullen met nullen
                for (int nul = 0; nul < 64; nul++)
                {
                    b[nul] = 0;
                }

                int x = 0;
                for (int j = i; j < i + 64; j++)
                {

                    b[x] = langfile[j];
                    x++;

                }

                int[] output = d.codeer(b, key);

                for (q = 0; q < 64; q++)
                {
                    list.Add(output[q]);

                }
            }
            int[] crypt = list.ToArray();
            MessageBox.Show("file is geincrypteerd!");

            return crypt;
        }