Serangan Terhadap Kriptografi Oleh Najla Qurrata
Assalamualaikum Warahmatullahi Wabarakatuh
Nama: Najla Qurrata Aini Putri Yusrizal
Kelas / NIM : 4C/2103015179
Teknik Informatika
Serangan Terhadap Kriptografi
Keseluruhan point dari kriptografi adalah menjaga kerahasiaan plainteks (atau kunci, atau keduanya) dari penyadap (eavesdropper) atau kriptanalis (cryptanalyst). Penyadap bisa juga merangkap sebagai seorang kriptanalis. Nama lain penyadap, antara lain:
- Penyusup (intruder)
- Penyerang (attacker)
- Musuh (enemy, adversaries)
- Pencegat (interceptor)
- Lawan (opponent)
Penyadap berusaha mendapatkan data yang digunakan untuk kegiatan kriptanalisis (cryptanalysis). Kriptanalis berusaha mengungkap plainteks atau kunci dari data yang disadap, kriptanalis juga dapat menemukan kelemahan dari sistem kriptografi yang pada akhirnya mengarah untuk menemukan kunci dan mengungkap plainteks.
Serangan (attack) adalah setiap usaha (attempt) atau percobaan yang dilakukan oleh kriptanalis untuk menemukan kunci atau plainteks dari cipherteksnya. Berdasarkan keterlibatan penyerangan dalam komunikasi, serangan dapat dibagi berdasarkan keterlibatan penyerang dalam komunikasi, antara lain :
1. Serangan pasif (passive attack)
Pada jenis serangan ini, penyerang tidak terlibat dalam komunikasi antara pengirim dan penerima, namun penyerang menyadap semua pertukaran pesan antara kedua entitas tersebut. Tujuannya adalah untuk mendapatkan sebanyak mungkin informasi yang digunakan untuk kriptanalisis. Beberapa metode penyadapan data, antara lain :
- Wiretapping: Penyadap mencegat data yang ditransmisikan pada saluran kabel komunikasi dengan menggunakan sambungan perangkat keras.
- Electromagnetic Eavesdropping: Penyadap mencegat data yang ditransmisikan melalui saluran wireless, misalnya radio dan microwive.
- Acoustic Eavesdropping: Penyadap menangkap gelombang suara yang dihasilkan oleh suara manusia.
2. Serangan aktif (active attack)
Pada jenis serangan ini penyerang mengintervensi komunikasi dan ikut mempengaruhi sistem untuk keuntungan dirinya. Tujuannya adalah untuk mendapatkan informasi berharga seperti kunci atau nilai rahasia lainnya. Contohnya: man-in-the-middle attack.
Pada serangan ini, penyerang mengintersepsi komunikasi antara dua pihak yang berkomunikasi dan kemudian "menyerupai" salah satu pihak dengan cara bersikap seolah-olah ia adalah pihak yang berkomunikasi (pihak yang lainnya tidak menyadari kalau ia berkomunikasi dengan pihak yang salah). Caranya, penyerang memutus komunikasi antara dua pihak lalu menempatkan dirinya di antara keduanya. Seluruh informasi dari pengirim dan penerima akan diterima oleh penyerang. Penyerang mengubah pesan yang dikirim oleh pengirim sebenarnya dengan pesannya sendiri, lalu mengirimkannya ke penerima. Penerima mengira informasi tersebut berasal dari pengirim sebenarnya.
Secara umum, ada 2 teknik yang digunakan untuk menemukan kunci:
1. Exhaustive attack atau brute force attack: Percobaan yang dibuat untuk mengungkap plainteks atau kunci dengan mencoba semua kemungkinan kunci (trial and error).
Asumsi yang digunakan:
- Kriptanalis mengetahui algoritma kriptografi
- Kriptanalis memiliki sebagian plainteks dan cipherteks yang bersesuaian.
Cara: Plainteks yang diketahui dienkripsikan dengan setiap kemungkinan kunci, dan hasilnya dibandingkan dengan cipherteks yang bersesuaian. Jika hanya cipherteks yang tersedia, cipherteks tersebut didekripsi dengan dengan setiap kemungkinan kunci dan plainteks hasilnya diperiksa apakah mengandung makna.
Contoh: Sebuah sistem kriptografi membutuhkan kunci yang panjangnya 8 karakter, karakter dapat berupa angka (10 buah), huruf (26 huruf besar dan 26 huruf kecil), maka jumlah kunci yang harus dicoba adalah sebanyak:
62.62.62.62.62.62.62.62 = 6⁸
Solusi: Untuk menghadapi serangan ini, perancang kriptosistem (kriptografer) harus membuat kunci yang panjang dan tidak mudah ditebak.
2. Analytical attack: Kriptanalis tidak mencoba-coba semua kemungkinan kunci tetapi menganalisis kelemahan algoritma kriptografi untuk mengurangi kemungkinan kunci yang tidak mungkin ada. Metode ini biasanya lebih cepat menemukan kunci dibandingkan dengan exhaustive attack.
Asumsi yang digunakan: kriptanalis mengetahui algoritma kriptografi.
Cara: Memecahkan persamaan-persamaan matematika (yang diperoleh dari definisi suatu algoritma kriptografi) yang mengandung peubah-peubah yang merepresentasikan plainteks atau kunci.
Contoh:
Ada 25 pilihan untuk b dan 12 buah nilai m yang relatif prima dengan 26
(1, 3, 5, 7, 9, 11, 15, 17, 19, 21, 23, dan 25).
Lihat Affine Cipher:
Enkripsi: C ≡ m.P + b (mod n)
Dekripsi: P ≡ m–1 (C – b) (mod n)
Kunci: m dan b
Keterangan:
m: Bilangan bulat yang relatif prima dengan n
b: Jumlah pergeseran
Solusi: Untuk menghadapi serangan ini, kriptografer harus membuat algoritma kriptografi yang kompleks sedemikian sehingga plianteks merupakan fungsi matematika dari cipherteks dan kunci yang cukup kompleks, dan tiap kunci merupakan fungsi matematika dari cipherteks dan plainteks yang cukup kompleks.
Data yang digunakan untuk menyerang sistem kriptografi terbagi menjadi beberapa jenis sebagai berikut:
1. Chipertext-only Attack
Kriptanalis memiliki beberapa cipherteks dari beberapa pesan, semuanya dienkripsi dengan algoritma yang sama. Tugasnya adalah menemukan plainteks sebanyak mungkin atau menemukan kunci yang digunakan untuk mengenkripsi pesan. (C = ciphertext, P = plaintext, E = enkripsi, D = dekripsi, k = keys, kunci).
Diberikan : C1 = Ek(P1), C2 = Ek(P2),..., Ci = Ek(Pi)
Deduksi : P1, P2,..., Pi atau k untuk mendapatkan Pi+1 dari Ci+1 = Ek(Pi+1)
2. Known-plaintext Attack
Beberapa pesan yang formatnya terstruktur membuka peluang kepada kriptanalis untuk menerka plainteks dari cipherteks yang bersesuaian.
Diberikan : P1, C1 = Ek(P1), P2, C2 = Ek(P2),... Pi, Ci = Ek(Pi)
Deduksi : k untuk mendapatkan Pi+1 dari Ci+1 = Ek(Pi+1)
3. Chosen-plaintext Attack
Serangan jenis ini lebih hebat daripada known-plaintext attack, karena kriptanalis dapat memilih plainteks tertentu untuk dienkripsikan, yaitu plainteks-plainteks yang lebih mengarahkan penemuan kunci.
Diberikan : P1, C1 = Ek(P1), P2, C2 = Ek(P2),...Pi, Ci = Ek(Pi) di mana kriptanalis
dapat memilih di antara P1, P2, ,... Pi
Deduksi : k untuk mendapatkan Pi+1 dari Ci+1 = Ek(Pi+1)
4. Adaptive-chosen-plaintext Attack
Kasus khusus dari jenis serangan Chosen-plaintext Attack. Misalnya, kriptanalis memilih blok plainteks yang besar, lalu dienkripsi, kemudian blok lainnya yang lebih kecil berdasarkan hasil serangan sebelumnya, begitu seterusnya.
5. Chosen-ciphertext Attack
Kriptanalis memiliki akses terhadap cipherteks yang didekripsi (misalnya terhadap mesin elektronik yang melakukan dekripsi secara otomatis). Serangan ini dipakai pada algoritma kunci-publik.
Diberikan : C1, P1 = Dk(C1), C2, P2 = Dk(C2),..., Ci, Pi = Dk(Ci)
Deduksi : k (yang mungkin diperlukan untuk mendekripsi pesan pada waktu yang akan datang)
Keamanan Algoritma Kriptografi.
Sebuah algoritma kriptografi dikatakan aman (computationally secure) bila ia memenuhi tiga kriteria berikut :
- Persamaan matematis untuk menggambarkan operasi algoritma kriptografi sangat kompleks sehingga algoritma tidak mungkin dipecahkan secara analitik.
- Biaya untuk memecahkan cipherteks melampaui nilai informasi yang terkandung di dalam cipherteks tersebut.
- Waktu yang diperlukan untuk memecahkan cipherteks melampaui lamanya waktu informasi tersebut harus dijaga kerahasiaannya.
SOAL DAN JAWABAN (ESSAY)
1. Apa yang membuat enigma cipher sulit untuk di pecahkan?
Jawaban:
Enigma cipher sangat sulit untuk dipecahkan karena beberapa alasan. Pertama, rotor pada mesin Enigma dapat diputar dan diatur ulang dengan berbagai cara, sehingga membuat pola enkripsi yang dihasilkan sangat sulit untuk diprediksi. Kedua, Jerman mengubah pengaturan rotor pada mesin mereka secara teratur, sehingga membuat kriptanalisis yang telah berhasil tidak berguna untuk pesan yang baru dienkripsi. Ketiga, mesin Enigma menggunakan plugboard yang dapat diatur dengan banyak cara, sehingga meningkatkan jumlah kemungkinan pola enkripsi yang dapat dihasilkan.
2. Plaintext: Satu satunya hal yang aku tahu adalah bahwa aku tidak tahu apa apa
Kunci: socrates
Ciphertext: ?
Jawaban: kovl stxmfmc yae csfu cbu mezm ofrltl tsvyr ady larcb ttlm sdc rpt.
Rumus enkripsi: c1(p) = (p + k1) mod 26. Jika panjang kunci lebih pendek dari panjang plaintext, maka kunci diulang secara periodik. Menggunakan bujur sangkar vigenere sebagai berikut:
Plaintext: satu satunya hal yang aku tahu adalah bahwa aku tidak tahu apa apa
Kunci : socr atessoc rat esso cra tess ocrate ssocr ate ssocr ates soc rat
Ciphertext: kovl stxmfmc yae csfu cbu mezm ofrltl tsvyr ady larcb ttlm sdc rpt
3. Berapa banyak kemungkinan kunci yang dapat digunakan pada Vigenere Cipher jika kunci terdiri dari 8 karakter dan masing-masing karakter adalah huruf kapital dari A hingga Z?
Jawaban: 208.827.064.576
Terdapat 26^8 = 208.827.064.576 kemungkinan kunci yang dapat digunakan pada Vigenere Cipher jika kunci terdiri dari 8 karakter dan masing-masing karakter adalah huruf kapital dari A hingga Z.
4. Diketahui K = 5.
Ditanya = HKXGVGQGN NGYOR JGXO YGZA JOZGSHGN YGZA?
Jawaban: JAG.
Petunjuk K = 5 memberi isyarat bahwa K harus diganti menjadi huruf ke-5, yaitu E. Maka, aturan penggantian hurufnya diberikan dalam tabel berikut:
Dengan demikian, arti dari “HKXGVGQGN NGYOR JGXO YGZA JOZGSHGN YGZA?” adalah “BERAPAKAH HASIL DARI SATU DITAMBAH SATU?“. Jadi jawabannya adalah “DUA” atau bila diterjemahkan kembali akan menjadi JAG.
5. Percobaan yang dibuat untuk mengungkap plainteks atau kunci dengan mencoba semua kemungkinan kunci (trial and error) adalah...
Jawaban: Exhaustive attack atau brute force attack.
Caranya: plainteks yang diketahui dienkripsikan dengan setiap kemungkinan kunci, dan hasilnya dibandingkan dengan cipherteks yang bersesuaian. Jika hanya cipherteks yang tersedia, cipherteks tersebut didekripsi dengan dengan setiap kemungkinan kunci dan plainteks hasilnya diperiksa apakah sudah mengandung makna atau belum.
6. Informasi yang dibutuhkan oleh kriptanalisis dalam memecahkan cipherteks adalah...
Jawaban: Mengetahui bahasa yang ditulis pada plainteks. Informasi yang dibutuhkan oleh kriptanalisis adalah mengetahui bahasa yang digunakan untuk plainteks dan konteks plainteks-nya.
7. Bagaimana enkripsi dari kata "MATEMATIKA" dengan sandi yang telah di tentukan dengan menggunakan Vigènere Cipher! (kunci diskrit).
Jawaban: PILODIMLSS.
8. Sebuah pesan dienkripsi dengan menggunakan algoritma Affine Cipher dengan kunci a = 3 dan b = 7. Jika panjang pesan asli adalah 100 karakter, berapa jumlah kemungkinan pesan asli ada?
Jawaban: 4.0329146 x 10^142 (tergantung alfabet)
Pada algoritma Affine Cipher, jumlah kemungkinan pesan asli tergantung pada panjang alfabet yang digunakan dalam pesan. Jika alfabet yang digunakan adalah alfabet Inggris dengan 26 huruf, maka jumlah kemungkinan pesan asli adalah 26^100 = 4.0329146 x 10^142 kemungkinan pesan asli. Namun, jika alfabet yang digunakan lebih besar atau lebih kecil dari 26 huruf, maka jumlah kemungkinan pesan asli akan berbeda.
9. Parameter yang digunakan di dalam enkripsi dan dekripsi disebut?
Jawaban: Kunci, kriptografi memerlukan parameter untuk proses konversi yang dikendalikan oleh sebuah kunci atau beberapa kunci.
10. Bagaimana pola kemunculan huruf dapat digunakan untuk membantu dalam memecahkan Vigenere Cipher? Jelaskan metode-frekensi yang digunakan dalam serangan ini!
Jawaban:
Pola kemunculan huruf dapat digunakan untuk membantu dalam memecahkan Vigenere Cipher dengan menganalisis frekuensi kemunculan huruf dalam teks yang dienkripsi. Metode-frekensi digunakan dalam serangan ini dengan cara mencari pola frekuensi huruf yang sama dalam teks terenkripsi yang kemungkinan besar mewakili huruf yang sama dalam kunci yang digunakan untuk melakukan enkripsi. Dengan menemukan pola-pola ini, dapat dilakukan analisis kemungkinan huruf-huruf dalam kunci dan akhirnya dapat memecahkan teks yang dienkripsi.
11. Apa yang dimaksud dengan enkripsi dan sebutkan contohnya!
Jawaban:
Enkripsi (Encryption) adalah sebuah proses menjadikan pesan yang dapat dibaca (plaintext) menjadi pesan acak yang tidak dapat dibaca (ciphertext). Atau yaitu dengan mengganti masing-masing huruf dengan 3 huruf selanjutnya ( Additive/Substitution Cipher). Contoh:
Plaintext: KOMPOR
Ciphertext: QUSVUX
12. Vigenere Cipher dapat mencegah frekuensi huruf-huruf di dalam cipherteks yang mempunyai pola tertentu yang sama seperti pada?
Jawaban: Cipher abjad-tunggal.
Abjad pengganti atau huruf ciphernya benar-benar disusun secara acak tanpa ada pola tertentu sehingga kunci dari kriptografi jenis ini adalah pada susunan seluruh huruf penggantinya. Sehingga bila kuncinya hilang, maka akan sangat sulit memecahkan cipherteks nya karena banyak sekali kemungkinannya.
13. Asumsi yang digunakan oleh analytical attack adalah...
Jawaban: Kriptanalis mengetahui algoritma kriptografi.
Untuk menghadapi serangan ini, kriptografer harus membuat algoritma kriptografi yang kompleks sedemikian sehingga plianteks merupakan fungsi matematika dari cipherteks dan kunci yang cukup kompleks, dan tiap kunci merupakan fungsi matematika dari cipherteks dan plainteks yang cukup kompleks
14. Sebutkan dan jelaskan dua aplikasi utama enkripsi!
Jawaban:
- Enkripsi dokumen di dalam storage (encryption at rest): Enkripsi dokumen (file) di dalam hard disk, flashdisk, CD, DVD, smartcard, cloud storage.
- Enkripsi pesan yang dikirim (encryption on motion), antara lain:
- Enkripsi PIN kartu ATM yang ditransmisikan dari mesin ATM ke komputer server bank.
- Enkripsi password yang diberikan oleh pengguna ke computer host/server
- Enkripsi nomor kartu kredit pada transaksi e-commerce di internet.
- Enkripsi siaran televisi berbayar (Pay TV)
- Enkripsi pesan (teks, audio, video) melalui Whatsapp
- Enkripsi percakapan melalui ponsel (di negara-negara tertentu)
15. Kompleksitas serangan dapat diukur dengan 3 cara, sebutkan dan jelaskan!
Jawaban:
- Kompleksitas data (data complexity): Jumlah data yang dibutuhkan sebagai masukan untuk serangan. Jadi, semakin banyak data yang dibutuhkan untuk melakukan serangan, berarti semakin bagus algoritma kriptografi tersebut.
- Kompleksitas waktu (time complexity/work factor): Waktu yang dibutuhkan untuk melakukan serangan. Jadi, Semakin lama waktu yang dibutuhkan untuk untuk melakukan serangan, berarti semakin bagus algoritma kriptografi tersebut.
- Kompleksitas ruang memori (space/storage complexity): Jumlah memori yang dibutuhkan untuk melakukan serangan. Jadi, semakin banyak memori yang yang dibutuhkan untuk untuk melakukan serangan, berarti semakin bagus algoritma kriptografi tersebut.
16. Apa yang dimaksud dengan deskripsi dan sebutkan contohnya!
Jawaban:
Deskripsi (Descryption) merupakan proses kebalikan dari enkripsi dimana proses ini akan mengubah ciphertext menjadi plaintext dengan menggunakan algortima ‘pembalik’ dan key yang sama. Contoh:
Ciphertext: QUSVUX
Plaintext: KOMPOR
17. Sebutkan dan jelaskan terminologi dasar pada kriptografi ?
Jawaban: Plainteks, chiperteks, enkripsi, deskripsi, algoritma kriptografi.
- Plainteks : pesan yang dirahasiakan.
- Chiperteks : pesan hasil penyandian.
- Enkripsi : proses penyandian dari plainteks ke chiperteks.
- Dekripsi : proses pembalikan dari chiperteks ke plainteks
- Algoritma kriptografi : fungsi matematika yang digunakan untuk enkripsi dan dekripsi.
18. Plaintext: SERANG MARKAS MUSUH DARI UTARA JAM TUJUH PAGI
Kunci: indonesia
Ciphertext: ?
Jawaban: FI QB IH HF XR BA UZ FP KN BQ EP QC QB NS LU PE QM QS PS.
- Bagi setiap huruf menjadi berpasang pasangan
SE RA NG MA RK AS MU SU HD AR IU TA RA JA MT UJ UH PA GI
- Membuang huruf di kata kunci yang berulang dan huruf j
INDOESA
- Membuat table 5x5 dengan memasukkan kata kunci yang sudah dibuang huruf berulang dan huruf j, serta ditambahkan huruf yang belum terdapat pada kata kunci sehingga table menjadi penuh.
- Jika antara 2 huruf pasangan tersebut tidak satu baris atau satu kolom pada tabel (ingat baris itu mendatar, kolom itu dari atas ke bawah), maka gunakanlah 2 huruf yang menjadi pertemuan dari huruf tersebut.
- Jika antara 2 huruf yang berpasangan itu berada satu kolom pada tabel, maka masing-masing huruf akan turun 1 tingkat ke bawahnya.
- Jika antara 2 huruf yang berpasangan berada itu satu baris dalam tabel, maka masing-masing huruf akan ke kanan 1 langkah.
Chipertext: FI QB IH HF XR BA UZ FP KN BQ EP QC QB NS LU PE QM QS PS
19. Jika rotor pertama memiliki 26 kemungkinan posisi, rotor kedua memiliki 25 kemungkinan posisi, dan rotor ketiga memiliki 24 kemungkinan posisi, berapa jumlah total kemungkinan konfigurasi awal pada mesin Enigma Cipher dengan tiga rotor?
Jawaban: 15.600
Jumlah total kemungkinan konfigurasi awal adalah 15.600.
Jumlah total kemungkinan konfigurasi awal dapat dihitung dengan mengalikan jumlah kemungkinan posisi pada setiap rotor:
26 x 25 x 24 = 15.600
20. Diberikan ciphertext “LJSZQ”, dan kunci “WIZARD”. Dekripsikan ciphertext tersebut menggunakan Vigenere Cipher.
Jawaban: HAGRI
Untuk dekripsi Vigenere Cipher, kita membutuhkan kunci yang sama dengan kunci yang digunakan pada enkripsi. Karena diberikan kunci “WIZARD”, kita dapat menggunakan kunci tersebut untuk melakukan dekripsi.
Langkah pertama yang perlu dilakukan adalah mengubah kunci menjadi angka, dengan menggunakan nilai dari setiap huruf dalam alfabet. Misalnya, huruf A memiliki nilai 0, huruf B memiliki nilai 1, dan seterusnya hingga huruf Z memiliki nilai 25. Dengan cara ini, kunci “WIZARD” dapat diubah menjadi angka-angka sebagai berikut:
W = 22
I = 8
Z = 25
A = 0
R = 17
D = 3
Selanjutnya, kita perlu mengulang-ulang kunci sesuai dengan panjang ciphertext. Karena ciphertext “LJSZQ” terdiri dari 5 karakter, maka kunci “WIZARD” perlu diulang sebanyak 2 kali agar panjangnya sama dengan ciphertext, sehingga kita memperoleh:
W I Z A R D W I.
Kemudian, untuk setiap karakter ciphertext, kita dapat melakukan dekripsi dengan menggunakan kunci yang telah diubah menjadi angka. Caranya adalah dengan mengurangkan nilai angka dari ciphertext dengan nilai angka dari kunci, dan kemudian mengambil sisa hasil bagi dari hasil pengurangan tersebut dengan 26. Misalnya, untuk karakter pertama pada ciphertext, yaitu “L”, kita dapat melakukan dekripsi dengan cara berikut:
- L memiliki nilai 11 dalam alfabet.
- Kunci pada posisi pertama adalah “W”, yang memiliki nilai 22 dalam alfabet.
- Hasil pengurangan adalah -11 + 22 = 11.
- Sisa hasil bagi dari 11 dibagi 26 adalah 11, yang sesuai dengan karakter “L” pada plaintext.
Berikut adalah hasil dekripsi untuk seluruh karakter pada ciphertext “LJSZQ”:
L -> L: 11 – 22 = -11, sisa hasil bagi -11 mod 26 = 11 (L)
J -> V: 9 – 8 = 1, sisa hasil bagi 1 mod 26 = 1 (A)
S -> M: 18 – 25 = -7, sisa hasil bagi -7 mod 26 = 19 (T)
Z -> S: 25 – 0 = 25, sisa hasil bagi 25 mod 26 = 25 (Z)
Q -> L: 16 – 17 = -1, sisa hasil bagi -1 mod 26 = 25 (Y)
Maka, plaintext dari ciphertext “LJSZQ” dengan kunci “WIZARD” adalah “LATSZY”. Kita dapat menggunakan tabel Vigenere untuk mendekripsi setiap karakter pada ciphertext. Sehingga, hasil dekripsi nya adalah “HAGRI”.
Wassalamualaikum Warahmatullahi Wabarakatuh
Sumber pengerjaan tugas: https://onlinelearning.uhamka.ac.id
Comments
Post a Comment