Caesar Cipher, Teknik Menyembunyikan Pesan Taktik Perang era Kekaisaran Romawi

Pernahkan kita berpikir, sebelum adanya komputer bagaimana pesan terlebih sebuah konsep taktik perang dapat dipercaya kerahasiaan pesan tersebut? Atau bahkan ketika sudah ditemukan komputer, namun kita belum menyadari bahwa pesan di era saat ini seperti pesan instant, daftar riwayat kesehatan, data akun rekening nasabah bank, hingga suara dan gambar yang kita kirim melalui transmisi jaringan internet apakah dapat dipercaya akan diterima oleh pihak yang berhak membukanya?

Baca juga: Sang Pemecah Sandi Enigma

Oke kita sekarang terbang ke masa lalu sekitar abad pertama Masehi, dimana kaisar Romawi pada saat itu adalah Julius Caesar. Pada abad pertama Masehi orang-orang Romawi sudah menggunakan matematika yang dikembangkan di Yunani [1]. Julius Caesar ingin berkomunikasi mengenai pesan penting yang aman dengan ekspedisi militernya melalui jenderal perang saat itu, ialah Mark Anthony.

Gambar 1. Vercingetorix throws down his arms at the feet of Julius Caesar [2]

Diciptakanlah sebuah algoritme atau metode efektif untuk menyandikan sebuah pesan. Cipher atau sandi itu dinamai Caesar Cipher, dinamakan seperti itu untuk menghormati pembuat algoritme ini, ialah Julius Caesar yang menurut Suetonius yang merupakan penulis sejarah Romawi, digunakan untuk mengenkripsi atau menyandikan pesan militer dan resmi lainnya. Karena mayoritas musuh Roma buta huruf pada era ini, sandi tetap aman untuk sementara waktu. Pada abad ke 9 Masehi, setelah jatuhnya Roma, terdapat catatan rekaman metode untuk memecahkan Caesar Cipher dengan menggunakan analisis frekuensi dari Al-Kindi [3].

Kriptografi

Sebelum kita bahas sederhana cara kerja algoritme Caesar Cipher, kita akan berkenalan dengan seni yang masih relevant hingga saat ini, yaitu seni kriptografi. Kriptografi adalah sebuah seni dan sains untuk menjaga keamanan sebuah pesan [4]. Setelah kita mengetahui definisi dari kriptografi, kita akan menjabarkan beberapa terminologi dasar dalam dunia kriptografi.

Terminologi atau istilah dasar pertama adalah message/plaintext  yang merupakan pesan yang akan dikirim dan pesan ini harus dipercaya keamanannya sehingga penerima pesan ini adalah orang yang berhak menerimanya. Terminologi kedua adalah enkripsi, enkripsi merupakan teknik untuk menyandikan pesan (message/plaintext) sehingga pesan yang berada dalam perjalanan, bukan merupakan pesan yang sama dengan awal ditulis (message/plaintext). Lalu pesan apakah yang berada dalam perjalanan? Pesan itu bernama ciphertext, ciphertext adalah hasil dari sebuah enkripsi dan pesan rahasia inilah yang tidak sama dengan pesan awal si pengirim pesan.

Kalau pesan yang berada dalam perjalanan (ciphertext) adalah pesan yang tidak sama dengan pesan awal pengirim (message/plaintext), bagaimana penerima dapat membaca pesan utuh si pengirim? Dibutuhkanlah sebuah kunci atau key untuk mengungkap pesan rahasia (ciphertext) tersebut. Proses mengembalikan pesan rahasia (ciphertext) menjadi pesan utuh (message/plaintext) dinamakan proses dekripsi. Kembali pada istilah kunci/key, kunci digunakan dalam Caesar Cipher harus sama (simetris) antara pengirim pesan dengan penerima pesan yang digunakan dalam enkripsi dan dekripsi pesan. Disini penulis tidak akan membahas lebih lanjut tentang jenis-jenis kuncinya, algoritme kriptografi lainnya, dan sebagainya tentang kriptografi lebih luas.

Gambar 2. Model Enkripsi Simetris yang Sederhana [5]

Kunci untuk enkripsi dan dekripsi dalam Caesar Cipher harus dipastikan bahwa hanya pada yang berhak untuk memiliki kunci tersebut. Agar pesan (message/plaintext) dapat dipercaya keamanannya dan tidak diungkap atau dibongkar oleh “musuh” a.k.a pihak yang tidak memiliki hak membacanya. Sekarang kita berangkat ke langkah-langkah penyandian pesan dengan algoritme Caesar Cipher!

Caesar Cipher

Penggunaan sandi substitusi yang paling awal diketahui dan paling sederhana adalah oleh Julius Caesar. Caesar Cipher melibatkan mengganti (subtitusi) setiap huruf alfabet dengan huruf berdiri tiga tempat lebih jauh ke bawah alphabet [5]. Dalam kriptografi, tidak mengenal cara menyandikan huruf dan angka desimal. Solusinya adalah mengubah huruf tersebut menjadi deretan bilangan bulat (integer). Misal huruf A menjadi angka 1, huruf B menjadi angka 2, dan seterusnya hingga huruf Z menjadi angka 26.

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26

Lanjut ke Caesar Cipher, sekarang kita akan mengenkripsi sebuah pesan. Bahan yang kita butuhkan adalah pesan (message/plaintext) dan kunci (key) untuk enkripsi. Huruf-huruf pada pesan akan digeser sebanyak nilai kunci (key). Penjelasannya sebagai berikut :

PESAN : a b c d e f g h i j k l m n o p q r s t u v w x y z
KUNCI : 1
CIPHERTEXT : B C D E F G H I J K L M N O P Q R S T U V W X Y Z A
PESAN : a b c d e f g h i j k l m n o p q r s t u v w x y z
KUNCI : 2
CIPHERTEXT : C D E F G H I J K L M N O P Q R S T U V W X Y Z A B
PESAN : a b c d e f g h i j k l m n o p q r s t u v w x y z
KUNCI : 3
CIPHERTEXT : D E F G H I J K L M N O P Q R S T U V W X Y Z A B C

Misal jika pesan adalah “WARSTEK” jika kuncinya adalah 1 dan di enkripsi, maka akan menghasilkan ciphertext “XBSTUFL” yang artinya W digeser 1 kali menjadi X, A digeser 1 kali menjadi B, dan seterusnya. Jika kita ubah dari huruf menjadi bilangan bulat, maka penjelasannya sebagai berikut :

Baca juga:
PESAN W A R S T E K
PESAN (INTEGER) 23 1 18 19 20 5 11
KUNCI 1
PESAN (INTEGER) 24 2 19 20 21 6 12
CIPHERTEXT X B S T U F L

Dalam perjalanan maka ciphertext “XBSTUFL” inilah yang dilihat oleh “musuh” bukan pesan “WARSTEK”. Ketika pesan sudah sampai pada penerima pesan yang berhak, maka penerima pesan sudah memiliki kunci untuk mengembalikan ciphertext menjadi pesan yang semula. Jika pengirim memiliki kunci bernilai 1, maka pengirim akan menggeser kedepan urutan huruf pesan. Atau jika dalam bilangan bulat, maka ditambah sebesar 1 satuan. Untuk dekripsi melakukan sebaliknya, jika penerima memiliki kunci bernilai 1, maka penerima akan menggeser kebelakang urutan huruf pesan. Atau jika dalam bilangan bulat, maka dikurang sebesar 1 satuan.

CIPHERTEXT X B S T U F L
PESAN (INTEGER) 24 2 19 20 21 6 12
KUNCI 1
PESAN (INTEGER) 23 1 18 19 20 5 11
PESAN W A R S T E K

Caesar Cipher

Dapat dilihat bahwa terdapat kemungkinan atau probabilitas satu huruf pada pesan dapat dipecahkan dengan mencoba 25 kunci yang mungkin secara bergantian. Istilah terakhir adalah Cryptanalysis, Cryptanalyst dan Brute-force. Cryptanalysis adalah ilmu untuk memecahkan ciphertext menjadi plaintext dengan tidak melalui cara yang semestinya, sedangkan orang yang menguasai ilmu ini disebut Cryptanalyst. Cryptanalyst dapat mengungkap pesan pengirim tanpa memerlukan kunci sama sekali, dengan metode Brute-force. Brute-force dalam konteks Caesar Cipher adalah metode penyerangan dengan mencoba kunci secara bergantian hingga ditemukan pesan yang di duga merupakan pesan utuh (message/plaintext) pengirim. Berikut adalah Brute-Force Cryptanalysis pada Caesar Cipher:

KEY XBSTUFL
1 WARSTEK
2 VZQRSDJ
3 UYPQRCI
4 TXOPQBH
5 SWNOPAG
6 RVMNOZF
7 QULMNYE
8 PTKLMXD
9 OSJKLWC
10 NRIJKVB
11 MQHIJUA
12 LPGHITZ
13 KOFGHSY
14 JNEFGRX
15 IMDEFQW
16 HLCDEPV
17 GKBCDOU
18 FJABCNT
19 EIZABMS
20 DHYZALR
21 CGXYZKQ
22 BFWXYJP
23 AEVWXIO
24 ZDUVWHN
25 YCTUVGM

Dapat dilihat bahwa dari 25 kunci yang diuji, kunci bernilai 1 yang diduga merupakan kunci antara pengirim dan penerima karena plaintext yang dihasilkan berhubungan dengan latar belakang pengirim/penerima, merupakan kata yang mainstream dalam suatu Bahasa, dan sebagainya. Algoritme ini tetap digunakan oleh beberapa pihak hingga saat ini, dengan pertimbangan lebih mengutamakan kecepatan di enkripsi-dekripsi dibanding keamanan pesan tersebut.

Referensi

[1] G. O’Regan, A Brief History of Computing, Mallow: Springer, 2008.
[2] “Caesar Cipher,” 101computing.net, 21 Januari 2017. [Online]. Available: https://www.101computing.net/caesar-cipher/. [Diakses Pada Tanggal 14 Oktober 2019].
[3] C. McFadden, “11 Cryptographic Methods That Marked History: From the Caesar Cipher to Enigma Code and Beyond,” Interesting Engineering, 3 Juli 2018. [Online]. Available: https://interestingengineering.com/11-cryptographic-methods-that-marked-history-from-the-caesar-cipher-to-enigma-code-and-beyond. [Diakses pada tanggal 14 Oktober 2019].
[4] M. I. Dwi R., “Perbandingan Kriptografi Klasik (Caesar Cipher) dan Kriptografi Modern (MD5),” Research Gate, 2016.
[5] W. Stallings, Cryptography and Network Security Principles and Practice, London: Pearson Education Limited, 2017.

Firza Nur Hibatullah

Mahasiswa S1 Teknik Informatika Universitas Brawijaya, menekuni bidang Komputasi Berbasis Jaringan. Mempunyai ketertarikan dengan Matematika, Internet of Things, Keamanan Jaringan Komputer, Kriptografi dan sebagainya. Ketahui lebih saya di instagram.com/firza.nh
Firza Nur Hibatullah

Latest posts by Firza Nur Hibatullah (see all)

Artikel Berhubungan:

Sponsor Warstek.com:

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *