A. Pengertian dan Sejarah Kriptografi
Kriptografi (cryptography) berasal dari bahasa Yunani yaitu cryptos artinya rahasia (secret) dan graphein artinya tulisan (writing). Jadi kriptografi berarti tulisan rahasia (secret writing). Kriptografi tidak hanya ilmu yang mempelajari teknik-teknik matematika yang berhubungan dengan aspek keamanan informasi seperti kerahasiaan, integritas data, nirpenyangkalan, otentikasi tetapi juga sekumpulan teknik yang berguna.
Kriptografi adalah ilmu dan seni untuk menjaga keamanan pesan
(Cryptography is the art and science of keeping messages secure)
Kata “seni” di dalam definisi di atas berasal dari fakta sejarah bahwa pada masa-masa awal sejarah kriptografi, setiap orang mungkin mempunyai cara yang unik untuk merahasiakan pesan. Cara-cara unik tersebut mungkin berbeda-beda pada setiap pelaku kriptografi sehingga setiap cara menulis pesan rahasia pesan mempunyai nilai estetika tersendiri sehingga kriptografi berkembang menjadi sebuah seni merahasiakan pesan (kata “graphy” di dalam “cryptography” itu sendiri sudah menyiratkan sebuah seni).
B. Pengertian dan Sejarah Mesin Enigma
Mesin Enigma adalah sebuah mesin penyandi yang digunakan untuk mengenkripsikan dan mendekripsikan pesan rahasia. Enigma dipatenkan oleh insinyur Jerman Arthur Scherbius, dan awalnya digunakan untuk tujuan komersial, namun nantinya terkenal karena digunakan oleh tentara dan pemerintah Jerman Nazi sebelum dan selama Perang Dunia II. Secara teknis, mesin Enigma termasuk keluarga mesin rotorelektromekanik, yang memiliki berbagai model. Nama Enigma diambil dari kata Latin aenigma, yang artinya teka-teki.
Versi Enigma yang paling terkenal adalah yang digunakan oleh Wehrmacht (tentara Jerman Nazi). Mesin ini, mulai digunakan oleh Nazi pada 1928, pada awalnya dianggap sebagai mesin kriptografi teraman di dunia, namun akhirnya dapat dipecahkan oleh pihak Sekutu, sehingga mesin ini justru merugikan pihak Nazi. Metode pemecahan (dekripsi) mesin ini pertama kali ditemukan di tahun 1932 oleh kriptografer Polandiadari Biuro Szyfrów (Kantor Sandi), Marian Rejewski, Jerzy Różycki dan Henryk Zygalski. Namun pada 1939 Jerman mendisain ulang Enigma sehingga metode tersebut tidak dapat digunakan lagi. Berkat informasi dari Polandia, akhirnya Britania dan Perancis berhasil membuat mesin pemecah Enigma baru ini, yang diberi nama bombe. Informasi yang didapat Sekutu dari pemecahan Enigma disebut ULTRA, yang terbukti amat penting bagi kemenangan Sekutu pada Perang Dunia II. Menurut para ahli, PD II berakhir dua tahun lebih cepat berkat pemecahan Enigma ini.
C. Desain dan Mekanisme Enigma
Desain enigma versi militer yang banyak dipakai oleh angkatan bersenjata Nazi terdiri dari bagian- bagian sebagai berikut :
Dengan bagian yang paling penting adalah rotor, karena rotorlah mekanisme utama dalam pengenkripsian yang dilakukan :
Adapun bagian-bagian dari rotor tersebut dengan penomoran sesuai dengan gambar di atas adalah :
1. nger notches,
2. alphabet ring,
3. shaft,
4. catch,
5. core containing cross-wirings,
6. spring loaded contacts,
7. discs,
8. carry notch.
D. Cara Kerja Enigma
Enkripsi yang dilakukan enigma sebenarnya adalah substitusi, di mana sebuah huruf digantikan dengan tepat sebuah huruf juga, hanya saja substitusi dilakukan beberapa kali. Dan walau hanya dengan substitusi, sebuah pesan akan sulit sekali didekripsi jika tidak dengan alat yang sama, dengan pengaturan posisi yang sama, tipe substitusi yang sama, dan kode kunci yang sama.
Dan semua substitusi tersebut dilakukan dengan wiring (sambungan listrik melalui kawat).
Arti dari wiring tersebut adalah jika misal A pada left rotor terhubung dengan D pada middle rotor, maka jika A pada left rotor teraliri listrik, maka D pada middle rotor akan teraliri listrik juga. Sedangkan secara sederhana cara kerja dari mekanisme wiring tersebut adalah wiring tersebut menunjukkan subsitusi dari tombol yang ditekan, yang dilakukan dengan cara memasang lampu. Jadi misal sesuai contoh di atas jika tombol / saklar A ditekan, maka lampu D akan menyala. Kemudian hal tersebut dilakukan ulang namun dengan mengganti rotor yang sedang digunakan. Kemudian dilakukan pergeseran pada rotor setiap kali ada tombol yang ditekan. Begitu seterusnya selama pesan diketik.
Dan dengan adanya reflector jalannya arus dapat dibalikkan dari right rotor ke left rotor, yang efeknya adalah kemungkinan yang meningkat 26 kali dari substitusi huruf. Relector ini menyebabkan Enigma tidak perlu mengubah state jika sedang ingin mengenkripsi sebuah pesan ataukah ingin mendekripsikannya. Namun Reflector ini menyebabkan kelemahan pada mesin Enigma ini, di mana terjadi resiprok, di mana jika misal huruf M dienkripsikan menjadi T, maka huruf T akan dienkripsikan menjadi huruf M pada rotor yang sama, dan sebuah huruf tidak akan mungkin bisa dienkripsi menjadi dirinya sendiri.
Sedangkan rotor untuk enigma ada beberapa, walaupun yang dapat dipakai dalah satu waktu pada satu enigma adalah 3 buarh saja, yang diberi nama L (left), M (middle), dan R (right). Sedangkan jenis-jenis rotor yang ada diberi nama rotor I, rotor II, rotor III, dan seterusnya. Di bawah ini adalah beberapa jenis rotor yang pernah digunakan oleh enigma :
Rotor ABCDEFGHIJKLMNOPQRSTUVWXYZ
I EKMFLGDQVZNTOWYHXUSPAIBRCJ
II AJDKSIRUXBLHWTMCQGZNPYFVOE
III BDFHJLCPRTXVZNYEIWGAKMUSQO
IV ESOVPZJAYQUIRHXLNFTGKDCMWB
V VZBRGITYUPSDNHLXAWMJQOFECK
VI JPGVOUMFYQBENHZRDKASXLICTW
VII NZJHGRCXMYSWBOUFAIVLPEKQDT
VIII FKQHTLXOCBJSPDZRAMEWNIUYGV
Pada setiap rotor tersebut dikenal adanya istilah Turnover, yaitu posisi di mana sebuah rotor mulai bergerak menggeser rotor di sampingnya. Rotor R akan selalu bergerak 1 huruf setiap kali tombol ditekan., dan jika turnover dari rotor R tersebut adalah S, maka rotor R tersebut akan menggeser rotor M sejauh 1 huruf jika sudah mencapai posisi turnovernya (posisi di huruf S). Setiap jenis rotor mempunyai turnover masing-masing. Adapun peran besar juga disumbangkan oleh plugboard. Plugboard sendiri adalah sebuah papan yang mengganti arus dari huruf awal ke huruf yang diinginkan dengan cara meneruskan arus tersebut dengan kabel. Seperti yang terlihat di Gambar 2, di situ terlihat bahwa huruf A dihubungkan dengan huruf J, dan huruf S dihubungkan dengan huruf Q, jadi semua A, akan menjadi J, dan sebaliknya demikian juga, semua huruf J akan berubah menjadi huruf A. Hal tersebut juga terjadi antara huruf S dan huruf Q.
Enkripsi Pada Enigma
Sebenarnya yang terjadi pada enigma pada sebuah enkripsi yang dia lakukan adalah sebuah permutasi panjang :
Dengan R adalah right rotor, M adalah middle rotor, L adalah left rotor, P adalah plugboard, dan U adalah reflector. Dan E adalah hasil enkripsinya. Dan semuanya itu ditentukan oleh ketetapan yang ditentukan Jerman berbeda-beda untuk setiap jaringan yang ada dan untuk setiap harinya. Dan kesemuanya itu ditentukan Jerman dengan cara memberikan sebuah buku sebagai
standar untuk masing-masing operator. Adapun hal-hal yang diatur adalah : pilihan rotor dan peletakan posisi dari rotor-rotor tersebut, pemilihan huruf awal dari setiap rotornya, posisi plug pada plugboard, dan tipe reflector yang digunakan.
Misal pada suatu hari standar yang disebarkan oleh kurir-kurir Jerman ke setiap operator enigma mereka adalah sebagai berikut
25
I III V
B M X
DM OA MR IS NE IL KI UN
Maka kode tersebut dikeluarkan pada tanggal 30 pada bulan itu, kemudian rotor yang digunakan untuk left rotor adalah I, untuk middle rotor adalah III, dan kemudian untuk right rotor adalah V. Dan baris berikutnya adalah posisi awal untuk masing-masing rotor, jadi B adalah posisi awal dari rotor I, M adalah posisi awal dari rotor kemudian baris terakhir menentukan huruf-huruf apa saja yang perlu disambungkan pada plugboard. Jadi untuk contoh ini huruf D dihubungkan dengan M, huruf O disambungkan dengan A, dan seterusnya.
E. Pemecahan Kode Mesin Enigma
Kode hasil enkripsi mesin enigma yang telah serumit itu dan bahkan diklaim oleh Jerman tidak mungkin dipecahkan tersebut ternyata tetap saja mempunyai kelemahan-kelemahan yang pada akhirnya berakhir pada terpecahkannya kode enkripsi tersebut oleh pihak musuh.
Kelemahan tersebut antara lain :
1. Fakta bahwa sebuah huruf tidak dapat dipetakan ke huruf itu sendiri, contohnya misal huruf ‘A’ sebagai input tidak mungkin menghasilkan huruf ‘A’ juga; sebagai output.
2. Operator harus melakukan setting untuk mendapatkan initial value. Di mana di kasus- kasus tertentu, hal tersebut dapat terprediksi, dan kesalahan yang umum dilakukan oleh operator-operator tersebut adalah dalam memilih nilai yang dapat dengan mudah diprediksi sebagai initial value.
3. Penyandian bersifat resiprok, jadi bila huruf ‘A’ disandikan menjadi huruf ‘Z’, maka huruf ‘Z’ akan disandikan menjadi huruf ‘A’.
4. Kunci pesan dikirimkan 2 kali.
5. Posisi turnover pada setiap rotor unik, sehingga memungkinkan untuk ditebak rotor mana saya yang digunakan.
· Metode Permutasi Marian Rejewski
Marian Rejewksi adalah seorang matematikawan asal Polandia yang memang ditugaskan untuk memecahkan kode enigma. Saat itu Rejewski bisa mendapatkan pesan-pesan terenkripsi Jerman dengan menyadap sinyal komunikasi radio tentara Jerman. Sampai akhirnya dia berhasil mendapatkan 6 buah pesan terenkripsi pada hari yang berbeda. Dan dapat disusun dalam persamaan permutasi sebagai berikut :
Dengan S adalah permutasi yang berasal dari plugboard, H adalah permutasi yang berasal dari hubungan antara socket pada plugboard dengan mesin, T adalah permutasi rotor, dan kemudian yang terakhir, Q adalah permutasi sederhana
yang memetakan sebuah huruf menjadi huruf berikutnya. Persamaan yang terdiri dari 6 persamaan dan 4 buah permutasi yang tidak diketahui tersebut tidak dapat terpecahkan, sampai pada saatnya Rejewksi berhasil mendapat bantuan berupa tabel kunci harian untuk bulan September dan Oktober 1932. Yang kemudian memberi petunjuk pada Rejewksi dalam memecahkan kode enigma.
· Metode Grill
Metode ini adalah metode yang merupakan kelangsungan dari penemuan Rejewski. Yang mendekripsi pesan berdasarkan persamaan permutasi yang telah ditemukan oleh oleh Rejewski, dan akhirnya dengan mengetahui kebiasaan bahwa 3 huruf pertama kunci biasanya diset berjauhan oleh operator, akhirnya keenam persamaan permutasi tersebut dapat terpecahkan. Adapun urutan dari hal-hal yang dapat
dipecahkan oleh Metode ini adalah pilihan roda
kanan, kombinasi dari plugboard, baru kemudian posisi dari roda tengah dan kiri. Yang kesemuanya ini didapatkan dari percobaan ribuan kalo yang dilakukan untuk memecahkan kode enigma ini.
· Metode Lembar Berlubang Zygalski
Metode ini berdasar fakta bahwa dari semua kemungkinan posisi rotor, 40% pasti permutasi AD. Yang kemudian berkahir dengan ditemukannya posisi roda pada setiap siklus. Namun pada akhirnya metode ini tidak berhasil untuk digunakan, karena banyaknya waktu dan biaya yang dibutuhkan untuk membuat kertas berlubang untuk setiap kombinasi roda.
· Metode Katalog Karakteristik
Metode ini didasarkan pada fakta bahwa permutasi AD, BE, dan CF tidak ditentukan oleh kombinasi plugboard, dan hanya ditentukan oleh posisi-posisi roda rotor yang digunakan. Yang kemudian dapat dimodelkan dalah bentuk permutasi disjungtif :
. · Bombe
Alat yang dibuat oleh Alan Turing dari Inggris ini dirancang supaya walau Jerman mengubah standar operasi mereka, dengan teknik-teknik yang sudah ditemukan, tetap dapat memecahkan kode dari mesin enigma. Hal yang mendasari kerja bombe adalah sifat yang disebabkan oleh reflector pada mesin enigma, di mana terjadi enkripsi yang resiprok, yang kemudian berhasil diturunkan sehingga posisi dari roda-roda tersebut dapat ditebak dengan memperhitungkan hal tersebut, hanya saja waktu yang diperlukan cukup lama jika dilakukan secara manual seperto sebelum- sebelumnya. Maka dibuatlah bombe sebagai alat mekanik untuk mengotomatisasi pekerjaan tersebut.
Kesimpulan
Enigma adalah sebuah mesin enkripsi yang hanya menggunakan substitusi, namun karena dilakukan dalam sebuah rangkaian dan dengan bermacam-macam cara setiap substitusi dilakukan, maka enkripsi yang dihasilkan sangatlah bagus, bahkan sampe pihak Jerman waktu itu meyakini bahwa kode tersebut tidak mungkin dipecahkan oleh siapapun. Dan akhirnya kode tersebut dapat dipecahkan, walaupun dengan memakan waktu yang sangat lama dan usaha yang luar biasa. Jadi dapat disimpulkan bahwa semua teknik enkripsi dapat dikuak, dan kode hasil enkripsi tentu saja dapat dipecahkan. Tidak ada kode enkripsi yang tidak dapat dipecahkan.