private void button3_Click(object sender, EventArgs e)
        {
            //verification Timestamp

            /* 1. get time stamp
             * 2. get first 9char
             * 3. it the first chun is timestamp then it is timestamp pakcet if not return it is invalid
             * 4. get next chunks y,m,h,m 4 chnuks
             * 5. if the time has difference then 2 minuts, the message is invalid*/
            f.printProcess("\n\nDecrypt Message using Key TGS (Scenario 8)", ncolor);
            f.printProcess("If the time stamp is sent in five minute, then it is valid (Scenario 9)", ncolor);

            decMessage    = secCol.decryption(p.getEncMessage(), tabCol, tgServer.geTGSkey(), f);
            decMessage    = secCol.getCharString(decMessage);
            textBox9.Text = decMessage;
            string[] result = ((decMessage).Split(':'));//splitting message


            if (result.Length == 10) // check the message whether it has correct timestamp format
            {
                string ticket = "";

                for (int i = 0; i < result.Length - 2; i++)
                {
                    if (i == result.Length - 3)
                    {
                        ticket += result[i];
                    }
                    else
                    {
                        ticket += result[i] + ":";
                    }
                }
                string timestamp = result[result.Length - 1];
                textBox13.Text = ticket;
                string curTime = DateTime.Now.ToString("yyyyMMddHHmm");
                long   flag    = Convert.ToInt64(curTime) - Convert.ToInt64(timestamp);
                //if the time is send in five minutes
                if (flag < 5)
                {
                    button4.Enabled = true;
                    textBox8.Text   = timestamp;
                    textBox3.Text   = "valid";
                }
                else
                {
                    textBox8.Text = timestamp;
                    textBox3.Text = "invalid";
                }
            }

            else
            {
                textBox3.Text = "invalid";
            }
            button3.Enabled = false;
            mainPage.setFlag(8);
            mainPage.setFlag(9);
        }
Exemple #2
0
 private void button6_Click(object sender, EventArgs e)
 {
     /* decrypt the key using TGS key and get CS key
      */
     f.printProcess("\n\nDecrypt Key CS using Key TGS (Scenario 13)", ncolor);
     textBox5.Text = secCol.getCharString(secCol.decryption(p.getCSKey(), tabCol, p.getTGSKey(), f));
     p.setCSKey(secCol.getCharString(secCol.decryption(p.getCSKey(), tabCol, p.getTGSKey(), f)));
     button7.Enabled = true;
     button6.Enabled = false;
     mainPage.setFlag(13);
 }
        private void button5_Click(object sender, EventArgs e)
        {
            /*
             * this button send  Client ID to Authentication Server and request Key TGS and ticket
             * Key encrypted with Password
             *  if the ID is in the A.S then It gets ticket and encrypted key from them.
             */

            if (idBox.Text == "")
            {
                MessageBox.Show("Invalid Username");
            }
            else
            {
                ncolor = Color.Black;
                f.printProcess("Message encryption using Password in Authentication Server (Scenario 1,2)", ncolor);

                /* 1. Create Key TGS
                 * 2. Create Ticket which has client id, create time and Key tgs.
                 * 4. Create message with Ticket and Key TGS
                 * 3. Encrypt the Message with client's password
                 * 4. send the encrypted Message to Client.
                 * */

                string ticket = "ID:" + idBox.Text + ":time:" + (DateTime.Now.ToString("yyyyMMddHHmm")); //Create ticket
                textBox1.Text   = aServer.getTGSkey();
                ticketBox.Text  = ticket;
                textBox3.Text   = ticket + ":key:" + aServer.getTGSkey();
                encKey          = secCol.encryption(secCol.getBit(ticket + ":key:" + aServer.getTGSkey()), tabCol, aServer.getPassword(idBox.Text), f); // Encrypt the ticket using Password.
                encKeyBox.Text  = encKey;
                button3.Enabled = true;
                mainPage.setFlag(1);
                mainPage.setFlag(2);
                f.setFlag(1);
            }
        }