Algoritma Beaufort


namespace Cryptography140203080012
{
public partial class Form2 : Form
{
// Variabel global
int i, j;
public Form2()
{
InitializeComponent();
}

//Tombol Encrypt pada algoritma Beaufort
private void button1_Click(object sender, EventArgs e)
{
//menginisialisasikan textbox(Plain text & key) pada suatu variabel
String PlainText3 = tb_PlainText3.Text;
String key3 = tb_key3.Text;

// kondisi bila karakter kurang dari 10
if (PlainText3.Length < 10)
{
MessageBox.Show(“Plain text is less than 10 Character!!!”);
}
// kondisi bila salah satu textbox belum terisi data
else if ((PlainText3 == “”) || (key3 == “”))
{
MessageBox.Show(“Data it’s not complete!!!”);
}
else
{
//pengulangan untuk baris dan kolomnya sesuai dengan panjang karakter pada textbox (Plain Text)
for (i = 0, j = 0; i < PlainText3.Length; i++, j++) { // kondisi untuk mengulangi panjang karakter key sesuai dengan panjang karakter PlainText if (j >= key3.Length)
{
j = 0;
}

//menghitung encrypt dengan algoritma Beaufort Cipher, merupakan negative dari decrypt Vigenere
int CT1 = (-((PlainText3[i] – 65) – (key3[j] – 65)));

//kondisi bila CT1(Cipher Text) bernilai negatif , dan harus dibalikan dari belakang. Seperti x,y,z
if (CT1 < 0)
{
CT1 = 26 + CT1;
}

//mengkonversikan integer ke char dan melakukan langkah selanjutnya dengan mengoperasikannya ke nilai hasil bagi (mod)
char CipherText3 = Convert.ToChar(65+(CT1 % 26));

//memasukkan nilai ke dalam text boxt (CipherText)
tb_CipherText3.Text += CipherText3;
}

}
}

//Tombol Decrypt pada algoritma Beaufort
private void button2_Click(object sender, EventArgs e)
{
//menginisialisasikan textbox(Cipher text & key) pada suatu variabel
String CipherText4 = tb_CipherText4.Text;
String key4 = tb_key4.Text;

// kondisi bila karakter kurang dari 10
if (CipherText4.Length < 10)
{
MessageBox.Show(“Plain text is less than 10 Character!!!”);
}

// kondisi bila salah satu textbox belum terisi data
else if ((CipherText4 == “”) || (key4 == “”))
{
MessageBox.Show(“Data it’s not complete!!!”);
}
else
{
//pengulangan untuk baris dan kolomnya sesuai dengan panjang karakter pada textbox (Cipher Text)
for (i = 0, j = 0; i < CipherText4.Length; i++, j++) { // kondisi untuk mengulangi panjang karakter key sesuai dengan panjang karakter CipherText if (j >= key4.Length)
{
j = 0;
}
//menghitung decrypt dengan algoritma Beaufort Cipher,
int PT1 = -((CipherText4[i] – 65) – (key4[j] – 65));

//kondisi bila PT1(Plain Text) bernilai negatif , dan harus dibalikan dari belakang. Seperti x,y,z
if (PT1 < 0)
{
PT1 = 26 + PT1;
}

//bila nilai negative mengkonversikan integer ke char dan melakukan langkah selanjutnya dengan mengoperasikannya ke nilai hasil bagi (mod)
char PlainText4 = Convert.ToChar(65 + (PT1 % 26));

//memasukkan nilai ke dalam text boxt (Plain Text)
tb_PlainText4.Text += PlainText4;
}

}
}

//Tombol Encrypt pada algoritma Beaufort
private void button4_Click(object sender, EventArgs e)
{
tb_CipherText4.Text = “”;
tb_key4.Text = “”;
tb_PlainText4.Text = “”;
}

//Tombol Decrypt pada algoritma Beaufort
private void button3_Click(object sender, EventArgs e)
{
tb_CipherText3.Text = “”;
tb_key3.Text = “”;
tb_PlainText3.Text = “”;
}
}
}

2 Comments (+add yours?)

  1. alfansuri
    Nov 27, 2012 @ 23:13:43

    gan ini java tipe berapa?
    sharing dong

    Reply

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: