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 :
  1. Wiretapping: Penyadap mencegat data yang ditransmisikan pada saluran kabel komunikasi dengan menggunakan sambungan perangkat keras.
  2. Electromagnetic Eavesdropping: Penyadap mencegat data yang ditransmisikan melalui saluran wireless, misalnya radio dan microwive.
  3. Acoustic Eavesdropping: Penyadap menangkap gelombang suara yang dihasilkan oleh suara manusia. 
Wiretapping

Electromagnetic Eavesdropping
Acoustic Eavesdropping

        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 : 
  1. Persamaan  matematis untuk menggambarkan  operasi  algoritma  kriptografi  sangat  kompleks  sehingga  algoritma  tidak  mungkin  dipecahkan  secara analitik. 
  2. Biaya untuk memecahkan cipherteks melampaui nilai informasi yang terkandung di dalam cipherteks tersebut.
  3. 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:
  1. Enkripsi dokumen di dalam storage (encryption at rest): Enkripsi dokumen (file) di dalam hard disk, flashdisk, CD, DVD, smartcard, cloud storage.
  2. 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:
  1. 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.
  2. 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.
  3. 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.
  1. Plainteks : pesan yang dirahasiakan.
  2. Chiperteks : pesan hasil penyandian.
  3. Enkripsi : proses penyandian dari plainteks ke chiperteks.
  4. Dekripsi : proses pembalikan dari chiperteks ke plainteks
  5. 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

Popular posts from this blog

Tugas 2 : Pengantar Kriptografi oleh Najla Qurrata

Tugas Trafik Untuk Nilai Tambahan UAS Oleh Najla Qurrata 4C

Kriptografi Klasik Oleh Najla Qurrata