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.
Plaintext: IBU AKAN DATANG BESOK PAGI
Ciphertext: UBI NAKA GNATAD KOSEB IGAP
Contoh transposisi yang sedikit lebih sulit adalah plaintext yang disusun dalam kelompok huruf yang terdiri dari beberapa kolom huruf, misalnya 5 kolom huruf :
IBUAK
ANDAT
ANGBE
SOKPA
GIAAA
Plaintext disusun dalam 5 kolom huruf
kemudian dituliskan per kolom, dengan urutan kolom yang bisa berubah-ubah. IAASGBNNOIUDGKAAABPAKTEAA Kolom huruf dituliskan berurutan dari kolom 1,2,3,4,5
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 cipherdanmonoalphabetic substitution cipher. Padapolyalphabetic 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 termasukmonoalphabetic 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.
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 cipherdanmonoalphabetic substitution cipher. Padapolyalphabetic 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 termasukmonoalphabetic 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.
Kriptografi merupakan suatu strategi supaya data atau dokumen kita aman dari orang yang tidak berhak.
1. Teknik Substitusi Cipher
Substitusi merupakan pergantian setiap karakter dari plaintext dengan karakter lainnya. Ada 4 istilah dari substitusi cipher, yaitu monoalphabet, polyalphabet, monograph dan polygraph.
Substitusi chipper yang pertama dalam dunia persandian pada waktu pemerintahan Julius Caesar dikenal dengan Caesar Cipher, yaitu dengan mengganti posisi huruf awal dari alphabet. Proses enkripsi pada algoritma sederhana tersebut adalah dengan mengganti karakter-karakter pada pesan yang akan dienkripsi dengan huruf ke 3 setelah huruf karakter pada pesan tersebut.
Sebagai contoh karakter A pada pesan diganti dengan huruf ke 3 setelah huruf A yaitu D.
Contoh:
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 |
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 |
Plaintext : “Saya sedang belajar keamanan komputer”
Ciphertext : “VDBDVHGDQJEHODMDUNHDPDQDQNRPSXWHU”
Algoritma dari Caesar Cipher adalah jika (a = 1,b = 2,dst). plaintext diberi symbol “P” dan ciphertext adalah “C” dan kunci adalah “K”:
C = E(P) = (P+K) mod (26)
Dari contoh diatas,enkripsi dapat dilakukan dengan rumus :
C = E(P) = (P+3) mod (26)
Rumus untuk melakukan deskripsi dari ciphertext :
P = D(C) = (C-K) mod (26)
Dari contoh diatas , rumus untuk melakukan deskripsi adalah :
P = D(C) = (C-3) mod (26)
Caesar cipher bisa dipecahkan dengan cara Brute Force,suatu bentuk serangan yang mencoba kemungkinan-kemungkinan hingga ditemukan. Banyaknya kunci dari suatu cipher cukup merespons para cryptanalyst,walaupun percobaan dengan cara Brute Force Attack akan membutuhkan waktu sampai ditemukannya kunci dari ciphertext. Akan tetapi, cara tersebut selalu berhasil walaupun membutuhkan waktu yang lama. Ada beberapa cara yang dilakukan oleh ctyptanalyst dengan melihat frekuensi kemunculan huruf seperti tabel frekuensi kemunculan huruf berikut ini:
Tabel 3.1 Frekuensi Kemunculan Huruf dalam Bahasa Inggris
Karakter | Peluang | Karakter | Peluang |
A | 0.082 | N | .067 |
B | .015 | O | .075 |
C | .028 | P | .019 |
D | .043 | Q | .001 |
E | .127 | R | .060 |
F | .022 | S | .063 |
G | .020 | T | .091 |
H | .061 | U | .028 |
I | .070 | V | .010 |
J | .002 | W | .023 |
K | .008 | X | .001 |
L | .040 | Y | .020 |
M | .024 | Z | .001 |
Dalam teks bahasa indonesia yang paling sering muncul adalah 10 huruf dan bisa dilihat pada tabel dibawah ini:
Letter | Frequency Kemunculan (%) |
A | 17.50 |
N | 10.30 |
I | 8.70K |
E | 7.50 |
K | 5.65 |
T | 5.10 |
R | 4.60 |
D | 4.50 |
S | 4.50 |
M | 4.50 |
Serangan tsb juga digunakan untuk mencari password dari suatu system.Serangan tsb memungkinkan para attacker mencoba beberapa kemungkunan yang ada pada daftar kata-kata dalam kamus.
Pada perkembangannya,Caesar Cipher bisa menggunakan kunci lain atau bisa disebut dengan polyalphabetic.Kunci bisa jadi nama,alamat,atau apa saja yang diinginkan oleh pengirim pesan.
2. Shift Cipher
Sandi geser (shift cipher) merupakan generalisasi dari Sandi Caesar, yaitu tidak membatasi pergeseran sebanyak tiga huruf. Jadi ada sebanyak 26 kunci pergeseran yang bisa digunakan. Secara umum dapat dituliskan dengan persamaan berikut ini.
Ø eK(x) = ( x + k ) mod 26
Ø dK(y) = ( x – k ) mod 26
Untuk K dengan 0 ≤ K ≤ 25 dan x, y є Z26
Khusus untuk K=13 sering disebut dengan Sandi ROT(13). Dinamakan demikian karena fungsi enkripsi dan dekripsinya sama, sebab 13 sama dengan -13 (khusus di dalam mod 26). Jadi jika diberikan plainteks x, maka untuk mendekripsinya bisa dengan mengenkripsinya lagi.Untuk menyerang sandi geser ini sangat mudah sekali, karena hanya diperlukan sebanyak 25 kali percobaan kunci.
Teknik dari substitusi shift Chiperdengan modulus 26 memberikan angka ke setiap alphabet seperti a ß à0, B ß à 1 ……Z ß à 25,untuk melihat teknik shift cipher lebih jelas lagi,kita lihat contoh sbb:
A | B | C | D | E | F | G | H | I | J | K | L | M |
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
N | O | P | Q | R | S | T | U | V | W | X | Y | Z |
13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 |
Plaintext : “We will meet at midnight”
Dari kalimat diatas kita akan mendapatkan angka dari setiap huruf sbb:
22 4 22 8 11 11 12 4 4 19 0 19 12 8 3 13 8 6 7 19
Untuk mendapatkan ciphertext, kita memiliki kunci 11. Penambahan setiap nilai dari plaintext dengan kunci 11 akan mendapatkan :
7 15 7 19 22 22 23 15 15 4 11 4 23 19 14 24 19 17 18 4
Jika lebih dari 20 setelah ditambah dengan kuncimaka akan dikurangi dengan 26 seperti 22+11=33-26=7.Setelah di-convert menjadi huruf kita akan mendapatkan ciphertext:
“HPHTWWXPPELEXTOYTRSE”
Plaintext : We will meet at midnight
Ciphertext : HPHTWWXPPELEXTOYTRSE
Kunci : 11
0 Response to "KRIPTOGRAFI KLASIK"
Posting Komentar