LISTING PROGRAM
Kode Program Form
Home
using System;
using System.Collections.Generic; using System.ComponentModel; using System.Data;
using System.Drawing; using System.Linq; using System.Text;
using System.Windows.Forms;
namespace SkripsiLagi {
public partial class Form9 : Form {
public Form9() {
InitializeComponent(); }
private void fileToolStripMenuItem_Click(object sender, EventArgs e) {
this.Hide();
Form2 fr = new Form2(); fr.ShowDialog();
}
private void helpToolStripMenuItem1_Click(object sender, EventArgs e) {
this.Hide();
Form11 fr = new Form11(); fr.ShowDialog();
}
private void exitToolStripMenuItem_Click_1(object sender, EventArgs e) {
Application.Exit(); }
private void helpToolStripMenuItem_Click(object sender, EventArgs e) {
this.Hide();
Form10 fr = new Form10(); fr.ShowDialog();
}
} }
Kode Program
Form
Identitas
using System;
using System.Collections.Generic; using System.ComponentModel; using System.Data;
using System.Text;
using System.Windows.Forms;
namespace SkripsiLagi {
public partial class Form2 : Form {
public Form2() {
InitializeComponent(); }
private void button1_Click(object sender, EventArgs e) {
this.Hide();
Form1 fr = new Form1(); fr.ShowDialog();
} } }
Kode Program
Form
Autentikasi
using System;
using System.Collections.Generic; using System.ComponentModel; using System.Data;
using System.Drawing; using System.Linq; using System.Text;
using System.Windows.Forms; using System.Numerics; using System.Diagnostics;
namespace SkripsiLagi {
public partial class Form1 : Form {
int p1_arb, p2_arb, n_arb = 0, e_arb, d_arb, totien_n; int p1_user1, p2_user1, n_user1 = 0, e_user1, d_user1; int p1_user2, p2_user2, n_user2 = 0, e_user2, d_user2; int[] X;
public BigInteger[] sign_id1; public BigInteger[] sign_id2;
public BigInteger sign_k1n, sign_k1e, sign_k2n, sign_k2e; BigInteger[] dekrip_id1;
BigInteger[] dekrip_id2;
BigInteger dekrip_k1n, dekrip_k1e, dekrip_k2n, dekrip_k2e; string id1, id2;
int enkrip_sign_sk, enkrip_sign_t; Stopwatch sw = new Stopwatch(); Random rnd = new Random();
public Form1() {
public Form1(string frm4, string aa) : this()
{
int dekrip_sign_sk = Convert.ToInt32(s_KeyDec.Text); int dekrip_sign_t = Convert.ToInt32(t_StampDec.Text); s_KeyDec.Text = "";
t_StampDec.Text = "";
MessageBox.Show(dekrip_sign_sk.ToString() + " : " + dekrip_sign_t.ToString());
}
private void button2_Click(object sender, EventArgs e) {
string identitas; //Sign User1
identitas = id_User1_Sign.Text;
int[] id1 = new int[identitas.Length]; sign_id1 = new BigInteger[identitas.Length]; for (int i = 0; i < identitas.Length; i++) {
id1[i] = Convert.ToInt32(identitas[i]); }
for (int i = 0; i < id1.Length; i++) {
sign_id1[i] = BigInteger.ModPow(id1[i], d_arb, n_arb); }
sign_k1n = BigInteger.ModPow(n_user1, d_arb, n_arb); sign_k1e = BigInteger.ModPow(e_user1, d_arb, n_arb);
//Sign User2
identitas = id_User2_Sign.Text;
int[] id2 = new int[identitas.Length]; sign_id2 = new BigInteger[identitas.Length]; for (int i = 0; i < identitas.Length; i++) {
id2[i] = Convert.ToInt32(identitas[i]); }
for (int i = 0; i < id2.Length; i++) {
sign_id2[i] = BigInteger.ModPow(id2[i], d_arb, n_arb); }
sign_k2n = BigInteger.ModPow(n_user2, d_arb, n_arb); sign_k2e = BigInteger.ModPow(e_user2, d_arb, n_arb);
Form3 fr3 = new Form3(sign_id1, sign_k1n, sign_k1e, sign_id2, sign_k2n, sign_k2e);
fr3.Show();
/*string iduser1 = "";
dekrip_id1 = new BigInteger[sign_id1.Length]; dekrip_id2 = new BigInteger[sign_id2.Length]; int limit = sign_id1.Length;
for (int i = 0; i < limit; i++) {
iduser1 += sign_id1[i].ToString() + " "; }
id_User1Dec.Text = iduser1;
e__User1Dec.Text = sign_k1e.ToString();
string iduser2 = ""; limit = sign_id2.Length;
for (int i = 0; i < limit; i++) {
iduser2 += sign_id2[i].ToString() + " "; }
id_User2Dec.Text = iduser2;
n_User2Dec.Text = sign_k2n.ToString(); e__User2Dec.Text = sign_k2e.ToString();*/ }
private void button4_Click(object sender, EventArgs e) {
BigInteger sKey = Convert.ToInt32(s_Key.Text); BigInteger time = Convert.ToInt32(t_Stamp.Text); BigInteger sign_sk, sign_t;
sign_sk = BigInteger.ModPow(sKey, d_user1, n_user1); sign_t = BigInteger.ModPow(time, d_user1, n_user1);
Form4 fr = new Form4(sign_sk, sign_t, e_user2, n_user2); //this.Hide();
fr.ShowDialog(); }
private void button5_Click(object sender, EventArgs e) {
sw.Start(); id1 = ""; id2 = "";
dekrip_id1 = new BigInteger[sign_id1.Length]; dekrip_id2 = new BigInteger[sign_id2.Length];
for (int i = 0; i < sign_id1.Length; i++) {
dekrip_id1[i] = BigInteger.ModPow(sign_id1[i], e_arb, n_arb); id1 += char.ConvertFromUtf32((int)dekrip_id1[i]);
}
for (int i = 0; i < sign_id2.Length; i++) {
dekrip_id2[i] = BigInteger.ModPow(sign_id2[i], e_arb, n_arb); id2 += char.ConvertFromUtf32((int)dekrip_id2[i]);
}
dekrip_k1n = BigInteger.ModPow(Convert.ToInt32(n_User1Dec.Text) , e_arb, n_arb);
dekrip_k1e = BigInteger.ModPow(sign_k1e, e_arb, n_arb);
dekrip_k2n = BigInteger.ModPow(Convert.ToInt32(n_User2Dec.Text), e_arb, n_arb);
dekrip_k2e = BigInteger.ModPow(sign_k2e, e_arb, n_arb); sw.Stop();
time.Text = "Time: " + sw.Elapsed + " second";
Form6 fr = new Form6(id1, dekrip_k1n, dekrip_k1e, id2, dekrip_k2n, dekrip_k2e);
fr.ShowDialog(); }
private void button6_Click(object sender, EventArgs e) {
s_KeyDec.Text = enkrip_sign_sk.ToString(); t_StampDec.Text = enkrip_sign_t.ToString();*/ enkrip_sign_sk = Convert.ToInt32(s_KeyDec.Text); enkrip_sign_t = Convert.ToInt32(t_StampDec.Text);
int dekrip_sign_sk = (int)BigInteger.ModPow(enkrip_sign_sk, d_user2, n_user2);
int dekrip_sign_t = (int)BigInteger.ModPow(enkrip_sign_t, d_user2, n_user2);
int dekrip_sk = (int)BigInteger.ModPow(dekrip_sign_sk, e_user1, n_user1);
int dekrip_t = (int)BigInteger.ModPow(dekrip_sign_t, e_user1, n_user1);
sw.Stop();
time.Text = "Time: " + sw.Elapsed + " second"; Form7 fr = new Form7(dekrip_sk, dekrip_t); fr.ShowDialog();
}
private void textBox22_TextChanged(object sender, EventArgs e) {
}
private void Form1_Load(object sender, EventArgs e) {
if (id_User1.Text == "") {
TextBox id1 =
Application.OpenForms["Form2"].Controls["id_User1"] as TextBox; id_User1.Text = id1.Text;
TextBox id2 =
Application.OpenForms["Form2"].Controls["id_User2"] as TextBox; id_User2.Text = id2.Text;
}
//Form frm2 = Application.OpenForms["Form2"] as Form; //frm2.Dispose();
}
public bool Fermat(BigInteger prime) {
BigInteger a = 0;
for (int i = 0; i <= prime.ToString().Length; i++) {
a = Random(prime);
if (!(BigInteger.ModPow(a, prime - 1, prime).IsOne)) {
return false; }
}
return true; }
public BigInteger Random(BigInteger prime) {
BigInteger bigVal;
int limit = rnd.Next(2, prime.ToString().Length); do
string strVal = "";
if (prime.ToString().Length == 1) {
for (int i = 0; i < prime.ToString().Length; i++) {
int val = rnd.Next(2, 10); strVal += val.ToString(); }
bigVal = BigInteger.Parse(strVal); }
else {
int val;
for (int i = 0; i < limit; i++) {
if (i == 0) {
val = rnd.Next(0, Convert.ToInt32(prime.ToString().Substring(0, 1))); strVal += val.ToString(); }
else {
val = rnd.Next(0, 10); strVal += val.ToString(); }
}
bigVal = BigInteger.Parse(strVal);
}
} while (bigVal < 2 || bigVal >= prime); return bigVal;
}
private int get_e(int totien_n) {
int e = 1;
for (int i = 2; i < totien_n; i++) {
if (BigInteger.GreatestCommonDivisor(i, totien_n) == 1) {
e = i; break; }
}
return e; }
private int get_d(int totien_n, int e) {
int j = 1, ed = 0, d; while (ed != 1) {
ed = (j * e) % totien_n; j++;
}
d = j - 1; return d; }
{
//Get Key Arbitrator
p1_arb = rnd.Next(100, 1000); p2_arb = rnd.Next(100, 1000);
while (!(Fermat((BigInteger)p1_arb) && Fermat((BigInteger)p2_arb))) {
p1_arb = rnd.Next(100, 1000); p2_arb = rnd.Next(100, 1000); }
n_arb = p1_arb * p2_arb;
totien_n = (p1_arb - 1) * (p2_arb - 1); e_arb = get_e(totien_n);
d_arb = get_d(totien_n, e_arb); n_Arbit.Text = n_arb.ToString(); e_Arbit.Text = e_arb.ToString(); d_Arbit.Text = d_arb.ToString();
//Get Key User 1
p1_user1 = rnd.Next(100, 1000); p2_user1 = rnd.Next(100, 1000);
while (!(Fermat((BigInteger)p1_user1) && Fermat((BigInteger)p2_user1)))
{
p1_user1 = rnd.Next(100, 1000); p2_user1 = rnd.Next(100, 1000); }
n_user1 = p1_user1 * p2_user1; if (n_user1 >= n_arb)
btn_Kunci_Click(null, null);
totien_n = (p1_user1 - 1) * (p2_user1 - 1); e_user1 = get_e(totien_n);
d_user1 = get_d(totien_n, e_user1); n_User1.Text = n_user1.ToString(); e_User1.Text = e_user1.ToString(); d_User1.Text = d_user1.ToString();
//Get Key User 2
p1_user2 = rnd.Next(100, 1000); p2_user2 = rnd.Next(100, 1000);
while (!(Fermat((BigInteger)p1_user2) && Fermat((BigInteger)p2_user2)))
{
p1_user2 = rnd.Next(100, 1000); p2_user2 = rnd.Next(100, 1000); }
n_user2 = p1_user2 * p2_user2; if (n_user2 >= n_arb)
btn_Kunci_Click(null, null);
totien_n = (p1_user2 - 1) * (p2_user2 - 1); e_user2 = get_e(totien_n);
d_user2 = get_d(totien_n, e_user2); n_User2.Text = n_user2.ToString(); e_User2.Text = e_user2.ToString(); d_User2.Text = d_user2.ToString();
id_User2_Sign.Text = id_User2.Text; n_User2_Sign.Text = n_User2.Text; e_User2_Sign.Text = e_User2.Text; }
private int LCG() {
int a = 106, b = 1283, m = 6075; X = new int[m];
for (int i = 1; i < m; i++) {
X[i] = ((int)a * X[i - 1] + (int)b) % m; //hasil += X[i].ToString() + " "; }
//richTextBox1.Text = hasil; int idx = rnd.Next(1, m); int key = X[idx];
return key; }
private void btn_OK_Click(object sender, EventArgs e) {
s_Key.Text = LCG().ToString();
t_Stamp.Text = DateTime.Now.ToString("hhmm"); }
private void t_StampDec_TextChanged(object sender, EventArgs e) {
/*if (s_KeyDec.Text != "" && t_StampDec.Text != "" && state == false)
{
enkrip_sign_sk = Convert.ToInt32(s_KeyDec.Text); enkrip_sign_t = Convert.ToInt32(t_StampDec.Text); s_KeyDec.Text = "";
t_StampDec.Text = "";
//MessageBox.Show(dekrip_sign_sk.ToString() + " : " + dekrip_sign_t.ToString());
}*/ }
private void s_KeyDec_TextChanged(object sender, EventArgs e) {
}
} }
Kode Program
Form
Hasil
Sign Arbitrator
using System;
using System.Collections.Generic; using System.ComponentModel; using System.Data;
using System.Drawing; using System.Linq; using System.Text;
namespace SkripsiLagi {
public partial class Form3 : Form {
public Form3() {
InitializeComponent(); }
public Form3(BigInteger[] sign_id1, BigInteger sign_k1n, BigInteger sign_k1e, BigInteger[] sign_id2, BigInteger sign_k2n, BigInteger sign_k2e) : this()
{
string iduser1 = "";
int limit = sign_id1.Length; for (int i = 0; i < limit; i++) {
iduser1 += sign_id1[i].ToString() + " "; }
id_User1_Sign.Text = iduser1;
n_User1_Sign.Text = sign_k1n.ToString(); e_User1_Sign.Text = sign_k1e.ToString();
string iduser2 = ""; limit = sign_id2.Length;
for (int i = 0; i < limit; i++) {
iduser2 += sign_id2[i].ToString() + " "; }
id_User2_Sign.Text = iduser2;
n_User2_Sign.Text = sign_k2n.ToString(); e_User2_Sign.Text = sign_k2e.ToString(); //this.Form3_Load(null, null);
}
private void button1_Click(object sender, EventArgs e) {
GroupBox gb =
Application.OpenForms["Form1"].Controls["groupBox4"].Controls["groupBox6"] as GroupBox;
TextBox id1 = gb.Controls["id_User1Dec"] as TextBox; id1.Text = id_User1_Sign.Text;
TextBox n1 = gb.Controls["n_User1Dec"] as TextBox; n1.Text = n_User1_Sign.Text;
TextBox e1 = gb.Controls["e__User1Dec"] as TextBox; e1.Text = e_User1_Sign.Text;
TextBox id2 = gb.Controls["id_User2Dec"] as TextBox; id2.Text = id_User2_Sign.Text;
TextBox n2 = gb.Controls["n_User2Dec"] as TextBox; n2.Text = n_User2_Sign.Text;
TextBox e2 = gb.Controls["e__User2Dec"] as TextBox; e2.Text = e_User2_Sign.Text;
Form fr = Application.OpenForms["Form1"] as Form; this.Hide();
}
//InitializeComponent(); //Form1 frm1 = new Form1();// Application.OpenForms["Form1"] as Form;
}
} }
Kode Program
Form
Hasil
Sign User1
using System;
using System.Collections.Generic; using System.ComponentModel; using System.Data;
using System.Drawing; using System.Linq; using System.Text;
using System.Windows.Forms; using System.Numerics;
namespace SkripsiLagi {
public partial class Form4 : Form {
int e2, n2; public Form4() {
InitializeComponent(); }
public Form4(BigInteger sign_sk, BigInteger sign_t, int e, int n) : this()
{
s_KeySign.Text = sign_sk.ToString(); t_StampSign.Text = sign_t.ToString(); e2 = e;
n2 = n; }
private void button1_Click(object sender, EventArgs e) {
int sign_sk = Convert.ToInt32(s_KeySign.Text); int sign_t = Convert.ToInt32(t_StampSign.Text);
BigInteger Enkrip_sign_sk = BigInteger.ModPow(sign_sk, e2, n2); BigInteger Enkrip_sign_t = BigInteger.ModPow(sign_t, e2, n2);
Form5 fr = new Form5(Enkrip_sign_sk, Enkrip_sign_t); this.Hide();
fr.ShowDialog(); }
private void Form4_Load(object sender, EventArgs e) {
Kode Program
Form
Hasil Enkripsi
User1
using System;
using System.Collections.Generic; using System.ComponentModel; using System.Data;
using System.Drawing; using System.Linq; using System.Text;
using System.Windows.Forms; using System.Numerics;
namespace SkripsiLagi {
public partial class Form5 : Form {
public Form5() {
InitializeComponent(); }
public Form5(BigInteger Enkrip_sign_sk, BigInteger Enkrip_sign_t) : this()
{
s_KeyEnkrip.Text = Enkrip_sign_sk.ToString(); t_StampEnkrip.Text = Enkrip_sign_t.ToString(); }
private void button1_Click(object sender, EventArgs e) {
GroupBox gb =
Application.OpenForms["Form1"].Controls["groupBox4"].Controls["groupBox6"] as GroupBox;
TextBox key = gb.Controls["s_KeyDec"] as TextBox; key.Text = s_KeyEnkrip.Text;
TextBox time = gb.Controls["t_StampDec"] as TextBox; time.Text = t_StampEnkrip.Text;
Form fr = Application.OpenForms["Form1"] as Form; this.Hide();
//fr.Show(); }
private void Form5_Load(object sender, EventArgs e) {
} } }
Kode Program
Form Hasil
Dekripsi Identitas dan Kunci
using System;
using System.Collections.Generic; using System.ComponentModel; using System.Data;
using System.Drawing; using System.Linq; using System.Text;
namespace SkripsiLagi {
public partial class Form6 : Form {
public Form6() {
InitializeComponent(); }
public Form6(string id1, BigInteger dekrip_k1n, BigInteger dekrip_k1e, string id2, BigInteger dekrip_k2n, BigInteger dekrip_k2e)
: this() {
id_User1.Text = id1;
n_User1.Text = dekrip_k1n.ToString(); e_User1.Text = dekrip_k1e.ToString(); id_User2.Text = id2;
n_User2.Text = dekrip_k2n.ToString(); e_User2.Text = dekrip_k2e.ToString(); }
private void button5_Click(object sender, EventArgs e) {
GroupBox gb1 = Application.OpenForms["Form1"].Controls["groupBox3"] as GroupBox;
GroupBox gb2 = Application.OpenForms["Form1"].Controls["groupBox4"] as GroupBox;
TextBox id1 = gb1.Controls["id_User1"] as TextBox; TextBox n1 = gb1.Controls["n_User1"] as TextBox; TextBox e1 = gb1.Controls["e_User1"] as TextBox; TextBox id2 = gb2.Controls["id_User2"] as TextBox; TextBox n2 = gb2.Controls["n_User2"] as TextBox; TextBox e2 = gb2.Controls["e_User2"] as TextBox;
if (id_User1.Text == id1.Text && n_User1.Text == n1.Text && e_User1.Text == e1.Text &&
id_User2.Text == id2.Text && n_User2.Text == n2.Text && e_User2.Text == e2.Text)
{
MessageBox.Show("Identitas dan Kunci Publik Valid"); Button btn =
gb2.Controls["groupBox6"].Controls["btn_Dec2User2"] as Button; btn.Enabled = true;
} else
MessageBox.Show("Identitas atau Kunci Publik tidak Valid");
this.Hide(); }
private void Form6_Load(object sender, EventArgs e) {
} } }
using System;
using System.Collections.Generic; using System.ComponentModel; using System.Data;
using System.Drawing; using System.Linq; using System.Text;
using System.Windows.Forms;
namespace SkripsiLagi {
public partial class Form7 : Form {
public Form7() {
InitializeComponent(); }
public Form7(int sk, int t) : this()
{
string time = t.ToString(); if (time.Length == 1) time = "000" + time; else if (time.Length == 2) time = "00" + time; else if (time.Length == 3) time = "0" + time; s_Key.Text = sk.ToString(); t_Stamp.Text = time;
}
private void button6_Click(object sender, EventArgs e) {
GroupBox gb =
Application.OpenForms["Form1"].Controls["groupBox3"].Controls["groupBox1"] as GroupBox;
TextBox key = gb.Controls["s_Key"] as TextBox; if (s_Key.Text == key.Text)
{
int time = Convert.ToInt32(t_Stamp.Text);
int time_now = Convert.ToInt32(DateTime.Now.ToString("hhmm")); if (time_now - time >= 0 && time_now - time <= 10)
{
MessageBox.Show("Session Key dan Timestamp valid"); this.Hide();
Form8 fr = new Form8(s_Key.Text); fr.ShowDialog();
} }
else if (s_Key.Text != key.Text) {
MessageBox.Show("Session Key dan Timestamp tidak valid"); this.Hide();
} }
} } }
Kode Program
Form
Komunikasi
using System;
using System.Collections.Generic; using System.ComponentModel; using System.Data;
using System.Drawing; using System.Linq; using System.Text;
using System.Windows.Forms; using System.Numerics; using System.IO;
namespace SkripsiLagi {
public partial class Form8 : Form {
BigInteger n_user1, n_user2;
int e_user1, d_user1, e_user2, d_user2; string user1, user2;
public Form8() {
InitializeComponent(); }
public Form8(string key) : this()
{
s_Key.Text = key;
GroupBox gb = Application.OpenForms["Form1"].Controls["groupBox3"] as GroupBox;
GroupBox gb2 = Application.OpenForms["Form1"].Controls["groupBox4"] as GroupBox;
TextBox id1 = gb.Controls["id_User1"] as TextBox; TextBox id2 = gb2.Controls["id_User2"] as TextBox; TextBox n1 = gb.Controls["n_User1"] as TextBox; TextBox e1 = gb.Controls["e_User1"] as TextBox; TextBox d1 = gb.Controls["d_User1"] as TextBox; TextBox n2 = gb2.Controls["n_User2"] as TextBox; TextBox e2 = gb2.Controls["e_User2"] as TextBox; TextBox d2 = gb2.Controls["d_User2"] as TextBox; user1 = id1.Text;
user2 = id2.Text;
n_user1 = BigInteger.Parse(n1.Text); n_user2 = BigInteger.Parse(n2.Text); e_user1 = Convert.ToInt32(e1.Text); e_user2 = Convert.ToInt32(e2.Text); d_user1 = Convert.ToInt32(d1.Text); d_user2 = Convert.ToInt32(d2.Text); }
private void button4_Click(object sender, EventArgs e) {
if (MessageBox.Show("End Chat?", "Exit", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
{
} }
private void Form8_Load(object sender, EventArgs e) {
}
private void pesan_User1_TextChanged(object sender, EventArgs e) {
if (pesan_User1.Text == "")
btn_KirimUser1.Enabled = false; else
btn_KirimUser1.Enabled = true; }
private void pesan_User2_TextChanged(object sender, EventArgs e) {
if (pesan_User2.Text == "")
btn_KirimUser2.Enabled = false; else
btn_KirimUser2.Enabled = true; }
private void chat_Cipher_TextChanged(object sender, EventArgs e) {
if (chat_Cipher.Text == "") btn_Simpan.Enabled = false; else
btn_Simpan.Enabled = true; }
private void btn_KirimUser1_Click(object sender, EventArgs e) {
string pesan = "", pesan2 = ""; int ascii, plaintext;
BigInteger cipher;
foreach (char c in pesan_User1.Text) {
ascii = Convert.ToInt32(c);
cipher = BigInteger.ModPow(c, e_user2, n_user2); pesan += cipher.ToString() + " ";
}
//int j = chat_User1.TextLength;
chat_User1.Text += "You: " + pesan_User1.Text + "\r\n"; chat_Cipher.Text += pesan + "\r\n";
//MessageBox.Show(j.ToString() + " " + chat_User1.TextLength); /*chat_User1.Select(j, 3);
chat_User1.SelectionColor = Color.Blue;
chat_User1.Select(j + 3, chat_User1.TextLength); chat_User1.SelectionColor = Color.Black;*/ pesan_User1.Text = "";
//chat_User1.Select(0, 0);
string[] temp = pesan.Split(' '); int[] plain = new int[temp.Length]; for (int i = 0; i < temp.Length - 1; i++) {
plain[i] = Convert.ToInt32(temp[i]);
}
//int k = chat_User2.Text.Length;
chat_User2.Text += user1 + ": " + pesan2 + "\r\n"; /*int length = user1.Length;
chat_User2.Select(k, length);
chat_User2.SelectionColor = Color.Red;*/ }
private void btn_KirimUser2_Click(object sender, EventArgs e) {
string pesan = "", pesan2 = ""; int ascii, plaintext;
BigInteger cipher;
foreach (char c in pesan_User2.Text) {
ascii = Convert.ToInt32(c);
cipher = BigInteger.ModPow(c, e_user1, n_user1); pesan += cipher.ToString() + " ";
}
//int k = chat_User2.Text.Length;
chat_User2.Text += "You: " + pesan_User2.Text + "\r\n"; chat_Cipher.Text += pesan + "\r\n";
pesan_User2.Text = ""; //chat_User2.Select(k, 3);
//chat_User2.SelectionColor = Color.Blue;
string[] temp = pesan.Split(' '); int[] plain = new int[temp.Length]; for (int i = 0; i < temp.Length - 1; i++) {
plain[i] = Convert.ToInt32(temp[i]);
plaintext = (int)BigInteger.ModPow(plain[i], d_user1, n_user1); pesan2 += char.ConvertFromUtf32(plaintext);
}
//int j = chat_User1.Text.Length;
chat_User1.Text += user2 + ": " + pesan2 + "\r\n"; //int length = user2.Length;
//chat_User1.Select(j, length);
//chat_User1.SelectionColor = Color.Red; }
private void btn_Simpan_Click(object sender, EventArgs e) {
string text = chat_Cipher.Text + "/" + user1 + "/" + n_user1.ToString() + "/" + e_user1.ToString() + "/" +
user2 + "/" + n_user2.ToString() + "/" + e_user2.ToString();
string filename = "D:\\Data\\" + s_Key.Text + ".txt"; FileStream fstream = new FileStream(filename,
FileMode.OpenOrCreate);
StreamWriter sw = new StreamWriter(fstream); SeekOrigin seekorigin = new SeekOrigin(); sw.BaseStream.Seek(0, seekorigin);
sw.WriteLine(text); sw.Flush();
MessageBox.Show("File berhasil disimpan", "Simpan", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
{
Form9 frm = new Form9();
Form frm1 = Application.OpenForms["Form1"] as Form; frm1.Dispose();
this.Dispose(); frm.ShowDialog(); }
} }
Kode Program
Form
Arsip
using System;
using System.Collections.Generic; using System.ComponentModel; using System.Data;
using System.Drawing; using System.Linq; using System.Text;
using System.Windows.Forms; using System.IO;
namespace SkripsiLagi {
public partial class Form10 : Form {
public Form10() {
InitializeComponent(); }
private void btn_OK_Click(object sender, EventArgs e) {
string isi;
FileStream fstream = new FileStream("D:\\Data\\" + s_Key.Text + ".txt", FileMode.Open, FileAccess.Read);
StreamReader sr = new StreamReader(fstream); sr.BaseStream.Seek(0, SeekOrigin.Begin); isi = sr.ReadToEnd();
sr.Close();
string[] text = isi.Split('/'); txtCipher.Text = text[0]; id_User1.Text = text[1]; n_User1.Text = text[2]; e_User1.Text = text[3]; id_User2.Text = text[4]; n_User2.Text = text[5]; e_User2.Text = text[6]; }
private void btn_Exit_Click(object sender, EventArgs e) {
this.Hide();
Form9 fr = new Form9(); fr.ShowDialog();
Kode Program
Form Help
using System;
using System.Collections.Generic; using System.ComponentModel; using System.Data;
using System.Drawing; using System.Linq; using System.Text;
using System.Windows.Forms;
namespace SkripsiLagi {
public partial class Form11 : Form {
public Form11() {
InitializeComponent(); }
private void button1_Click(object sender, EventArgs e) {
this.Hide();
Form9 fr = new Form9(); fr.ShowDialog();
}