Exemple #1
0
        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);
        }
Exemple #2
0
        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;
        }