Kemajuan
teknologi di bidang komputer memungkinkan ribuan orang dan komputer di
seluruh duniaterhubung dalam satu dunia maya yang dikenal sebagai
cyberspace atau Internet. Begitu juga ratusan organisasi seperti
perusahaan, lembaga negara, lembaga keuangan, militer dan
sebagainya.Tetapi sayangnya, kemajuan teknologi selalu diikuti dengan
sisi buruk dari teknologi itu sendiri. Salah satunyaadalah rawannya
keamanan data sehingga menimbulkan tantangan dan tuntutan akan
tersedianya suatusistem pengamanan data yang sama canggihnya dengan
kemajuan teknologi komputer itu sendiri. Ini adalah latar belakang
berkembangnya sistem keamanan data untuk melindungi data yang
ditransmisikan melalui suatu jaringan komunikasi.
Ada beberapa cara melakukan pengamanan data yang melalui suatu
saluran, salah satu diantaranya adalah kriptografi. Dalam kriptografi,
data yang dikirimkan melalui jaringan akan disamarkan sedemikian rupa
sehingga kalaupun data itu bisa dibaca maka tidak bisa dimengerti oleh
pihak yang tidak berhak. Data yang akan dikirimkan dan belum mengalami
penyandian dikenal dengan isitilah plaintext, dan setelah disamarkan
dengan suatu cara penyandian, maka plaintext ini akan berubah menjadi
ciphertext.
Kriptografi mempunyai sejarah yang panjang, mulai dari kriptografi
Caesar yang berkembang pada zaman sebelum Masehi sampai kriptografi
modern yang digunakan dalam komunikasi antar komputer di abad 20. Kata
kriptografi sendiri berasal dari bahasa Yunani, yaitu kryptós yang
berarti tersembunyi, dan gráphein yang berarti menulis. Jadi Kriptografi
berarti penulisan rahasia. Ada dua cara yang paling dasar pada
kriptografi klasik. Yang pertama adalah transposisi.
Transposisi adalah mengubah susunan huruf pada plaintext sehingga
urutannya berubah. Contoh yang paling sederhana adalah mengubah suatu
kalimat dengan menuliskan setiap kata secara terbalik.
Cara kedua adalah cara substitusi yaitu setiap huruf pada plaintext
akan digantikan dengan huruf lain berdasarkan suatu cara atau rumus
tertentu.
Ada dua macam substitusi yaitu polyalphabetic substitution cipher dan
monoalphabetic substitution cipher. Pada polyalphabetic substitution
cipher, enkripsi terhadap satu huruf yang sama bisa menghasilkan huruf
yang berbeda sehingga lebih sulit untuk menemukan pola enkripsinya.
Pada monoalphabetic substitution cipher maka satu huruf tertentu pasti
akan berubah menjadi huruf tertentu yang lain, sehingga pola enkripsinya
lebih mudah diketahui, karena satu huruf pada ciphertext pasti
merepresentasikan satu huruf pada plaintext.
Salah satu contoh cara substitusi adalah dengan dengan pergeseran
huruf. Kita lihat pada gambar 4, urutan abjad ABCD…….Z bisa digeser
sebanyak 1 huruf sehingga huruf A akan menjadi B, B akan menjadi C dan
seterusnya. Pergeserannya bisa dibuat lebih banyak yaitu 2 huruf
sehingga huruf A akan menjadi C, B akan menjadi D dan seterusnya.
Pergeseran bisa lebih banyak lagi tergantung bagaimana kita
merumuskannya. Cara pergeseran ini termasuk monoalphabetic substitution
cipher di mana satu huruf pasti akan berubah menjadi huruf tertentu yang
lain. Karena relasi antara huruf plaintext dan huruf ciphertext
satu-satu, yang artinya suatu huruf plaintext pasti menjadi suatu huruf
ciphertext tertentu, maka cara monoalphabetic substitution cipher sangat
mudah dipecahkan.
Pada masa itu, sekitar tahun 1500-an atau 1600-an, kriptografi klasik
seperti ini dianggap sudah cukup aman, karena belum banyak orang yang
bisa menulis atau membaca. Kriptografi dilakukan terhadap huruf-huruf
yang membentuk plaintext, mengubahnya dalam huruf lain kemudian
dikirimkan ke pada penerimanya. Penerima harus mengetahui cara
menyamarkan berita agar bisa mendapatkan berita aslinya kembali.
Artikel tentang kriptografi klasik ini dibuat sebagai pengenalan
terhadap kriptografi yang akan dipublikasikan pada artikel berikutnya
yaitu kriptografi modern. Kriptografi modern banyak digunakan dalam
pengiriman informasi melalui Internet. Kriptografi modern berkembang
bersamaan dengan berkembangnya teknologi komputer dan teknologi
jaringan.
Seperti sudah dikatakan sebelumnya, pada kriptografi klasik, dua cara
digunakan yaitu transposisi dan substitusi. Pada kriptografi modern,
digunakan algoritma matematika yang juga pada akhirnya akan menyebabkan
terjadinya transposisi dan substitusi pada plaintext sama seperti pada
kriptografi klasik.. Hanya bedanya, transposisi dan substitusi huruf
pada kriptografi modern dilakukan dengan bantuan komputer menggunakan
algoritma matematika yang cukup rumit. Prinsip dasar dari kedua
kriptografi sama yaitu melakukan transposisi dan substitusi pada
huruf-huruf plaintextnya untuk menghasilkan suatu ciphertext.
Kriptografi Caesar
Salah satu kriptografi yang paling tua dan paling sederhana adalah kriptogtafi Caesar [KAHN96].
Menurut sejarah, ini adalah cara Julius Caesar mengirimkan surat cinta kepada kekasihnya Cleopatra.
Dalam kriptografi Caesar, maka setiap huruf akan dituliskan dalam huruf
lain hasil pergeseran 3 buah huruf. Kriptografi Caesar ini adalah
kriptografi substitusi karena setiap huruf akan digantikan huruf lain.
Sebagai contoh, huruf A akan digeser 3 huruf menjadi huruf D, B akan
digeser 3 huruf menjadi E, J akan digeser menjadi M, O akan menjadi R
dan seterusnya. Pergeseran ini juga berputar kembali ke awal abjad
sehingga sesudah huruf Z diikuti kembali oleh huruf A. Kriptografi
Caesar ini dikenal sebagai monoalphabetic substitution cipher karena
satu huruf tertentu pasti akan berubah menjadi huruf tertentu yang lain.
Perubahan pada kriptografi Caesar bisa dituliskan sebagai berikut:
Jika Caesar akan menuliskan kalimat ‘I LOVE YOU’ maka akan dituliskan dalam kalimat ‘L ORYH
BRX‘.
Jika kita memberi nomor ke pada huruf-huruf abjad dan kita mulai dengan huruf A=0, B=1, C=2 dstnya
sampai dengan Z=25, maka kriptografi Caesar memenuhi rumus
C = (P + 3)
mod 26,
di mana C adalah nomor abjad ciphertext, P adalah nomor abjad plaintext .
Dan dekripsinya adalah
P = (C – 3)
mod 26.
Kripotogtafi Caesar ini kemudian berkembang di mana pergeseran tidak
hanya 3 huruf tetapi ditentukan oleh suatu kunci yang adalah suatu
huruf. Huruf ini yang menentukan pergeseran dari huruf pada plaintext.
Jika kunci adalah A maka pergeseran adalah 0, B pergeseran adalah 1, C 2
dan seterusnya.
Rumus di atas tetap berlaku tetapi pergeseran huruf ditentukan oleh
nilai pergeseran k dan bisa berubah-ubah sesuai kunci yang digunakan.
Ada dua macam substitusi pada kriptografi klasik yaitu polyalphabetic
substitution cipher dan monoalphabetic substitution cipher. Pada
polyalphabetic substitution cipher, enkripsi terhadap satu huruf yang
sama bisa menghasilkan huruf yang berbeda sehingga lebih sulit untuk
menemukan pola enkripsinya, contohnya pada kriptografi Vigenere yang
akan diterangkan kemudian.
Pada monoalphabetic substitution cipher maka satu huruf tertentu pasti
akan berubah menjadi huruf tertentu yang lain, sehingga pola enkripsinya
lebih mudah diketahui, karena satu huruf pada ciphertext pasti
merepresentasikan satu huruf pada plaintext. Contoh monoalphabetic
subsitution cipher adalah kriptografi Caesar.
Salah satu cara untuk bisa memecahkan penyandian dengan cara
monoalphabetic subsitution cipher adalah dengan melakukan analisa
frekwensi munculnya huruf dalam suatu bahasa. Berapa sering suatu huruf
muncul dalam suatu bahasa tertentu bisa memberi petunjuk huruf-huruf
yang muncul pada ciphertext asal diketahui plaintext yang digunakan
berbahasa apa. Agar diperoleh pendekatan yang maksimal, maka sebaiknya
dilakukan terhadap ciphertext yang cukup panjang, karena jika
plaintextnya terlalu pendek, maka tingkat ketelitiannya akan menjadi
rendah.
Di bawah ini dilakukan analisa terhadap kemungkinan munculnya huruf
dalam bahasa Indonesia. Dari 1000000 (satu juta) karakter, maka huruf
‘A’ menduduki peringkat tertinggi yaitu di atas 19%, huruf ‘N’ menduduki
peringkat kedua yaitu sekitar 10% dan huruf ‘I’ menduduki peringkat
selanjutnya yaitu 8%.
Jika kita melakukan kriptografi sustitusi dengan cara monoalphabetic
substitution cipher, maka satu karakter dari ciphertext
merepresentasikan satu huruf dari plaintext. Jika diketahui bahwa
plaintextnya bahasa Indonesia dan dilakukan analisa frekwensi munculnya
huruf terhadap ciphertext tersebut, maka prosentasi munculnya suatu
huruf pada ciphertext akan mendekati prosentasi muculnya huruf yang
diwakilinya dalam plaintext. Sehingga jika, pada ciphertext, huruf ‘D’
mendekati 19%, maka akan sangat mungkin bahwa huruf ‘D’ adalah huruf
‘A’, begitu juga dengan huruf-huruf lainnya.
Kriptografi Vigenere
Pada kriptografi Caesar pergeseran akan sama pada seluruh pesan. Jika
kunci yang digunakan adalah huruf E, maka setiap huruf pada pesan akan
bergeser 4 huruf. Begitu juga bila digunakan kunci-kunci lainnya. Pada
kriptografi Vigenere, plaintext akan dienkripsi dengan pergeseran huruf
seperti pada kriptografi Caesar tetapi setiap huruf di dalam plaintext
akan mengalami pergeseran yang berbeda [Sta03].
Kunci pada kriptografi Vigenere adalah sebuah kata bukan sebuah huruf.
Kata kunci ini akan dibuat berulang sepanjang plaintext, sehingga jumlah
huruf pada kunci akan sama dengan jumlah huruf pada plaintext.
Pergeseran setiap huruf pada plaintext akan ditentukan oleh huruf pada
kunci yang mempunyai posisi yang sama dengan huruf pada plaintext.
Kriptografi Vigenere ini dikenal sebagai polyalphabetic substitution
cipher, karena enkripsi terhadap satu huruf yang sama bisa menghasilkan
huruf yang berbeda.
Pergeseran setiap huruf pada plaintext ditentukan oleh huruf pada posisi yang sama dan
pergeseran ini ditentukan oleh tabel yang sama dengan tabel pada kriptografi Caesar.
Rumus kriptografi Caesar tetap berlaku pada kriptografi Vigenere, baik pada enkripsi maupun dekripsi:
C=E(P)=(P+k)
mod26
P=D(C)=(C−k)
mod26
di mana P adalah plaintext, C adalah ciphertext, k adalah pergeseran huruf sesuai dengan huruf pada posisi huruf pada plaintext.
Sebagai contoh, jika plaintext adalah INI PESAN RAHASIA, maka jika
kita gunakan kunci kata BESOK, maka kunci ini akan diulang sama panjang
dengan plaintext. Setiap huruf pada kata BESOK mempunyai pergeseran yang
berbeda, sehingga setiap huruf akan mengalami pergeseran yang berbeda.
Huruf yang sama bisa menghasilkan cipher yang berbeda.
Ada cara lain untuk melakukan kriptografi Vigenere yaitu dengan
menuliskan abjad berurutan dari A sampai dengan Z, kemudian kata
kuncinya dituliskan secara vertikal di bawah huruf A. Setiap huruf dari
kata kunci ini kemudian dilengkapi dengan abjad selanjutnya dalam urutan
alfabet dan setelah huruf Z kembali lagi ke huruf A,B dan seterusnya.
Untuk melakukan enkripsi terhadap suatu pesan, maka cari posisi setiap
huruf pada plaintext pada baris paling atas, kemudian cari huruf pada
lokasi yang sama di baris bawahnya.
Huruf pertama diubah dengan huruf yang ada pada posisi yang sama pada
baris ke dua atau baris dari huruf pertama pada kata kunci.
Huruf ke dua pada plaintext dikonversi dengan huruf pada posisi yang sama pada baris selanjutnya.
Huruf ketiga dikonversi dengan baris ke tiga dan seterusnya. Jika semua
baris sudah terpakai maka kembali ke baris paling atas dari kata kunci,
sampai semua huruf pada plaintext dienkripsi.
Cara lain untuk melakukan kriptografi Vigenere adalah dengan
menggunakan tabula recta sebagai berikut : Baris paling atas adalah
alfabet dari A sampai dengan Z. Di baris ke dua, tuliskan alfabet mulai
dengan B sampai dengan Z kemudian kembali ke A. Di baris bawahnya C
diikuti alfabet selanjutnya sampai dengan Z dan kembali lagi ke A.
Sampai huruf Z. Cara penulisan ini dikenal sebagai tabula recta.
Kemudian enkripsi dilakukan sama dengan enkripsi menggunakan Table 4.
Huruf-huruf pada kata kunci sebagai huruf pertama pada baris-baris pada
tabula recta dan huruf-huruf pada plaintext dicari di baris pertama
tabula recta.
Penggunaan lebih dari satu huruf dalam suatu enkripsi ini yang
membuat kriptografi Vigenere disebut polyalphabetic cipher. Keuntungan
dari kriptografi polyalphabetic cipher adalah sulitnya melakukan analisa
frekwensi (frequency analysis) terhadap munculnya suatu huruf dalam
ciphertext. Analisa frekwensi adalah suatu cara untuk melakukan
cryptanalysis terhadap suatu ciphertext dengan menghitung berapa sering
suatu huruf muncul pada ciphertext tersebut dengan memperbandingkan
dengan berapa sering suatu huruf muncul dalam pesan atau tulisan normal.
Contohnya jika huruf P sering muncul pada suatu ciphertext dalam bahasa
Inggeris, huruf P ini sangat mungkin adalah huruf E, karena huruf E
adalah huruf yang paling sering digunakan dalam tulisan-tulisan bahasa
Inggeris.
Analisa frekwensi ini sulit dilakukan dalam kriptografi Vigenere karena
satu huruf tertentu pada plaintext bisa berubah menjadi beberapa
huruf-huruf lain pada ciphertext tergantung pada kata kuncinya, sehingga
frekwensi suatu huruf yang muncul pada ciphertext tidak
merepresentasikan suatu huruf pada plaintext. Kriptografi Vigenere ini
bukan yang terbaik yang dihasilkan oleh Vigenere. Dia mengembangkan
kriptografi lain yang dikenal sebagai kriptografi Autokey yang konon
lebih handal dari pada kriptografi Vigenere, tetapi nama Vigenere sudah
terlanjur melekat pada kriptografi sebelumnya. Sampai dengan kurun waktu
300 tahun, kedua kriptografi ini dianggap ‘unbreakable’, tetapi pada
pertengahan abad 19, Charles Babbage dan Friedrich Kasiski secara
terpisah mampu memecahkan cara penyandian ini.
Kriptografi Autokey
Kriptografi Autokey adalah pengembangan dari kriprografi Caesar dan
Vigenere. Cara melakukan enkripsi sama dengan kedua kriptografi
sebelumnya. Pada kriptografi Autokey juga digunakan sebuah kata sebagai
kunci. Kunci ini kemudian diikuti dengan plaintext sehingga membentuk
huruf-huruf yang sama panjang dengan plaintext. Urutan huruf-huruf ini
yang akan digunakan sebagai kunci pada saat enkripsi.
Rumus yang berlaku untuk kriptografi Autokey sama dengan untuk Caesar dan Vigenere.
C=E(P)=(P+k)
mod26
P=D(C)=(C−k)
mod26
Contoh, jika plaintext adalah INI PESAN RAHASIA, maka jika kita
gunakan kunci kata BESOK, maka kata BESOK akan disisipkan di depan
plaintext INI PESAN RAHASIA. Kemudian enkripsi dilakukan sama dengan
enkripsi Caesar dan Vigenere.
Kriptografi Reverse
Ini adalah contoh kriptografi klasik yang menggunakan transposisi
yaitu mengganti satu huruf dengan huruf lain. Ini contoh yang paling
sederhana dari transposisi yaitu mengubah suatu kalimat dengan
menuliskan setiap kata secara terbalik.
Kriptografi Kolom
Pada kriptografi kolom (column cipher), plaintext disusun dalam
kelompok huruf yang terdiri dari beberapa huruf. Kemudian huruf-huruf
dalam kelompok ini dituliskan kembali kolom per kolom, dengan urutan
kolom yang bisa berubah-ubah.
Kriptografi One-Time Pad
One-Time Pad adalah kriptografi yang merupakan perbaikan terhadap
kriptografi Caesar. One-Time Pad menggunakan kunci yang mempunyai
panjang sama dengan plaintext dan kunci ini hanya digunakan 1 kali.
Karena itu, cara enkripsi ini dikenal sebagai One-Time Pad dan
kriptografi ini tidak bisa dipecahkan karena kunci hanya digunakan satu
kali sehingga tidak ada suatu pola tertentu.
Satu-satunya cara melakukan dekripsi adalah dengan mengetahui kunci yang digunakan.
Enkripsi dilakukan dengan cara sama dengan enkripsi Caesar, tetapi
karena panjang kunci sama dengan plaintext, maka setiap huruf pada
plaintext akan mengalami pergeseran yang berbeda.
Memang One-Time Pad adalah kriptografi yang tidak pernah bisa
dipecahkan. Kunci hanya bisa digunakan sekali dan harus mempunyai
panjang yang sama dengan plaintextnya. One-Time Pad ini biasanya
digunakan dalam situasi yang kritis. Biasanya keputusan-keputusan
militer seperti peluncuran peluru kendali nuklir di era perang dingin.
Sampai sekarang One-Time Pad ini masih digunakan oleh kedutaan-kedutaan
besar untuk pengiriman berita diplomatik.
Pada awalnya mengenkripsi digunakan oleh para raja-raja untuk
mengirim pesan kepada para bawahan agar pesan tersebu tidak dapat dibaca
oleh sang pengantar maka itu pesan itu harus diatur sedemikian rupa
sehingga menjadi bentuk pesan yang berbeda. Contoh yang paling sederhana
yang dapat kita ambil dari kesimpulan di atas adalah
AW D* AL AX P<>
Coba perhatikan pesan di atas, apakah anda dapat membaca pesan yang
saya buat? Tentu pesan tersebut tidak dapat terbaca kalaupun terbaca
tidak akan terbentuk kata-kata yang jelas.
Sekarang kita akan mencoba membacanya coba hilangkan karakter W, *,
L, X.<, ?, Z, G, F, maka cob abaca ulang pesan tersebut yang terbaca
adalah ADA APA SIH!
Itu adalah contoh yang paling sederhana, enkripsi yang dilakukan pada
waktu masa romawi kuno. Tapi sekarang enkripsi dilakukan pada computer
yang paling mudah di temukan enkripsi yang terjadi pada file virus, agar
file tersebut tidak dapat terdeteksi oleh anti-virus file virus
tersebut harus diubah format filenya yaitu dengan menggunakan enkripsi
sehingga file virus bukan sebagai virus tetapi hanya dianggap file saja.
Tidak ada komentar:
Posting Komentar