BAB 2
TINJAUAN PUSTAKA
2.1 Pendahuluan Teknik pengacakan data yang disebut enkripsi, telah membentuk suatu bidang keilmuan yang
disebut kriptografi. Prinsip dasar dari teknik enkripsi adalah
menyembunyikan informasi dalam bentuk yang sedemikin rupa sehingga hanya orang yang berhak saja yang dapat mengetahui isi informasi yang disembunyikan itu. Keinginan untuk merahasiakan informasi sudah muncul sejak laman dahulu, bahkan Sebelum Masehi. Pada tahun 475 S.M. bangsa Sparta , suatu bangsa militer pada jaman Yunani kuno, menggunakan teknik kriptografi yang disebut scytale, untuk kepentingan perang. Scytale terbuat dari tongkat dengan papyrus yang mengelilingi secara spiral. Pesan dituliskan secara melintang pada tongkat melintasi papyrus. Kunci dari scytale adalah diameter tongkat yang digunakan pengiriman harus sama dengan diameter tongkat yang dimiliki penerima pesan, sehingga pesan yang disembunyikan dalam papyrus dapat dibaca dan dimengerti penerima. Julius Caesar, seorang kaisar terkenal Romawi yang menaklukan banyak bangsa di Eropa dan Timur Tengah juga menggunakan suatu teknik kriptografi yang sekarang disebut Caesar Cipher untuk berkorespondensi sekitar tahun 60 S.M. Teknik yang digunakan oleh sang Caesar adalah mensubstitusikan alphabet secara beraturan, yaitu oleh alphabet ketiga yang mengikuti, misalnya, alphabet “A” digantikan oleh “D”,”B” oleh “E”, dan seterusnya. Sebagai contoh, suatu pesan berikut: “NXDVDLPHVLU” akan diterjemahkan menjadi “KUASAI MESIR”.
Universitas Sumatera Utara
2.2 Teori Dasar Kriptografi
Suatu ilmu dan seni dalam menjaga kerahasiaan suatu pesan (kode) disebut dengan kriptografi yang dilakukan oleh seorang kriptografi. Kriptografi terdiri dari proses yaitu enkripsi dan dekripsi yang diibaratkan seperti dua sisi mata uang. Suatu pesan dibuat seolah tidak bermakna dengan merubahnya menurut prosedur tertentu maka disebut dengan Enkripsi, dan dibuat bermakna kembali dengan menggunakan prosedur yang biasanya bersifat kebalikannya, disebut juga dengan istilah Dekripsi. Pesan atau
dalam istilah
kriptografi disebut message, yang
akan
dirahasiakan disebut plaintext, sedangkan bentuk pesan hasil proses di enkripsi disebut ciphertext. Cryptanalyst adalah orang yang mempelajari ilmu dan seni ilmu membongkar ciphertext. Menurut ISO 7498-2 istilah yang lebih tepat untuk decryption adalah “decipher”. Terdapat lima dicontohkan
teknik
yang
mendasari
kriptografi.
Berikut
ini
procedure enkripsi dalam melakukan pengacakan data terhadap
plaintext yang sama, yaitu “5 teknik dasar kriptografi”.
2.2.1 Subtitusi Salah satu contoh teknik ini adalah Caesar cipher yang telah dicontohkan di atas. Langkah pertama adalah membuat suatu tabel substitusi. Tabel substitusi dapat dibuat sesuka hati, dengan catatan bahwa penerima pesan memilki tabel yang sama untuk keperluan dekripsi. Bila tabel substitusi dibuat secara acak, akan semakin sulit pemecahan ciphertext oleh orang yang tidak berhak. Tabel 2.1 Subtitusi A B
B F
C 1
D K
E Q
F G
G A
H T
I P
J J
K 6
L H
M N Y D
O 2
P X
U C
V 8
W X 4 1
Y 9
Z N
1 R
2 E
3 U
4 3
5 L
6 S
7 8 W ,
9 .
0 O
Q 5
R S M V
Universitas Sumatera Utara
T 7
Tabel substitusi di atas dibuat secara acak. Dengan menggunakan tabel tersebut, dari plaintext “5 teknik dasar kriptografi” dihasilkan ciphertext “L 7Q6DP6 KBVBM6MPX72AMBGP”. Dengan menggunakan
tabel
substitusi
yang sama secara dengan arah yang terbalik, plaintext dapat diperoleh kembali dari ciphertext-nya.
2.2.2 Blocking Sistem enkripsi terkadang membagi plaintext menjadi blok-blok yang terdiri dari beberapa karakter yang kemudian di enkripsi secara independent. Plaintext yang dienkripsikan dengan menggunakan teknik blocking terdapat pada tabel 2.2. Tabel 2.2 Enkripsi Dengan Blocking 5 T E K N I K
D A S A R K R I
P T O G R A F I
Blok1 Blok2 Blok3 Blok4 Blok5 Blok6 Blok7 Blok8 Blok9
Dengan menggunakan enkripsi blocking dipilih jumlah jalur dan kolom untuk penulisan pesan. Jumlah lajur atau kolom menjadi kunci bagi kriptografi dengan teknik plaintext dituliskan secara vertikal ke bawah berurutan pada lajur, dan dilanjutkan pada kolom berikutnya sampai seluruhnya tertulis. Ciphertextnya adalah hasil pembacaan plaintext secara horizontal berurutan sesuai dengan bloknya. Jadi ciphertext yang dihasilkan dengan teknik ini adalah “5DP ATTSOEAGKRRN AIKFKRI I”. Plaintext
dapat
pula
ditulis
secara
horizontal dan ciphertextnya adalah hasil pembacaan secara vertikal.
Universitas Sumatera Utara
2.2.3 Permutasi Salah satu teknik enkripsi yang terpenting adalah permutasi atau sering juga disebut tranposisi. Teknik ini memindahkan atau merotasiakan karakter dengan aturan tertentu. Prinsipnya adalah berlawanan dengan teknik substitusi. Dalam teknik substitusi, karakter berada pada posisi yang tetap tapi identitasnya yang diacak,. Pada teknik permutasi, umumnya plaintext terlebih dahulu dibagi menjadi blok-blok dengan panjang yang sama. Untuk contoh di atas, plaintext akan dibagi menjadi blok-blok yang terdiri dari 6 karakter, dengan aturan permutasi sebagai berikut: 1
2
3
4
5
6
6
2
4
3
5
1
Gambar 2.1 Permutasi Dengan menggunakan aturan di atas, maka proses enkripsi dengan permutasi dari plaintext adalah sebagai berikut: 5
T
E
K
N
I
K
N
E
T
K
5
S
K
D
D
A
S
A
A
I
I
R
R
K
K
R
R
I
P
T
O
G
R
A
F
I
A
A
T
G
O
R
P
F
1
Gambar 2.2 Proses Enkripsi Dengan Permutasi Ciphertext yang dihasilkan dengan teknik permutasi ini
adalah “N
ETK5SKD AIIRK RAATGORP FI”.
Universitas Sumatera Utara
2.2.4 Ekspansi
Suatu metode sederhana untuk mengacak pesan adalah dengan melebarkan pesan itu dengan aturan tertentu. Salah satu contoh penggunaan teknik ini adalah dengan meletakkan huruf konsonan atau bilangan ganjil yang menjadi awal dari suatu kata akhir kata itu dan menambahkan akhiran “an”. Bila suatu kata dimulai dengan huruf hidup atau bilangan genap, ditambahkan akhiran “i”. Proses enkripsi dengan cara ekspansi terhadap plaintext terjadi sebagai berikut 5
5 R
T
A A
N F
E
K
I
N
I
K
D
E K N I K A N
K
A
T
A
S
A
N
R
A
K
S
I
A
P
R
T
D
O
A
G
N
R
R
A
F
I
I
P
T
O
G
Gambar 2.3 Enkripsi Dengan Ekspansi Ciphertextnya adalah “5AN EKNIKTAN ASARDAN RIPTOGRAFIKAN”. Aturan ekspansi dapat dibuat lebih
kompleks.
Terkadang
teknik
ekspansi
digabungkan dengan teknik lainnya, karena teknik ini bila berdiri sendiri terlalu mudah untuk dipecahkan. 2.2.5 Pemampatan Mengurangi panjang pesan atau jumlah bloknya adalah cara lain untuk menyembunyikan isi pesan. Contoh sederhana ini menggunakan cara menghilangkan setiap karakter ketiga secara berurutan. Karakter-karakter yang dihilangkan disatukan kembali dan disusulkan sebagai “lampiran” dari pesan utama, dengan diawali oleh suatu karakter khusus, dalam contoh ini digunakan “&”. Proses yang terjadi untuk plaintext kita adalah: 5
T
E
K
N
I
K
=
D
A
S
A
R
=
K
R
I
P
T
G
R
O
G
R
A
Plaintext 5
E
K
I
K
D
A
A
R
K
R
P
T
F
I
Pesan yang dimampatkan T
N
S
I
O
A
Pesan yang dihilangkan
Universitas Sumatera Utara
F
I
5
E
K
I
K
D
A
A
R
K
R
P
&
T
G
R
F
I
T
N
S
I
O
Ciphertext Gambar 2.4 Enkripsi Dengan Pemampatan Aturan penghilangan karakter dan karakter khusus yang berfungsi sebagai pemisah menjadi dasar untuk proses dekripsi ciphertext menjadi plaintext kembali. Dengan menggunakan kelima teknik dasar kriptografi di atas, dapat diciptakan kombinasi teknik kriptografi yang amat banyak, dengan faktor yang membatasi
semata-mata
hanyalah kreativitas
dan
imajinasi
kita.
Walaupun
sekilas terlihat sederhana, kombinasi teknik dasar kriptografi dapat menghasilkan teknik kriptografi turunan yang cukup kompleks, dan beberapa teknik dasar kriptografi masih digunakan dalam teknik kriptografi modern.
2.3 Teknologi Enkripsi Simetris dan Asimetris Untuk menyandi informasi dan untuk menterjemahkan pesan tersandi sebuah algoritma penyandian memerlukan sebuah data binary yang disebut kunci atau key. Tanpa kunci yang cocok orang tidak bisa mendapatkan kembali pesan asli dari pesan tersandi. Ada dua jenis sistem tersandi yang dikenal dengan istilah sistem sandi simetris dan sistem sandi asimetris. Sistem sandi simetris menggunakan kunci yang sama dalam proses enkripsi maupun proses dekripsi. Sedangkan sistem sandi asimetris dalam melakukan proses enkripsi menggunakan kunci yang berbeda dengan kunci yang digunakan dalam proses deskripsi. Contoh dari sistem sandi simetris adalah Data Encryption Standard (DES), sedangkan contoh sistem sandi asimetris adalah Ron Shamir Adleman (RSA). Kedua sistem ini memiliki keuntungan dan kerugiannya sendiri. Sistem sandi simetris cenderung jauh lebih cepat sehingga lebih disukai oleh kalangan industri. Namun kelemahannya adalah bahwa pihak-pihak yang ingin berkomunikasi secara privat harus punya akses ke sebuah kunci bersama. Dan tidak menutup kemungkinan bahwa salah satu pihak akan ceroboh terhadap kunci tersebut hingga mudah jatuh ke tangan pihak ketiga.
Universitas Sumatera Utara
A
2.4 Konsep Dasar Kriptografi Kunci Publik Algoritma Kunci Publik menggunakan kunci yang berbeda untuk enkripsi dan deskripsi. Karena sifatnya ini maka algoritma ini termasuk ke dalam sistem sandi asimetris. Metode Kunci Publik ini menjadi penting karena meskipun kunci enkripsi
sudah
diketahui
publik,
namun ciphertext tersebut
tidak dapat
diterjemahkan tanpa menggunakan kunci deskripsi yang disebut kunci privat.
KUNCI PUBLIK
KUNCI PRIVAT
Plaintext PROSES
PROSES
Ciphertext
ENKRIPSI
User A
Plainteks
DEKRIPSI
User B
Gambar 2.5 Model Enkripsi Kunci Publik Gambar 2.5 menggambarkan model dari enkripsi kunci publik. Apabila user A akan mengirimkan pesan tersandi maka ia akan menyandi pesan itu (enkripsi) dengan menggunakan kunci publik user B. Kemudian user B mendeskripsikan pesan tersebut mengggunakan kunci privat miliknya. Algortima dari proses komunikasi mengggunakan kriptografi kunci publik adalah seperti contoh
berikut: 1). Feli dan Fajar akan menggunakan sistem
kriptografi kunci publik. 2). Fajar mengirimkan kunci publik miliknya kepada Feli. 3). Feli meng-enkripsi pesan miliknya dengan menggunakan kunci publik milik Fajar dan mengirimkannya. 4). Fajar meng-deskripsikan pesan dari Feli dengan menggunakan kunci privat miliknya. Dalam prakteknya baik Feli maupun Fajar dapat mengakses kunci publik masing-masing yang tersedia dalam sebuah Data Base, yang disebut dengan Key Distribution Center (KDC). Kunci publik dapat diketahui orang lain, kunci privat tetap hanya diketahui pemiliknya saja. Konsep Kunci Publik ini adalah prototype awal dari munculnya RSA.
Universitas Sumatera Utara
2.5 Rivest-Shamir-Adleman (RSA) Penemu RSA adalah Ron Rivest, Adi Shamir, dan Leonard Adleman yang membuatnya di tahun 1978. RSA ini adalah sistem penyandian kunci publik yang popular. Kepopuleran RSA terletak dari kemampuannya digunakan sebagai tanda tangan digital. Teknologi tanda tangan digital dibuat dengan memanfaatkan teknologi kunci publik. Sepasang kunci public-privat dibuat untuk keperluan seseorang. Kunci privat disimpan oleh pemiliknya, dan digunakan untuk membuat tanda tangan digital. Sedangkan kunci publik dapat diserahkan kepada siapa saja yang ingin memeriksa tanda tangan digital yang bersangkutan pada suatu dokumen. Saat ini satu-satunya cara yang diketahui untuk mendobrak sandi RSA adalah dengan mencoba
satu-persatu berbagai kombinasi kunci dengan istilah
brute force attack. Karena itu, sebenarnya keamanan dari RSA banyak bergantung dari ukuran kunci yang digunakan yaitu dalam bit. Semakin lebar ukuran kunci maka banyaknya kemungkinan kombinasi kunci yang mungkin semakin besar. Selain itu keamanan RSA ini pun bergantung pada kesulitan dalam pemangkatan bilangan bulat dalam digit yang besar. Salah satu kelemahan RSA dibandingkan dengan sistem sandi simetris adalah lama proses yang dibutuhkannya. Kepopuleran RSA saat ini ditandingi oleh kepopuleran Pretty Good Privacy (PGP), yang merupakan aplikasi pengamanan Surat Elektronik atau Electronic Mail (E-mail). Namun sebenarnya PGP sendiri masih menggunakan algoritma RSA dalam hal tanda tangan digital RSA adalah sistem sandi yang barangkali paling mudah dimengerti cara kerjanya, tetapi juga sangat kokoh, baik untuk menyandi maupun menterjemahkan sandi, RSA hanya menggunakan operasi pemangkatan. Para pembuat RSA ini melihat bahwa operasi mk mod n menghasilkan nilai yang relative acak hubungan terhadap m. Berikut ini akan disampaikan pembentukan kunci privat dan kunci publik dengan RSA : 1. Pilih dua bilangan prima p dan q secara acak. Bilangan ini harus cukup besar yaitu minimal 100 digit, dan keduanya memiliki panjang digit yang sama.
Universitas Sumatera Utara
2. Hitung n = pq. Untuk kemudian bilangan n disebut parameter sekuriti. 3. Pilih bilangan e secara acak di mana e tidak memiliki factor pembagi yang sama dengan (p-1)(q-1) selain bilangan 1. Atau dengan kata lain bersifat relative prima. 4. Hitung d sedemikian sehingga ed mod (p-1)(q-1) = 1. Dengan menggunakan sebuah algoritma yang disebut algoritma Euclid akan menghitung d sehingga, d = e-1 mod ((p-1)(q-1)) 5. Bilangan n dan e kita sebarkan ke public. e ini adalah yang akan menjadi kunci public. d menjadi kunci privat. Sementara itu bilangan p dan q dihilangkan, dan dicegah agar tidak pernah sampai bocor ke public. Kini sudah didapatkan sebuah kunci publik dan kunci privat. Selanjutnya berikut ini adalah algoritma untuk menyandi dan menterjemahkan pesan : 1. Untuk menyandi sebuah pesan m dengan menggunakan kunci public e, kita melakukan operasi me mod n, sementara untuk membuka pesan tersandi c dengan menggunakan kunci privat, kita lakukan cd
mod n
2. Untuk memudahkan enkripsi dan dekripsi maka pesan m dibagi menjadi beberapa blok yang kecil. Algoritma di atas adalah algoritma yang digunakan dalam penyandian RSA, maka hanya menggunakan operasi pemangkatan bilangan dan modulus bilangan, dalam melakukan proses enkripsi dan dekripsi sebuah pesan. Kesederhanaan inilah yang menjadikan RSA menjadi popular karena relatif mudah dimengerti. Adapun dari algoritma di atas dapat disederhanakan seperti pada tabel berikut. Tabel 2.3 Enkripsi RSA Kunci Publik n hasil perkalian dua bilangan prima p dan q e relative prima (p-1)(q-1) Kunci Privat d = e-1 mod ((p-1)(q-1)) Enkripsi c = me mod n Dekripsi m = cd mod n
Universitas Sumatera Utara
2.6 Keamanan Algoritma RSA Sistem kriptografi yang baik adalah sistem kriptografi yang memang dirancang sedemikian rupa sehingga sulit untuk dipecahkan atau dibongkar. Secara teori sebuah metode kriptografi dengan sebuah kunci akan dapat dipecahkan dengan mencoba semua kemungkinan rangkaian kunci. Maka semakin panjang ukuran kunci maka semakin sulit untuk dipecahkan. Saat ini satu-satunya cara yang diketahui untuk mendobrak sandi RSA adalah dengan mencoba satu persatu berbagai kombinasi kunci dengan istilah brute force attack. Karena itu, sebenarnya keamanan dari RSA banyak bergantung dari ukuran kunci yang digunakan yaitu dalam bit. Selain itu keamanan RSA ini pun bergantung pada kesulitan dalam pemangkatan bilangan bulat dalam digit yang besar. Namun ada beberapa anggapan adalah mudah untuk membongkar sandi RSA. Sebagai contoh adalah dengan membangkitkan nilai n sehingga nantinya akan didapatkan nilai e dan d yang mungkin. Kemungkinan penyerangan terhadap RSA dilakukan pula dengan memperkirakan nilai (p-1)(q-1). Namun cara ini juga memberikan kemungkinan kecil untuk berhasil. Sejauh ini belum seorang pun yang berhasil menemukan lubang sekuriti pada RSA, tetapi tak seorang pun juga berhasil memberikan pembuktian ilmiah yang memuaskan dari keamanan teknik sandi ini. Padahal, pemakaiannya sudah sangat meluas dan mencakup sektor-sektor strategis seperti perbankan, pemerintahan, dan telekomunikasi. Sebetulnya tak satu pun sandi yang aman dari brute force attack. Persoalaannya lebih kepada
seberapa
ekonomisnya
serangan
tersebut
bisa
dilakukan.
Perkecualiannya adalah sandi yang disebut One-time-pad yang dibuat oleh Mouborgne & Vernam, pada tahun 1917. Sandi ini adalah sandi ideal yang tidak mungkin dibongkar dengan cara apa pun. Sayangnya sandi ini tidak praktis karena membutuhkan kunci yang sama panjangnya dengan pesan yang disandi.
Universitas Sumatera Utara
2.7 Cryptographic Protokol
Suatu protokol adalah serangkaian langkah yang melibatkan dua pihak atau lebih dan dirancang untuk menyelesaikan suatu tugas. Dari definisi ini dapat diambil beberapa arti sebagai berikut : 1. protokol memiliki urutan dari awal hingga akhir 2. setiap langkah harus dilaksanakan secara bergiliran 3. suatu langkah tidak dapat dikerjakan bila langkah sebelumnya belum selesai 4. diperlukan dua pihak atau lebih untuk melaksanakan protokol 5. protokol harus mencapai suatu hasil
Selain itu, suatu protokol pun memiliki karakteristik yang lain, yaitu : 1.
setiap orang yang terlibat dalam protokol harus mengetahui terlebih dahulu mengenai protokol dan seluruh langkah yang akan dilaksanakan
2.
setiap orang yang terlibat dalam protokol harus menyetujui untuk mengikutinya
3.
protokol tidak boleh menimbulkan kerancuan
4.
protokol harus lengkap
Protocol kriptografi adalah suatu protokol yang menggunakan kriptografi. Protokol ini melibatkan sejumlah algoritma kriptografi, namun secara umum tujuan protokol lebih dari sekedar kerahasiaan. Pihak-pihak yang berpartisipasi mungkin saja ingin membagi sebagian rahasianya untuk menghitung sebuah nilai, menghasilkan urutan random, atau pun menandatangani kontrak secara bersamaan. Penggunaan kriptografi dalam sebuah protokol terutama ditujukan untuk mencegah atau pun mendeteksi adanya eavesdropping dan cheating.
2.7.1
Fungsi Protokol
Dalam kehidupan kita sehari-hari terdapat banyak sekali protokol tidak resmi, misalnya saja dalam permainan kartu, pemungutan suara dalam pemilihan umum. Akan tetapi tidak ada seorang pun yang memikirkan mengenai protokol-protokol ini,
Universitas Sumatera Utara
protokol-protokol ini terus berkembang, semua orang mengetahui bagaimana menggunakannya.
Saat ini, semakin banyak interaksi antar manusia dilakukan melalui jaringan komputer. Komputer ini tentu saja memerlukan suatu protokol formal agar dapat melakukan hal yang biasa dilakukan manusia tanpa berpikir. Bila kita berpindah dari satu daerah ke daerah lain dan mengetahui bahwa kartu pemilihan suaranya berbeda dengan yang biasa kita gunakan, kita dapat beradaptasi dengan mudah. Akan tetapi kemampuan ini belum dimiliki oleh komputer, sehingga diperlukan suatu protokol. Protokol digunakan untuk mengabtraksikan proses penyelesaian suatu tugas dari mekanisme
yang
digunakan.
Protokol
komunikasi
adalah
sama
meskipun
diimplementasikan pada PC atau VAX. Bila kita yakin bahwa kita memiliki protokol yang baik, kita dapat mengimplementasikannya dalam segala benda mulai dari telepon hingga pemanggang roti cerdas.
2.7.2
Penyerangan Terhadap Protokol
Penyerangan kriptografi dapat ditujukan pada beberapa hal berikut : 1.
algoritma kriptografi yang digunakan dalam protokol.
2.
teknik kriptografi yang digunakan untuk mengimplementasikan algoritma dan protokol.
3.
protokol itu sendiri.
Seseorang dapat mencoba berbagai cara untuk menyerang suatu protokol. Mereka yang tidak terlibat dalam protokol dapat menyadap sebagian atau seluruh protokol. Tindakan ini disebut penyerangan pasif, karena si penyerang tidak mempengaruhi atau mengubah protokol, ia hanya mengamati protokol dan berusaha untuk memperoleh informasi.
Selain itu, seorang penyerang dapat berusaha untuk mengubah protokol demi keuntungannya sendiri. Ia dapat mengirimkan pesan dalam protokol, menghapus pesan, atau bahkan mengubah informasi yang ada di dalam suatu komputer. Tindakan-
Universitas Sumatera Utara
tindakan ini disebut sebagai penyerangan aktif, karena ia membutuhkan suatu campur tangan aktif.
Seorang penyerang tidaklah hanya berasal dari lingkungan luar protokol, namun ia mungkin juga berasal dari dalam protokol itu sendiri, ia dapat merupakan salah satu pihak yang terlibat dalam protokol. Tipe penyerang semacam ini disebut sebagai cheater. Passive cheater mengikuti protokol, tetapi berusaha memperoleh informasi lebih banyak daripada yang diperbolehkan protokol bagi dirinya. Active cheater mengubah protokol dalam usahanya untuk berbuat curang.
Usaha untuk menjaga keamanan protokol akan semakin sulit apabila pihakpihak yang terlibat umumnya merupakan active cheater, oleh karena itu suatu protokol yang baik harus mampu atau pun harus aman terhadap kemungkinan passive cheating.
2.7.3
Berbagai Macam Basic Cryptanalytic Attacks
Tujuan cryptanalytic attack adalah untuk mengetahui beberapa plaintext yang sesuai dengan ciphertext yang ada dan berusaha menentukan kunci yang memetakan satu dengan yang lainnya. Plaintext ini dapat diketahui karena ia merupakan standar atau karena pendugaan. Jika suatu teks diduga berada di dalam suatu pesan, posisinya mungkin tidak diketahui, tetapi suatu pesan lazimnya cukup pendek sehingga memungkinkan cryptanalyst menduga plaintext yang diketahui dalam setiap posisi yang mungkin dan melakukan penyerangan pada setiap kasus secara paralel.
Suatu algoritma enkripsi yang kuat tidak hanya mampu bertahan terhadap serangan plaintext yang dikenal tetapi juga mampu bertahan terhadap adaptive chosen plaintext. Dalam penyerangan ini, cryptanalyst berkesempatan memilih plaintext yang digunakan dan dapat melakukannya secara berulang kali, memilih plaintext untuk tahap N+1 setelah menganalisis hasil tahap N.
Yang dimaksud cryptanalytic attacks adalah usaha-usaha yang dilakukan seseorang untuk memperoleh informasi ataupun data yang telah dienkripsi. Secara
Universitas Sumatera Utara
ringkas terdapat tujuh macam basic cryptanalytic attacks berdasarkan tingkat kesulitannya bagi penyerang, dimulai dari yang paling sulit adalah : 1.
Ciphertext-only attack. Dalam penyerangan ini, seorang cryptanalyst memiliki ciphertext dari sejumlah pesan yang seluruhnya telah dienkripsi menggunakan algoritma yang sama.
2.
Known-plaintext attack. Dalam tipe penyerangan ini, cryptanalyst memiliki akses tidak hanya ke ciphertext sejumlah pesan, namun ia juga memiliki plaintext pesanpesan tersebut.
3.
Chosen-plaintext attack. Pada penyerangan ini, cryptanalyst tidak hanya memiliki akses atas ciphertext dan plaintext untuk beberapa pesan, tetapi ia juga dapat memilih plaintext yang dienkripsi.
4.
Adaptive-chosen-plaintext attack. Penyerangan tipe ini merupakan suatu kasus khusus chosen-plaintext attack. Cryptanalyst tidak hanya dapat memilih plaintext yang dienkripsi, ia pun memiliki kemampuan untuk memodifikasi pilihan berdasarkan
hasil
enkripsi
sebelumnya.
Dalam
chosen-plaintext
attack,
cryptanalyst mungkin hanya dapat memiliki plaintext dalam suatu blok besar untuk dienkripsi; dalam adaptive-chosen-plaintext attack ini ia dapat memilih blok plaintext yang lebih kecil dan kemudian memilih yang lain berdasarkan hasil yang pertama, proses ini dapat dilakukannya terus menerus hingga ia dapat memperoleh seluruh informasi. 5.
Chosen-ciphertext attack. Pada tipe ini, cryptanalyst dapat memilih ciphertext yang berbeda untuk didekripsi dan memiliki akses atas plaintext yang didekripsi.
6.
Chosen-key attack. Cryptanalyst pada tipe penyerangan ini memiliki pengetahuan tentang hubungan antara kunci-kunci yang berbeda.
7.
Rubber-hose cryptanalysis. Pada tipe penyerangan ini, cryptanalyst mengancam, memeras, atau bahkan memaksa seseorang hingga mereka memberikan kuncinya.
2.7.4 Analisis Berbagai Tipe Penyerangan Secara Matematis
Suatu
penyerangan
pasif
atas
cryptosystem
adalah
semua
metode
untuk
mengungkapkan informasi tentang plaintext dan ciphertextnya dengan tanpa
Universitas Sumatera Utara
mengetahui kunci. Secara matematis, diberikan fungsi F, G, dan H yang terdiri dari n variabel. Diberikan sistem enkripsi E. Diberikan suatu distribusi plaintext dan kunci.
Suatu penyerangan atas E dengan menggunakan G dengan mengasumsikan F membagi H dengan probabilitas p adalah suatu algoritma A dengan sepasang input f,g dan satu buah output h sedemikian hingga terdapat probabilitas p atas h = H(P1, …, Pn), jika kita memiliki f = F(P1, …, Pn) dan g = G(EK(P1), …, EK(Pn)). Perlu diperhatikan bahwa probabilitas ini tergantung pada distribusi vektor-vektor (K,P1,…,Pn). Penyerangan akan merupakan suatu trivial bila terdapat probabilitas paling sedikir p untuk h = H(P1, …, Pn) jika f = F (P1,…,Pn) dan g = G (C1,…,Cn). Di sini C1,…,Cn terletak pada ciphertext yang mungkin, dan tidak memiliki hubungan tertentu dengan P1,…,Pn. Dengan kata lain, suatu serangan akan merupakan trivial bila ia tidak benar-benar menggunakan enkripsi EK(P1),…,EK(Pn). Dengan merumuskan penyerangan secara matematis, kita dapat secara tepat memformulasikan dan bahkan membuktikan pernyataan bahwa suatu cryptosystem itu kuat. Kita katakan, sebagai contoh, bahwa suatu cryptosystem adalah aman terhadap seluruh penyerangan pasif jika sembarang penyerangan nontrivial terhadapnya tidak praktis. Jika kita dapat membuktikan pernyataan ini maka kita akan memiliki keyakinan bahwa cryptosystem kita akan bertahan terhadap seluruh teknik cryptanalytic pasif. Jika kita dapat mereduksi pernyataan ini hingga pada beberapa masalah yang tidak terpecahkan maka kita masih tetap memiliki keyakinan bahwa cryptosystem kita tidak mudah dibuka.
2.7.5
Ciphertext-only attack
Dengan menggunakan notasi di atas, suatu ciphertext-only attack adalah suatu penyerangan dengan F adalah konstanta. Diberikan hanya beberapa informasi G(EK(P1),..EK(Pn)) tentang n ciphertext, penyerangan harus memiliki kesempatan menghasilkan beberapa informasi H(P1,…,Pn) tentang plaintext. Penyerangan akan
Universitas Sumatera Utara
merupakan suatu trivial bila ia hanya menghasilkan H(P1,…,Pn) ketika diberikan G(C1,…,Cn) untuk C1,…,Cn acak. Sebagai contoh, misalkan G ( C ) = C dan misalkan H(P) adalah bit pertama P. Kita dapat secara mudah menulis suatu penyerangan, pendugaan, yang menduga bahwa H(P) adalah 1. Penyerangan ini adalah trivial karena tidak menggunakan ciphertext, probabilitas keberhasilannya adalah 50 %. Di lain pihak, terdapat penyerangan atas RSA yang memproduksi satu bit informasi tentang P, dengan probabilitas keberhasilan 100 %, menggunakan C. Jika diberikan suatu C acak maka tingkat kesuksesan turun menjadi 50%. Inilah yang disebut penyerangan nontrivial.
2.7.6
Known-Plaintext Attack
Penyerangan known-plaintext klasik memiliki F(P1,P2) = P1, G(C1,C2) = (C1,C2), dan H(P1,P2) tergantung hanya pada P2. Dengan kata lain, bila diberikan dua ciphertext C1 dan C2 dan satu dekripsi P1, penyerangan known-plaintext seharusnya menghasilkan informasi tentang dekripsi P2.
2.7.7
Brute-Force Attack
Umpamakan penyerangan known-plaintext berikut. Kita diberikan sejumlah plaintext P1,…,Pn-1 dan ciphertext C1,…,Cn-1. Kita juga diberikan sebuah ciphertext Cn. Kita jalankan seluruh kunci K. Bila kita temukan K sedemikian sehingga EK(P1) = Ci untuk setiap I
Universitas Sumatera Utara