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); }
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); } }