private void button1_Click(object sender, EventArgs e) { try { if (openFileDialog1.ShowDialog() == DialogResult.OK) { List<byte> bytes = new List<byte>(); BinaryReader br = new BinaryReader(File.Open(openFileDialog1.FileName, FileMode.Open)); while (!(br.BaseStream.Position >= br.BaseStream.Length)) { bytes.Add(br.ReadByte()); } br.Close(); //BitArray plain = new BitArray(bytes.ToArray()); StringBuilder sb = new StringBuilder(); foreach (byte b in bytes) { sb.Append(Convert.ToString(b, 2).PadLeft(8, '0')); } richTextBox1.Text = sb.ToString(); sb.Clear(); LFSR lfsr = new LFSR(new List<int>() { 28, 3 }, Services.StringToBooleanArray(textBox1.Text).ToList(), bytes.ToArray()); byte[] cipher = lfsr.GetNewBitArray(); foreach (byte b in cipher) { string curByte = Convert.ToString(b, 2).PadLeft(8, '0'); for (int i = 0; i < 8; i++) { sb.Append(curByte[i]); } sb.Append(" "); } richTextBox3.Text = sb.ToString(); sb.Clear(); richTextBox2.Text = Services.BoolArrayToString(lfsr.Key); if (saveFileDialog1.ShowDialog() == DialogResult.OK) { BinaryWriter bw = new BinaryWriter(File.Create(saveFileDialog1.FileName)); bw.Write(Services.BitArrayToByteArray(new BitArray(cipher))); bw.Close(); } } } catch { } finally { } }
private void button2_Click(object sender, EventArgs e) { try { if (openFileDialog1.ShowDialog() == DialogResult.OK) { List<byte> bytes = new List<byte>(); BinaryReader br = new BinaryReader(File.Open(openFileDialog1.FileName, FileMode.Open)); while (!(br.BaseStream.Position >= br.BaseStream.Length)) { bytes.Add(br.ReadByte()); } br.Close(); richTextBox1.Text = Services.ByteArrayToString(bytes.ToArray()); LFSR lfsr1 = new LFSR(new List<int>() { 28, 3}, Services.StringToBooleanArray(textBox2.Text).ToList(), bytes.ToArray()); List<bool> key1 = lfsr1.Key; LFSR lfsr2 = new LFSR(new List<int>() { 36, 11}, Services.StringToBooleanArray(textBox3.Text).ToList(), bytes.ToArray()); List<bool> key2 = lfsr2.Key; LFSR lfsr3 = new LFSR(new List<int>() { 26, 8, 7, 1}, Services.StringToBooleanArray(textBox4.Text).ToList(), bytes.ToArray()); List<bool> key3 = lfsr3.Key; List<bool> keyG = LFSR.GeffeKey(key1, key2, key3); LFSR lfsr = new LFSR(keyG, bytes.ToArray()); byte[] cipher = lfsr.GetNewBitArray(); richTextBox3.Text = Services.ByteArrayToString(cipher); richTextBox2.Text = Services.BoolArrayToString(keyG); richTextBox4.Text = Services.BoolArrayToString(key1); richTextBox5.Text = Services.BoolArrayToString(key2); richTextBox6.Text = Services.BoolArrayToString(key3); if (saveFileDialog1.ShowDialog() == DialogResult.OK) { BinaryWriter bw = new BinaryWriter(File.Create(saveFileDialog1.FileName)); bw.Write(cipher); bw.Close(); } } } catch { } finally { } }