Anda di halaman 1dari 8

Sandi Caesar

Contoh paling simpelnya sandi substitusi adalah sandi Caesar. Sandi Caesar adalah sandi substitusi yang
menggunakan kunci yang panjangnya 1 karakter doang (karakter diambil dari alfabet). Biasanya, para pihak yang
terlibat udah sepakat dan sama2 tau kalo mereka bakal pake Sandi Caesar dengan kunci karakter tertentu untuk
bertukar pesan rahasia.

Pengirim pesan: punya pesan asli, tau kunci, tau pake Sandi Caesar. Dia gunain untuk menghasilkan sandi rahasia.
Penerima pesan: tau kunci, tau pake Sandi Caesar, tau sandi rahasia. Dia gunain buat memecahkan sandi rahasia
untuk mendapatkan pesan asli.

Indeks Urutan Alfabet

Alfabet yang dipakai untuk merangkai pesan (plaintext) diberi indeks nomor seperti gambar di atas. Karakter yang
dipake sebagai kunci juga diambil dari alfabet. Kunci ini bakal "ditambahin" atau buat "menggeser" karakter pesan asli
untuk membentuk sandi. Kalau ketika ditambahkan atau digeser menghasilkan indeks lebih dari 25, urutan indeks
bakal balik lagi ke 0. Dari Z mentok, balik lagi ke A. Langsung aja ke contoh, ya.

Misalnya, kita mau tulis ZENIUS dengan kunci B. Huruf Z-E-N-I-U-S dalam urutan alfabetik adalah 25-4-13-8-20-18.
Kunci "B", nilai indeksnya 1. Dengan menambahkan kunci B (1) ke pesan kita, sandi yang terbentuk
jadinya ditambahin aja +1 atau geser ke kanan 1x semuanya, jadi seperti ini: 26-5-14-9-21-19. Lalu yang lebih dari
25, kita ulang ke 0. Berhubung yang yang lebih dari 25 cuma satu karakter, jadinya yang diubah karakter pertama itu
doang. Jadinya seperti ini: 0-5-14-9-21-19. Nah, dari indeks alfabet ini, kita ubah lagi ke dalam bentuk abjad, jadi sandi
yang kita dapet adalah AFOJVT.

Jadi, waktu gue kirim sandi rahasia bentuknya adalah AFOJVT menggunakan kunci yang gua gunakan adalah B (1),
kemudian oleh si penerima pesan, tinggal dikurangin indeksnya sama dia atau digeser ke kiri 1x, sandi tersebut
didekripsi dan dibaca menjadi ZENIUS.

Ngerti kan caranya? Ini masih tergolong sandi yang simpel banget.

Nah, kalo udah ngerti, coba pecahkan sandi rahasia yang gue kasih ya. Sandi rahasianya, ORUBKEUA. Pake kunci, G.
Tulis jawabannya di bagian komen ya..

Sandi Atbash
Sandi klasik lain contohnya adalah sandi Atbash. Sandi Atbash ini menukar urutan huruf yang dari depan ke belakang
jadi belakang ke depan seperti di bawah ini:

Pesan: ABCDEFGHIJKLMNOPQRSTUVWXYZ

Sandi: ZYXWVUTSRQPONMLKJIHGFEDCBA

Dengan menggunakan sandi Atbash, pesan ZENIUS akan menjadi sandi AVMRFH. Si penerima pesan, tinggal tukar
balik aja tuh urutan hurufnya. Nama Atbash ini sendiri berasal dari penggunaan pertamanya dalam huruf Yahudi,
yaitu Aleph-Tav-Beth-Shin, huruf pertama, terakhir, kedua, dan kedua sebelum terakhir dalam bahasa Yahudi. Kalau
dalam huruf latin namanya kurang lebih akan jadi Azby. Jadi nama dari sandi ini sendiri, menggambarkan
mekanismenya, lucu yah?

Kalo nama gue disandiin pake Sandi Atbash, IVAN WASKITA --> REZM DZHPRGZ. Kalo nama lo gimana?

Sandi Polialfabet

Sandi substitusi ada juga yang kuncinya lebih dari 1 karakter, biasa disebut sebagai sandi polialfabet. Yang paling
umum adalah sandi Vigenere. Tekniknya sama aja kayak Sandi Caesar, bedanya, kuncinya aja lebih dari 1 karakter.
Berarti kita masih bisa memanfaatkan indeks urutan alfabet yang kita gunakan untuk Sandi Caesar sebelumnya.

Langsung ke contoh penggunaannya. Kita mau tulis pesan ZENIUS dengan kunci 3 huruf UAN. Caranya sama aja kayak
Sandi Caesar, tinggal lo tambahin aja indeks nomornya. Berhubung kuncinya (UAN) terdiri dari 3 karakter, sedangkan
pesannya (ZENIUS) terdiri dari 6 karakter, kita bisa ngulangin kuncinya sehingga panjang karaktern kunci = panjang
karakter pesan --> UANUAN. Ini berlaku untuk semua case, di mana panjang karakter kunci tidak sama dengan
panjang karakter pesan. Tinggal lo ulangi aja karakter kunci. Misal, pesan = IVANWASKITA (11 karakter), kunci = UNYU
(4 karakter). Tinggal lo ulang aja karakter kuncinya jadi 11 karakter --> UNYUUNYUUNY.

Jadi, kalo gua kirim sandi


polialfabet TEACUF dengan formula kunci UANUAN, maka sang penerima bisa membaca pesan tersebut sebagai
ZENIUS. Segini doang sih, masih gampang dimengerti lah, ya?

Oke, last challenge nih, ya. Menggunakan Sandi Vigenere, coba pecahkan sandi rahasia ini: "Riyigssonv msmhrzu"
dengan kunci "zenius". Selamat utak-atik :p

Sandi Berlapis
Untuk memperkuat sandi, pesan rahasia militer melakukan sandi beruntun, misalnya setelah kita lakukan Atbash ke
kata ZENIUS menjadi AVMRFH, kita sandikan lagi dengan sandi polialfabet 3 huruf UAN menjadi UVZLFU. Nah lho,
sandinya emang sama-sama ngga bisa dibaca, tapi buat orang yang gak tau kuncinya, akan jauh lebih susah untuk
dapetin PESAN ASLI-nya. Enigma sendiri juga make sandi beruntun polialfabet seperti ini nih, tapi bukan cuma 2, 3,
atau 4 lapis, tapi 9 LAPIS..!! Gila ya!? Makanya Enigma ini konon adalah mesin enkripsi yang tidak mungkin bisa
dipecahkan, saking rumitnya kunci yang digunakan. Selain itu, kunci yang digunakan oleh mesin ini juga berganti-ganti

terus dalam 24 jam. Kebayang gak tuh gimana caranya kalo pesan rahasia 9 lapis ini dicoba untuk dipecahkan secara
manual oleh otak manusia?

Nah, dengan kejeniusan seorang Alan Turing, dia akhirnya membuat sebuah mesin yang bisa mengkomputasi setiap
kode menjadi pesan dengan delay waktu hanya beberapa menit, gokil gak tuh?? Keren-nya lagi, mesin yang dia buat
ini akhirnya menjadi pelopor dari alat yang kita kenal sekarang sebagai KOMPUTER.

Okay, sekarang gua ajak lo semua buat sejenak menjadi seorang Alan Turing, kita sama-sama oprek kerumitan dari
mesin ENIGMA!

The Enigma
Enigma adalah mesin mekanikal dan elektrikal yang mengubah pesan menjadi sandi. Gambarannya seperti di bawah:

Bagian mekanik mesin Enigma


Kalau kita mau bikin sandi, yang kita perlu lakukan cuma ketik aja pesan kita huruf per huruf, terus catet "lampu yang
menunjukan karakter sandi" mana yang nyala di lampboard. Terus kalau kita mau translate kode balik ke
pesan rahasia kita, tinggal masukin kodenya terus catet lagi lampu-berhuruf mana yang nyala. Gampang kan? Cara
pakenya memang gampang, tapi bikin kodenya ternyata ngga sesimpel itu.

denah bagian dalam mesin enigma


Inilah gambaran sederhana ketika Enigma membuat kode berlapis. Pertama-tama ketika kita mengetik suatu pesan
melalui keyword, informasi tersbut bakal masuk ke yang namanya plugboard (1). Abis keluar dari plugboard, dia bakal
masuk ke rotor kanan (2), lalu ke rotor tengah (3), rotor kiri (4), reflector (5), balik masuk ke rotor kiri (6), tengah (7),
kanan (8), lalu masuk lagi ke plugboard (9). Setelah keluar dari plugboard, baru deh sinyal listriknya masuk ke papan
lampu, nyalain huruf mana yang akan jadi kodenya. Di masing-masing step itu, huruf yang kita masukin bakal diubah
jadi huruf lain, jadi Enigma itu sandi 9 tingkat!

Yuk kita bahas gimana ketiga part ini rotor, plugboard, reflector masing-masing mengubah sinyal huruf kita.

Plugboard
Plugboard di Enigma ini terdiri dari satu papan listrik yang isinya huruf sama colokan di masing-masing huruf. Nempel
di situ ada 10 pasang huruf yang dihubungin sama kabel yang dicolokin ke sana. Gunanya plugboard ini adalah
generate sandi level satu, mengubah huruf karakter yang di-input melalui keyboard jadi huruf lain (or not).
Contohnya:

ABCDEFGHIJKLMNOPQRSTUVWXYZ
EHSRAGFBZJKLMNORVPCXYWVTUI

plugboard memungkinkan
sistem pengacakan sandi dapat terus berganti secara fleksibel
Dalam contoh di atas, kita hubungin A sama E, B sama H, C sama S dan seterusnya. Di kode enigma standar Jerman,
bakal ada 6 huruf yang ngga berpasangan, dalam contoh kita tadi, J sampai O. Kalau kita ketik ZENIUS, yang keluar
dari plugboard ini adalah IANZYC. Karena hubungan kabel ini berpasangan dan ga berubah, kalau kita masukin
IANZYC ke dalem plugboard yang keluar kembali menjadi ZENIUS. Ngerti kan? Nah, itu baru lapis satu doang looh..

Rotor dan reflektor


Ada tiga rotor yang dipakai di Enigma, masing-masing di posisi kanan, tengah dan kiri. Masing-masing rotor ini
mengambil input huruf dari proses sebelumnya (berarti rotor kanan pertama mengambil input dari plugboard) lalu
mengubahnya jadi huruf lain dengan proses Caesar. Di ujung tiga rotor ini bakal adareflector yang juga akan ngubah
huruf yang dia dapet jadi huruf lain juga. Di bawah adalah kode rotor dan reflektor Enigma yang digunakan pasukan
Jerman:

Kode rotor

ABCDEFGHIJKLMNOPQRSTUVWXYZ

EKMFLGDQVZNTOWYHXUSPAIBRCJ

II

AJDKSIRUXBLHWTMCQGZNPYFVOE

III

BDFHJLCPRTXVZNYEIWGAKMUSQO

IV

ESOVPZJAYQUIRHXLNFTGKDCMWB

VZBRGITYUPSDNHLXAWMJQOFECK

VI

JPGVOUMFYQBENHZRDKASXLICTW

VII

NZJHGRCXMYSWBOUFAIVLPEKQDT

VIII

FKQHTLXOCBJSPDZRAMEWNIUYGV

Reflector A

EJMZALYXVBWFCRQUONTSPIKHGD

Reflector B

YRUHQSLDPXNGOKMIEBFZCWVJAT

Reflector C

FVPJIAOYEDRZXWGCTKUQSBNMHL

Nah, tabel di atas inilah kurang lebih penggambaran sistem acak kode berlapis. Kebayang kan lo gimana caranya
para cyptanalyst (ahli pemecah kode) dibuat keblinger karena ada 1,59 x 10^14 banyak kemungkinan yang harus
mereka pecahkan untuk setiap karakter huruf pesan rahasia yang dikirimkan?

Kalo lo perhatiin contoh gambar yang gue kasih di atas, tipe rotor itu semua ada 8, tapi di gambar itu yang dipake
cuma 3. Maksudnya apa? Maksudnya jika rotor yang dipake untuk pengiriman sandi itu diganti atau ditukar
tempatnya, seluruh mekanisme pengacakan sandinya jadi beda. Sehingga penerima pesan harus tau rotor mana aja
dan posisinya masing-masing yang dipake sama pengirim pesan. Terus, gimana caranya dong pasukan Jerman tau
kode satu sama lain? Ternyata, mereka terbitin edaran kaya gini nih setiap bulan:

surat edaran
pasukan Jerman untuk menyeragamkan settingan enigma dari hari ke hari
Dari tanggal 1 sampai 31, edaran ini ngasih tau semua operator Enigma rotor mana aja yang dipake dan posisinya (kiri
tengah kanan). Jadi Setiap kali mau nulis atau baca pesan, semua Enigma harus disetting seperti ini, supaya pesan
yang dikirim dan diterima sama.

Inilah kehebatan Jerman dalam memakai Enigma. Pertama, Enigmanya sendiri udah susah banget buat dibaca setiap
harinya. Kuncinya, yang dicetak dalam edaran kaya di atas, di refresh tiap sebulan sekali. Jadi kalau seandainya mesin
Enigma dan edaran itu direbut sama pihak sekutu, ya cuma bisa jalan buat sebulan, karena awal bulan depan udah
diganti lagi tuh kode. Ada lagi system Kenngruppen di edaran itu, yang dibuat untuk mengecoh pasukan
sekutu dengan membuat pesan asal-asalan yang banyak untuk menipu sang pemecah kode. Sekutu memang
kelabakan banget nih ngadepin kode Jerman yang susah banget dipecahin. Mereka harus bisa mecahin kode ini pagipagi setiap hari karena besoknya lagi kunci kodenya udah berubah sesuai dengan perubahan jenis rotor, posisi rotor,
dan pasangan-pasangan plugboard yang dipake.

Anda mungkin juga menyukai