Пример #1
0
        // Шифруем шифром Вернама
        private void ButtonEncryptToVerrnameCipher(object sender, EventArgs e)
        {
            DateTime d1 = DateTime.Now;

            string key  = textBox1.Text;
            string text = richTextBox1.Text;
            // TODO: выпилено для более точного подсчета времени
            //MyDES des = new MyDES();

            // Попарно шифруем ключ текстом и текст ключом - получаем не одинаковые блоки, кратные 8
            //var bytesText = des.Encryption(text, key);
            //var bytesKey = des.Encryption(key, text);
            var bytesText = new byte[0];
            var bytesKey  = new byte[0];

            GetTextArrayAndKeyHash(text, out bytesText, key, out bytesKey);;
            #region Шифрование и дешифрование
            // Создаем объект и инициализируем случайный массив перестановок
            Vernam ver = new Vernam(bytesText.Length);

            // Шифруем
            var code = ver.EncodeVernamCipher(bytesText, bytesKey);
            richTextBox2.Text = Encoding.Default.GetString(code);

            // Дешифруем
            var decode = ver.DecodeVernamCipher(code, bytesKey);

            //bytesText = des.Decryption(Encoding.Default.GetString(decode), key);
            var decoded = Encoding.Default.GetString(decode);
            //richTextBox3.Text = Encoding.Default.GetString(bytesText);
            richTextBox3.Text = decoded;
            #endregion

            DateTime d2 = DateTime.Now;
            textBox4.Text = (d2 - d1).Ticks.ToString();
        }
Пример #2
0
        // Шифруем шифром Вернама
        private void ButtonEncryptToVerrnameCipher(object sender, EventArgs e)
        {
            DateTime d1= DateTime.Now;

            string key = textBox1.Text;
            string text = richTextBox1.Text;
            // TODO: выпилено для более точного подсчета времени
            //MyDES des = new MyDES();
            
            // Попарно шифруем ключ текстом и текст ключом - получаем не одинаковые блоки, кратные 8
            //var bytesText = des.Encryption(text, key);
            //var bytesKey = des.Encryption(key, text);
            var bytesText = new byte[0];
            var bytesKey = new byte[0];
            GetTextArrayAndKeyHash(text, out bytesText, key,out bytesKey);;
            #region Шифрование и дешифрование
                // Создаем объект и инициализируем случайный массив перестановок
                Vernam ver = new Vernam(bytesText.Length);
                
                // Шифруем
                var code = ver.EncodeVernamCipher(bytesText, bytesKey);
                richTextBox2.Text = Encoding.Default.GetString(code);

                // Дешифруем
                var decode = ver.DecodeVernamCipher(code, bytesKey);

                //bytesText = des.Decryption(Encoding.Default.GetString(decode), key);
                var decoded = Encoding.Default.GetString(decode);
                //richTextBox3.Text = Encoding.Default.GetString(bytesText);
                richTextBox3.Text = decoded;
            #endregion

            DateTime d2 = DateTime.Now;
            textBox4.Text = (d2 - d1).Ticks.ToString();
        }