private void startRound(int round) { String val1 = ""; String val2 = ""; if (action == "Encrypt") { val1 = key1; val2 = key2; } else if (action == "Decrypt") { val1 = key2; val2 = key1; } if (round == 1) { mainLeftPart = IPtext.Substring(0, 4); mainRightPart = IPtext.Substring(4, 4); } finalRightPart = mainRightPart; mainRightPart = EP(); if (round == 1) { mainRightPart = CipherSupport.bitXor(mainRightPart, val1); } else if (round == 2) { mainRightPart = CipherSupport.bitXor(mainRightPart, val2); } leftPart = mainRightPart.Substring(0, 4); rightPart = mainRightPart.Substring(4, 4); Dictionary <String, int> bitConvert = new Dictionary <String, int>(); bitConvert["00"] = 0; bitConvert["01"] = 1; bitConvert["10"] = 2; bitConvert["11"] = 3; int S0_ROW = bitConvert[leftPart[0].ToString() + leftPart[3].ToString()]; int S0_COL = bitConvert[leftPart[1].ToString() + leftPart[2].ToString()]; int S1_ROW = bitConvert[rightPart[0].ToString() + rightPart[3].ToString()]; int S1_COL = bitConvert[rightPart[1].ToString() + rightPart[2].ToString()]; leftPart = S0[S0_ROW, S0_COL]; rightPart = S1[S1_ROW, S1_COL]; mainRightPart = String.Concat(leftPart, rightPart); mainRightPart = P4(); finalLeftPart = CipherSupport.bitXor(mainLeftPart, mainRightPart); }
private void textBox4_TextChanged(object sender, EventArgs e) { if (textBox4.Text == tb4Text) { return; } if (textBox4.Text == "" && tb4Text != "") { tb4Text = textBox4.Text; return; } char value = textBox4.Text[textBox4.Text.Length - 1]; if (CipherSupport.isBit(value)) { tb4Text = textBox4.Text; return; } else { textBox4.Text = tb4Text; } tb4Text = textBox4.Text; textBox4.SelectionStart = textBox4.Text.Length; }