Pertemuan 5 Cryptography

 Pertemuan 5 Cryptography

1. Menjelaskan Pengertian Kriptograffi

    Kriptografi sebagai "seni menulis atau memecahkan kode." Ini secara historis akurat tetapi tidak menangkap luasnya bidang ini atau fondasi ilmiahnya saat ini. Definisi tersebut hanya berfokus pada kode-kode yang telah digunakan selama berabad-abad untuk memungkinkan komunikasi rahasia. Tetapi kriptografi saat ini mencakup lebih dari itu, berkaitan dengan mekanisme untuk memastikan integritas, teknik untuk bertukar kunci rahasia, protokol untuk mengautentikasi pengguna, lelang dan pemilihan elektronik, uang digital, dan banyak lagi.

   Definisi kamus juga mengacu pada kriptografi sebagai seni. Sampai akhir abad ke-20, kriptografi memang sebagian besar merupakan seni. Membangun kode yang baik, atau memecahkan kode yang sudah ada, bergantung pada kreativitas dan pemahaman yang berkembang tentang cara kerja kode. Hanya ada sedikit teori yang dapat diandalkan dan, untuk waktu yang lama, tidak ada definisi yang berfungsi tentang apa yang merupakan kode yang baik. Dimulai pada 1970-an dan 1980-an, gambaran kriptografi ini berubah secara seluruhnya. Sebuah teori yang kaya mulai muncul, memungkinkan studi kriptografi yang ketat sebagai ilmu dan disiplin matematika. 

   Perbedaan lain yang sangat penting antara kriptografi klasik (katakanlah, sebelum 1980-an) dan kriptografi modern berkaitan dengan pengadopsiannya. Secara historis, konsumen utama kriptografi adalah organisasi militer dan pemerintah. Hari ini, kriptografi ada dimana-mana, Jika anda pernah mengautentikasi diri dengan mengetik sandi, membeli sesuatu dengan kartu kredit melalui Internet, atau mengunduh pembaruan terverifikasi untuk sistem operasi Anda. Tidak diragukan lagi Anda telah menggunakan kriptografi. Dan, semakin banyak, programmer dengan pengalaman yang relatif sedikit diminta untuk "mengamankan" aplikasi yang mereka tulis dengan memasukkan mekanisme kriptografi.

Sistem kriptografi dicirikan oleh tiga mensi independen, yaitu:

a.  The type of operations used for transforming plaintext to ciphertext, Semua algoritma enkripsi didasarkan pada dua prinsip umum: substitusi, di mana setiap elemen dalam teks biasa (bit, huruf, kelompok bit atau huruf) dipetakan menjadi elemen lain, dan transposisi, di mana elemen dalam teks biasa disusun ulang.

b.  The number of keys used, Jika pengirim dan penerima menggunakan kunci yang sama, sistem ini disebut enkripsi simetris, kunci tunggal, kunci rahasia, atau konvensional. 

c. The way in which the plaintext is processed, Sebuah block cipher memproses masukan satu blok elemen pada satu waktu, menghasilkan satu blok keluaran untuk setiap blok masukan. 

A.  Cryptanalysis and Brute-Force Attack

Biasanya, tujuan menyerang sistem enkripsi adalah  untuk memulihakn kunci yang digunakan daripada hanya untuk memulihkan teks biasa dari satu teks sandi. Ada dua pendekatan umun untuk menyerang skema enkripsi konversilnya:

- Cryptanalysis
Serangan cryptanalysis bergantung pada sifat dari alogritma ditambahmungkin beberapa pengetahuan tentang karakteristik umun dari teks biasa atau bahkan beberapa contoh pasangan teks-teks. Jenis serangan ini memanfaatkan karakteristik algoritma untuk mencoba menyimpulkan teks biasa atau menyimpulkan kunci yang digunakan.

- Brute -force attack
Penyerangan mencoba setiap kunci yang mungkin pada sepotong teks sandi sampai terjemahan yang jelas ke dalam teks biasa diperoleh. Rata-rata, sampai setengah dari semua kunci yang mungkin harus coba untuk mencapai kesuksesan.

   Tabel 1. Merangkum berbagai jenis cryptanalytic attacks berdasarkan jumlah informasi yang diketahui oleh kriptanalis. Masalah paling sulit disajikan ketika semua yang tersedia  hanyaciphertext saja. Dalam beberapa kasus, bahkan algoritma enkripsi tidak diketahui, tetapi secara umum, kita dapat berasumsi bahwa lawan mengetahui algoritma yang digunakan untuk enkripsi. Satu kemungkinan serangan dibawah ini:


Tabel 2. Jenis Serangan Pada Pesan Terenkripsi


2.  Memahami Symmetric Chipers Model  

     Symmetric Chiper Model atau skema enkripsi asimetris adalah algoritma untuk kriptografi yang menggunakan kunci kriptografi yang sama untuk enkripsi teks biasa dan dekripsi teks sandi . Kunci mungkin identik atau mungkin ada transformasi sederhana di antara dua kunci. Dalam praktiknya, kunci mewakili rahasia bersama antara dua pihak atau lebih yang dapat digunakan untuk memelihara tautan informasi pribadi. Persyaratan bahwa kedua belah pihak memiliki akses ke kunci rahasia adalah salah satu kelemahan utama enkripsi kunci simetris, dibandingkan dengan enkripsi kunci publik (juga dikenal sebagai enkripsi kunci asimetris).

a. Plaintext : Ini adalah pesan atau data asli yang dapat dipahami yang dimasukkan ke dalam algoritme sebagai input.

b. Encryption algorithm : Algoritme enkripsi melakukan berbagai subsitusi dan transformasi pada teks biasa.

c.  Secret key : Kunci rahasia juga dimasukkan ke dalam algoritme enkripsi. Kunci adalah nilai yang tidak bergantung pada teks biasa dan algoritme. Algoritme akan menghasilkan keluaran yang berbeda tergantung pada kunci spesifik yang digunakan pada saat itu. Subsitusi dan transformasi persis yang dilakukan oleh algoritme bergantung pada kunci.

d. Chipertext : Ini adalah pesan acak yang dihasilkan sebagai informasi. itu tergantung pada teks biasa dan kunci rahasia.

e. Decryption algorithm : Pada dasarnya adalah algorithm enkripsi yang berjalan secara terbalik.


Gambar 6. Model Enkripsi Simetris yang Disederhanakan


a. Kita membutuhkan algoritma enkripsi yang kuat. Paling tidak, kita ingin algoritme sedemikian rupa sehingga siapapun tidak akan dapat memecahkan ciphertext atau mengetahui kuncinya. Kondisi ini biasanya dinyatakan dalam bentuk yang lebih kuat: Lawan harus tidak dapat mendekripsi ciphertext atau menemukan kuncinya terlebih jika dia memiliki sejumlah ciphertext bersama dengan plaintext yang menghasilkan setiap ciphertext.

b.Sender dan receiver harus mendapatkan salinan dari kunci dengan cara yang aman juga mesti menyimpan kunci tersebut dengan aman. Apabila seseorang mampu menemukan dan mengetahui algoritma kunci tersebut, semua informasi/ komunikasi yang menggunakan kunci tersebut mampu untuk dibaca

Tidak efektif untuk mendekripsi pesan berdasarkan ciphertext ditambah pengetahuan tentang algoritma enkripsi / dekripsi. Dengan kata lain, kita tidak perlu merahasiakan algoritme; kita hanya perlu merahasiakan kuncinya. Fitur enkripsi simetris inilah yang membuatnya layak untuk digunakan secara luas. Fakta bahwa algoritme tidak perlu dirahasiakan.


Gambar 7. Model Sistem Kriptografi Simetris

Mengembangkan implementasi chip berbiaya rendah dari algoritma enkripsi data. chip ini banyak tersedia dan dapat digabungkan ke dalam sejumlah produk. Dengan penggunaan enkripsi simetris, masalah keamanan utama adalah menjaga kerahasiaan kunci menghasilkan pesan dalam teks biasa, X = [X1, X2, c, XM]. Unsur M dari X adalah huruf dalam beberapa alfabet terbatas. Secara tradisional, alfabet biasanya terdiri dari 26 huruf kapital. Saat ini, alfabet biner {0, 1} biasanya digunakan. Untuk enkripsi, kunci dalam bentuk K = [K1, K2, c, KJ] dibuat. Jika kunci dibuat di sumber pesan, maka kunci tersebut juga harus diberikan ke tujuan melalui beberapa saluran aman. Alternatifnya, pihak ketiga dapat membuat kunci dan mengirimkannya dengan aman ke sumber dan tujuan. Dengan pesan X dan kunci enkripsi K sebagai input, algoritma enkripsi membentuk ciphertext Y = [Y1, Y2, c, YN].

Y = E (K, X)

Notasi ini menunjukkan bahwa Y dihasilkan dengan menggunakan algoritma enkripsi E sebagai fungsi dari teks biasa X, dengan fungsi spesifik.

                                                                X = D (K,Y)


Suatu yang berlawanan, mengamati  Y tetapi  tidak memiliki akses ke K atau X, dan dapat mencoba untuk memulihkan X atau K atau juga keduanya X dan K.  diasumsikan bahwa lawan mengetahui algoritma (E) dan  deskripsi (D). jika lawan hanya tertarik pada pesan khusus ini, maka fokus dari usahanya adalah untuk memulihkan X dengan membuat perkiraan teks biasa X n. 

3.  Memahami Teknik Substitusi

     Teknik substitusi adalah teknik dimana huruf-huruf dalam teks biasa diganti dengan huruf lain atau dengan angka atau simbol.1 Jika teks biasa dilihat sebagai urutan bit, maka substitusi melibatkan penggantian pola bit teks biasa dengan pola bit teks tersandi.

a. Caesar Cipher
   
    Penggunaan  sandi substitusi yang paling awal diketahui dan paling sederhana dilakukan oleh julius caesar. Sandi caesar melibatkan penggantian setiap huruf berdiri tiga temapt lebih jauh di bawah alfabet. sebagai contoh. 

     plain : temui aku setelah pesta toga
     chiper : PHHW PH DIWHU WKH WRDJ SDUWB

    Perhatikan bahwa alfabet diilitkan sehingga huruf setelah Z adalah A. kita dapat mendefinisikan transformasi dengan mendaftar semua kemungkinan, sebagai berikut: 

     plain : 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 
     chiper : 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

Mari kita tetapkan angka yang setara untuk setiap haruf :




Maka algoritmanya dapat diekspresikan sebagai berikut. Untuk setiap huruf p teks biasa, gantikan dengan huruf ciphertext C: 2

C = E (3, p) = (p + 3) mod 26

Pergeseran bisa berapapun jumlahnya sehingga algoritma Caesar umumnya adalah:

C = E (k, p) = (p + k) mod 26

di mana k mengambil nilai dalam rentang 1 hingga 25. Algoritme dekripsi sederhana:

p = D (k, C) = (C - k) mod 26

Jika diketahui bahwa ciphertext yang diberikan adalah sandi Caesar, maka kriptanalisis brute force mudah dilakukan: coba saja semua 25 kunci yang mungkin. Gambar 3 menunjukkan hasil penerapan strategi ini pada contoh ciphertext. Dalam kasus ini, teks biasa muncul sebagai menempati baris ketiga. 

Tiga karakteristik penting dari masalah ini memungkinkan kami untuk menggunakan kriptanalisis brute force:

1) Algoritma enkripsi dan dekripsi diketahui.
2) Hanya ada 25 kunci untuk dicoba.
3) Bahasa teks biasa dikenal dan mudah dikenali.


Gambar 8. Brute-Force Cryptanalysis Of Caesar Chiper 

b. Monoalphabethic Chiphers 

     Dengan hanya 25 kemungkinan kunci, sandi Caesar jauh dari aman. Peningkatan dramatis dalam ruang kunci dapat dicapai dengan mengizinkan penggantian yang sewenang-wenang. Sebelum melanjutkan, kami mendefinisikan istilah permutasi. Permutasi dari himpunan hingga elemen S adalah urutan terurut dari semua elemen S, dengan setiap elemen muncul tepat satu kali. Misalnya, jika S = {a, b, c}, ada enam permutasi dari S:

abc, acb, bac, bca, cab, cba

    Secara umum, terdapat n! permutasi himpunan n elemen, karena elemen pertama dapat dipilih dengan salah satu dari n cara, yang kedua dengan n - 1 cara, yang ketiga dengan n - 2 cara, dan seterusnya. Ingat tugas untuk sandi Caesar:

       plain: 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
      cipher: 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

    Sebaliknya, jika baris "sandi" dapat berupa permutasi apa pun dari 26 karakter alfabet, maka ada 26! atau lebih besar dari 4 * 1026 kemungkinan kunci. Ini adalah 10 kali lipat lebih besar dari ruang kunci untuk DES dan tampaknya menghilangkan teknik brute force untuk kriptanalisis. Pendekatan semacam itu disebut sebagai sandi substitusi monoalphabetic, karena satu alfabet sandi (pemetaan dari alfabet biasa ke alfabet sandi) digunakan per pesan.

    Jika kriptanailisis sifat dari teks biasa, maka analis dapat memanfaatkan keteraturan bahasa tersebut. Untuk melihat bagaimana kriptanalisis dapat berjalan, kami memberikan contoh parsial di sini yang diadaptasi dari salah satu di [SINK09]. Ciphertext yang harus dipecahkan adalah:

     UZQSOVUOHXMOPVGPOZPEVSGZWSZOPFPESXUDBMETSXAIZ
    VUEPHZHMDZSHZOWSFPAPPDTSVPQUZWYMXUZUHSX
    EPYEPOPDZSZUFPOMBZWPFUPZHMDJUDTMOHMQ

Sebagai langkah pertama, frekuensi relatif huruf dapat ditentukan dan dibandingkan dengan distribusi frekuensi standar untuk bahasa Inggris. 


Gambar 9. Distribusi Frekuensi 

     Membandingkan rincian ini dengan Gambar 3 nampaknya huruf sandi P dan Z setara dengan huruf biasa e dan t, tetapi tidak pasti yang mana. Huruf S, U, O, M, dan H semuanya memiliki frekuensi yang relatif tinggi dan mungkin berhubungan dengan huruf biasa dari himpunan {a, h, i, n, o, r, s}. Huruf-huruf dengan frekuensi terendah (yaitu, A, B, G, Y, I, J) kemungkinan besar termasuk dalam himpunan {b, j, k, q, v, x, z}. 

alat yang ampuh adalah dengan melihat frekuensi kombinasi dua huruf, yang dikenal sebagai digram. Tabel yang mirip dengan Gambar 3 dapat dibuat untuk menunjukkan frekuensi relatif dari digram. Digram seperti itu yang paling umum adalah th. Dalam ciphertext kami, diagram yang paling umum adalah ZW, yang muncul tiga kali. Jadi kita buat korespondensi Z dengan t dan W dengan h. Kemudian, dengan hipotesis sebelumnya, kita dapat menyamakan P dengan e.

Gambar 10. Relative Frequency Of Letters

c. Playfair Cipher

    Sandi enkripsi banyak huruf yang paling terkenal adalah Playfair, yang memperlakukan diagram dalam teks biasa sebagai unit tunggal dan menerjemahkan unit-unit ini menjadi diagram ciphertext. Algoritma Playfair didasarkan pada penggunaan matriks huruf 5 * 5 yang dibuat menggunakan kata kunci. Berikut adalah contoh yang dipecahkan oleh LordPeterWimseydalamDorothySayers’sHaveHisCarcase.

Tabel 3. Contoh Matriks Huruf 5*5

     Dalam hal ini, kata kuncinya adalah monarki. Matriks dibuat dengan mengisi huruf-huruf dari kata kunci (minus duplikat) dari kiri ke kanan dan dari atas ke bawah, dan kemudian mengisi sisa matriks dengan huruf-huruf yang tersisa dalam urutan abjad. Huruf I dan J dihitung sebagai satu huruf. Plaintext dienkripsi dua huruf sekaligus, menurut aturan berikut:

1) Huruf teks biasa yang berulang dalam pasangan yang sama dipisahkan dengan huruf pengisi, seperti x, sehingga balon akan diperlakukan sebagai ba lx lo on.

2) Dua huruf teks biasa yang berada dalam baris matriks yang sama masing-masing diganti dengan huruf di sebelah kanan, dengan elemen pertama baris secara melingkar mengikuti yang terakhir. Misalnya, ar dienkripsi sebagai RM.

3) Dua huruf teks biasa yang berada di kolom yang sama masing-masing diganti dengan huruf di bawahnya, dengan elemen teratas kolom secara melingkar mengikuti yang terakhir. Misalnya, mu dienkripsi sebagai CM
.
4) Jika tidak, setiap huruf teks biasa berpasangan diganti dengan huruf yang ada di barisnya sendiri dan kolom yang ditempati oleh huruf teks biasa lainnya. Jadi, hs menjadi BP dan ea menjadi IM (atau JM, sesuai keinginan pembuat enkrip).

Komentar

Postingan populer dari blog ini

Pertemuan 10 Network Security (Lanjutan)

Pertemuan 13 Ekploitasi Keamanan

Pertemuan 14 Pengenalan Dan Penanggulangan Virus,Trojan, Dan Worm