Enkripsi Julius Caesar
August 15, 2009
Bagi orang yang memiliki data pribadi, atau data tertentu yang hanya boleh diketahui orang tertentu saja, tentu dia menginginkan agar data yang dia miliki hanya dia dan orang-orang tertentu saja yang bisa melihatnya. Contoh sebuah surat, apabila surat yang akan kita kirim adalah surat yang isinya rahasia, maka tentunya isi surat tersebut dimasukkan ke dalam amplop. Andaikata ada orang yang berniat tidak baik kemudian membuka amplop tersebut, maka bagaimana caranya agar isi surat tersebut tidak bisa dibaca oleh orang tersebut. Istilahnya isi surat tersebut sudah dienkripsi sehingga pembaca surat tersebut harus mendekripsikan agar bisa membacanya. Untuk bisa mendeskripsikannya maka perlu tahu caranya, atau metode enkripsi yang digunakan oleh sang penulis surat.
Enkripsi adalah suatu proses yang melakukan perubahan sebuah kode dari yang bisa dimengerti menjadi sebuah kode yang tidak bisa dimengerti (tidak berbaca). Enkripsi bisa diartikan sebagai kode atau chipper. Sebuah chiper menggunakan suatu algoritma yang dapat mengkodekan semua aliran data (stream) bit dari sebuah pesan menjadi cryptogram yang tidak dimengerti (unintelligible).
3 (tiga) kategori enkripsi, yaitu :
1. Kunci enkripsi rahasia. Dalam hal ini ada sebuah kunci rahasia yang digunakan untuk mengenkripsi dan sekaligus digunakan untuk mendeskripsi.
2. Kunci enkripsi public. Dalam hal ini ada dua kunci yang digunakan. Satu untuk enkripsi dan satunya untuk deskripsi.
3. Fungsi “one way”, atau satu arah adalah suatu fungsi dimana informasi dienkripsi untuk menciptakan “signature” dari informasi asli yang bisa digunakan untuk keperluan autentikasi.
Cryptography adalah suatu ilmu ataupun seni mengamankan pesan, dan dilakukan oleh cryptographer. Sedang, cryptanalysis adalah suatu ilmu dan seni membuka (breaking) ciphertext dan orang yang melakukannya disebut cryptanalyst.
Kriptografi, secara umum adalah ilmu dan seni untuk menjaga kerahasiaan berita [bruce Schneier - Applied Cryptography]
Cryptographic system atau cryptosystem adalah suatu fasilitas untuk mengkonversikan plaintext ke ciphertext dan sebaliknya. Dalam sistem ini, seperangkat parameter yang menentukan transformasi pencipheran tertentu disebut suatu set kunci. Proses enkripsi dan dekripsi diatur oleh satu atau beberapa kunci kriptografi. Secara umum, kunci-kunci yang digunakan untuk proses pengenkripsian dan pendekripsian tidak perlu identik, tergantung pada sistem yang digunakannya
Suatu pesan yang tidak disandikan disebut sebagai plaintext ataupun dapat disebut juga sebagai cleartext. Proses yang dilakukan untuk mengubah plaintext ke dalam ciphertext disebut encryption atau enchiperment. Sedangkan proses untuk mengubah chipertext kembali ke plaintext disebut decryption atau decipherment. Secara sederhana istilah-istilah di atas dapat digambarkan sebagai berikut :

Jauh sebelum ada enkripsi di dunia maya, Julius Caesar ternyata sudah menggunakan enkripsi dalam menulis pesan untuk para jenderalnya. Cara yang digunakan Julius Caesar adalah dengan menggeser setiap huruf dalam pesan yang dia kirimkan. Sebagai contoh jika pergeserannya adalah penambahan tiga karakter, maka :
Huruf asli : A B C D E F G H I J K L M O P Q R S T U V W X Y Z
Huruf sandi : D E F G H I J K L M O P Q R S T U V W X Y Z [ \ ]
Sebagai contoh dasar apabila menggunakan Visual Basic desain formnya seperti berikut:

TextBox paling atas diberinama txtplain
TextBox bawahnya lagi diberinama txtchipper
TextBox paling bawa diberinama txtplain1
Ada dua Command yang digunakan untuk mengenkripsi dan satunya lagi untuk mendekripsi.
Sedangkan coding untuk kedua tombol tersebut adalah
Private Sub cmdenkripsi_Click()
n = Len(Trim(txtplain.Text))
For i = 1 To n
kar = Mid(txtplain.Text, i, 1)
nascii = Asc(kar)
ntambah = nascii + 3
sandi = Chr(ntambah)
xsandi = xsandi + sandi
Next i
txtchipper.Text = xsandi
End Sub
Private Sub cmddekripsi_Click()
n = Len(Trim(txtchipper.Text))
For i = 1 To n
kar = Mid(txtchipper.Text, i, 1)
nascii = Asc(kar)
nkurang = nascii – 3
sandi1 = Chr(nkurang)
xsandi1 = xsandi1 + sandi1
Next i
txtplain1.Text = xsandi1
End Sub
Sehingga jika dirun hasilnya seperti berikut :

begitulah hasilnya kalau dicoba dengan Visual Basic. Bagaimana kalau dicoba dengan php ? sekalian saja dicoba dengan membuat desain formnya seperti berikut :

sedangkan scriptnya sebagai berikut :
<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>
<html xmlns=”http://www.w3.org/1999/xhtml”>
<head>
<meta http-equiv=”Content-Type” content=”text/html; charset=iso-8859-1″ />
<title>Julius Caesar</title>
</head>
<body>
<?
if ($_POST['submit1'])
{
$n = strlen(trim($_POST['plain']));
for ($i=1; $i<= $n; $i++) {
$w = substr($_POST['plain'], $i-1, 1);
$x = ord($w);
$xx = chr($x + 3);
$sandi = $sandi . $xx;
}
$hasilplain = $sandi;
}
else if ($_POST['submit2'])
{
$n = strlen(trim($_POST['plain']));
for ($i=1; $i<= $n; $i++) {
$w1 = substr($_POST['plain'], $i-1, 1);
$x1 = ord($w1);
$xx1 = chr($x1 + 3);
$sandi1 = $sandi1 . $xx1;
}
$hasilplain = $sandi1; //untuk chipper text
$n = strlen(trim($_POST['chipper']));
for ($i=1; $i<= $n; $i++) {
$w = substr($_POST['chipper'], $i-1, 1);
$x = ord($w);
$xx = chr($x – 3);
$sandi = $sandi . $xx;
}
$hasilchipper = $sandi; //untuk plain text bawah
}
?>
<form method=”POST” action=”<?php echo $_SERVER['PHP_SELF']; ?>”">
<table>
<tr><td>Plain Text</td><td>:</td><td><input type=”text” name=”plain” value = “<? echo $_POST['plain'] ;?>” /></td> </tr>
<tr><td></td><td></td><td>
<input type=”submit” name=”submit1″ value=”Enkripsi” />
</td></tr>
<tr><td>Chipper Text</td><td>:</td><td>
<input type=”text” name=”chipper” value = “<? echo “$hasilplain” ; ?>”/></td> </tr>
<tr><td></td><td></td><td>
<input type=”submit” name=”submit2″ value=”Dekripsi” />
</td></tr>
<tr><td>Plain Text</td><td>:</td><td><input type=”text” name=”plain1″ value =”<? echo “$hasilchipper”; ?>” /></td> </tr>
</table>
</form>
</body>
</html>
jika dijalankan hasilnya sebagai berikut :

nah jadi juga akhirnya….
Entry Filed under: Enkripsi. .
3 Comments Add your own
Leave a Comment
Some HTML allowed:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <pre> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>
Trackback this post | Subscribe to the comments via RSS Feed
1.
Arie | September 9, 2009 at 5:06 pm
terima kasih pencerahannya …
sudah saya coba cuma keluarnya : WIVERK
masih belum sesuai harapan …
2.
Arie | September 9, 2009 at 5:27 pm
TERIMA KASIH PENCERAHANNYA ….. SUDAH JADI PAK…
3.
Arie kusworo | September 9, 2009 at 5:30 pm
ahirnya .. gak sia2 sampai jam 12.28 , semakin malam semakin membawa rejeki … dengan niat semua pasti bisa !!!