// Шифруем шифром Вернама 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(); }
// Шифруем шифром Вернама 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(); }