Mengenal caesar cipher lebih jauh…
Kemarin kita dah kenalan ma enkripsi, dah tau apa itu cipher, dan lain-lain sekarang kita akan coba mengenal lebih jauh tentang salah satu algoritma enkripsi yang cukup terkenal, yaitu caesar cipher. Caesar cipher sering juga disebut dengan shift cipher, karena dasar dari algoritma ini adalah dengan menggeser beberapa karakter dari plaintext (mirip dengan studi kasus yang di postingan kemarin)
Dalam cipher ini, akan kita temui nilai key (kunci) sebagai pemecahan dari algoritmanya. Key ini bernilai integer yang menyatakan jumlah pergeseran karakternya.
Misal:
Key = 0
Key = 3
Plaintext ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ
Ciphertext ABCDEFGHIJKLMNOPQRSTUVWXYZ DEFGHIJKLMNOPQRSTUVWXYZABC
Untuk gambaran umumnya adalah seperti ini:
Dari gambar diatas, dapat diambil rumus untuk enkripsinya adalah sebagai berikut:
E(x) = (x+key) mod 25
NB: kita ambil nilai mod 25, bukan mod 26 karena kita akan memulai index karakter dari 0.
Dengan penjelasan bahwa nilai A = 0, B = 1, C = 2, … , Z = 25.
Untuk contoh enkripsinya adalah seperti ini:
Misal kita ada kata-kata “informatika” akan kita enkripsi menggunakan caesar cipher dengan key 4, maka:Plaintext I N F O R M A T I K A
Index 8 13 5 14 17 12 0 19 8 10 0
Index + key (4) mod 25 12 17 9 18 21 16 4 23 12 14 4
Ciphertext M R J S V Q E X M O E
berarti kata “informatika” akan diubah menjadi “mrjsvqexmoe” jika kita menggunakan caesar cipher dengan key = 4.
Kemudian bagaimana dengan dekripsinya??
Untuk melakukan dekripsi dari caesar cipher, kita harus melakukan pembalikan rumus enkripsinya:
Dari
E(x) = (x+key) mod 25
menjadi
D(x) = (x-key) mod 25
NB: untuk kasus-kasus yang menjadikan nilai D(x) kurang dari 0, akan kita tambahkan 25 agar dia menjadi positif.
Sehingga jika ada kata-kata “mrjsvqexmoe” yang dienkripsi menggunakan caesar cipher dengan key = 4, maka tabel penyelesaiannya adalah seperti ini:Ciphertext M R J S V Q E X M O E
Index 12 17 9 18 21 16 4 23 12 14 4
Index – key (4) mod 25 8 13 5 14 17 12 0 19 8 10 0
Ciphertext I N F O R M A T I K A
Jadi hasil dekripsi “mrjsvqexmoe” akan menghasilkan kata-kata “informatika”.
Mungkin itu saja penjelasan singkat tentang caesar cipher, untuk cipher – cipher yang lain, di tunggu saja di postingan berikutnya! Semoga bermanfaat!
NB: Untuk penjelasan dasar tentang enkripsi dan istilah – istilah yang ada dalam dunia kriptografi, bisa liat postingan kemarin, hehe
Share
var button = document.getElementById(’facebook_share_link’) || document.getElementById(’facebook_share_icon’) || document.getElementById(’facebook_share_both’) || document.getElementById(’facebook_share_button’);
if (button) {
button.onclick = function(e) {
var url = this.href.replace(/share\.php/, ’sharer.php’);
window.open(url,’sharer’,'toolbar=0,status=0,width=626,height=436′);
return false;
}
if (button.id === ‘facebook_share_button’) {
button.onmouseover = function(){
this.style.color=’#fff’;
this.style.borderColor = ‘#295582′;
this.style.backgroundColor = ‘#3b5998′;
}
button.onmouseout = function(){
this.style.color = ‘#3b5998′;
this.style.borderColor = ‘#d8dfea’;
this.style.backgroundColor = ‘#fff’;
}
}
}
Kemarin kita dah kenalan ma enkripsi, dah tau apa itu cipher, dan lain-lain sekarang kita akan coba mengenal lebih jauh tentang salah satu algoritma enkripsi yang cukup terkenal, yaitu caesar cipher. Caesar cipher sering juga disebut dengan shift cipher, karena dasar dari algoritma ini adalah dengan menggeser beberapa karakter dari plaintext (mirip dengan studi kasus yang di postingan kemarin)
Dalam cipher ini, akan kita temui nilai key (kunci) sebagai pemecahan dari algoritmanya. Key ini bernilai integer yang menyatakan jumlah pergeseran karakternya.
Misal:
Key = 0
Key = 3
Plaintext ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ
Ciphertext ABCDEFGHIJKLMNOPQRSTUVWXYZ DEFGHIJKLMNOPQRSTUVWXYZABC
Untuk gambaran umumnya adalah seperti ini:
Dari gambar diatas, dapat diambil rumus untuk enkripsinya adalah sebagai berikut:
E(x) = (x+key) mod 25
NB: kita ambil nilai mod 25, bukan mod 26 karena kita akan memulai index karakter dari 0.
Dengan penjelasan bahwa nilai A = 0, B = 1, C = 2, … , Z = 25.
Untuk contoh enkripsinya adalah seperti ini:
Misal kita ada kata-kata “informatika” akan kita enkripsi menggunakan caesar cipher dengan key 4, maka:Plaintext I N F O R M A T I K A
Index 8 13 5 14 17 12 0 19 8 10 0
Index + key (4) mod 25 12 17 9 18 21 16 4 23 12 14 4
Ciphertext M R J S V Q E X M O E
berarti kata “informatika” akan diubah menjadi “mrjsvqexmoe” jika kita menggunakan caesar cipher dengan key = 4.
Kemudian bagaimana dengan dekripsinya??
Untuk melakukan dekripsi dari caesar cipher, kita harus melakukan pembalikan rumus enkripsinya:
Dari
E(x) = (x+key) mod 25
menjadi
D(x) = (x-key) mod 25
NB: untuk kasus-kasus yang menjadikan nilai D(x) kurang dari 0, akan kita tambahkan 25 agar dia menjadi positif.
Sehingga jika ada kata-kata “mrjsvqexmoe” yang dienkripsi menggunakan caesar cipher dengan key = 4, maka tabel penyelesaiannya adalah seperti ini:Ciphertext M R J S V Q E X M O E
Index 12 17 9 18 21 16 4 23 12 14 4
Index – key (4) mod 25 8 13 5 14 17 12 0 19 8 10 0
Ciphertext I N F O R M A T I K A
Jadi hasil dekripsi “mrjsvqexmoe” akan menghasilkan kata-kata “informatika”.
Mungkin itu saja penjelasan singkat tentang caesar cipher, untuk cipher – cipher yang lain, di tunggu saja di postingan berikutnya! Semoga bermanfaat!
NB: Untuk penjelasan dasar tentang enkripsi dan istilah – istilah yang ada dalam dunia kriptografi, bisa liat postingan kemarin, hehe
Share
var button = document.getElementById(’facebook_share_link’) || document.getElementById(’facebook_share_icon’) || document.getElementById(’facebook_share_both’) || document.getElementById(’facebook_share_button’);
if (button) {
button.onclick = function(e) {
var url = this.href.replace(/share\.php/, ’sharer.php’);
window.open(url,’sharer’,'toolbar=0,status=0,width=626,height=436′);
return false;
}
if (button.id === ‘facebook_share_button’) {
button.onmouseover = function(){
this.style.color=’#fff’;
this.style.borderColor = ‘#295582′;
this.style.backgroundColor = ‘#3b5998′;
}
button.onmouseout = function(){
this.style.color = ‘#3b5998′;
this.style.borderColor = ‘#d8dfea’;
this.style.backgroundColor = ‘#fff’;
}
}
}
Comentários:
Post a Comment