Home

Minggu, 12 November 2023

Pertemuan 5

PERTEMUAN 5 CRYPTOGRAPHY

A. TUJUAN PEMBELAJARAN

Pada Pertemuan ini akan dijelaskan mengenai kriptografi. Setelah mempelajari materi ini mahasiswa diharapkan mampu untuk:

1.        Menjelaskan pengertian kriptografi

2.        Memahami symmetric chipers model

3.        Memahami Teknik Substitusi

B. URAIAN MATERI 1.          Menjelaskan Pengertian Kriptografi

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. Tanpa mencoba memberikan karakterisasi yang lengkap, kami akan mengatakan bahwa kriptografi modern melibatkan studi teknik matematika untuk mengamankan informasi digital, sistem, dan komputasi terdistribusi terhadap serangan permusuhan.

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. Perspektif ini, pada gilirannya, memengaruhi cara para peneliti berpikir tentang bidang keamanan komputer yang lebih luas.

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 dimensi 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. Persyaratan mendasar adalah tidak ada informasi yang hilang (yaitu, bahwa semua operasi dapat dibalik). Kebanyakan sistem, yang disebut sebagai sistem produk, melibatkan banyak tahapan substitusi dan transposisi.

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. Jika pengirim dan penerima menggunakan kunci yang berbeda, sistem ini disebut sebagai enkripsi asimetris, dua kunci, atau kunci publik.

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. Stream cipher memproses elemen input secara terus menerus, menghasilkan output satu elemen pada satu waktu, seiring berjalannya waktu.

a. Cryptanalysis and Brute-Force Attack

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

1)        Cryptanalysis

Serangan cryptanalysis bergantung pada sifat dari algoritme ditambah mungkin beberapa pengetahuan tentang karakteristik umum dari teks biasa atau bahkan beberapa contoh pasangan teks-teks-teks. Jenis serangan ini memanfaatkan karakteristik algoritme untuk mencoba menyimpulkan teks biasa atau menyimpulkan kunci yang digunakan.

2)        Brute-force attack

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

Jika salah satu jenis serangan berhasil menyimpulkan kunci tersebut, efeknya adalah bencana besar: Semua pesan masa depan dan masa lalu yang dienkripsi dengan kunci tersebut akan disusupi.

Tabel 1. merangkum berbagai jenis cryptanalytic attacks berdasarkan jumlah informasi yang diketahui oleh kriptanalis. Masalah paling sulit disajikan ketika semua yang tersedia hanya ciphertext 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 di bawah 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). Lima bahan skema enkripsi simetris, diantaranya:

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 substitusi dan transformasi pada teks biasa.

c.    Secret Key: Kunci rahasia juga dimasukkan ke dalam algoritma 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. Substitusi 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. Untuk pesan tertentu, dua kunci berbeda akan menghasilkan dua teks sandi yang berbeda. Ciphertext adalah aliran data yang tampaknya acak dan, seperti berdiri, tidak dapat dipahami.

e.    Decryption algorithm: pada dasarnya adalah algoritma enkripsi yang berjalan secara terbalik. Ini mengambil teks sandi dan kunci tersembunyi, kemudian mengbuahkan teks orisinil.

Gambar 6. Model Enkripsi Simetris yang Disederhanakan

Agar aman dari enkripsi konvensional, berikut dua syarat penggunaannya:

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.

Mari kita lihat lebih dekat pada elemen penting dari skema enkripsi simetris, menggunakan Gambar 2. Sumber 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]. Kita bisa menulis ini sebagai

Y = E (K, X)

Notasi ini menunjukkan bahwa Y dihasilkan dengan menggunakan algoritma enkripsi E sebagai fungsi dari teks biasa X, dengan fungsi spesifik ditentukan oleh nilai kunci K. Penerima yang dituju, yang memiliki kunci, mampu membalik:

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 enkripsi (E) dan dekripsi (D). Jika lawan hanya tertarik pada pesan khusus ini, maka fokus dari usahanya adalah untuk memulihkan X dengan membuat perkiraan teks biasa X n. Seringkali, bagaimanapun, lawan tertarik untuk bisa membaca pesan masa depan juga, dalam hal ini upaya dilakukan untuk memulihkan K dengan membuat perkiraan K n.

      3.          Memahami Teknik Substitusi

Di bagian ini dan selanjutnya, kita memeriksa sampel dari apa yang mungkin disebut teknik enkripsi klasik. Sebuah studi tentang teknik ini memungkinkan kita untuk mengilustrasikan pendekatan dasar enkripsi simetris yang digunakan saat ini dan jenis serangan kriptanalitik yang harus diantisipasi.

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 alfabet dengan huruf berdiri tiga tempat lebih jauh di bawah alfabet. Sebagai contoh.

plain: temui aku setelah pesta toga

chiper: PHHW PH DIWHU WKH WRJD SDUWB

Perhatikan bahwa alfabet dililitkan 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 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

Mari kita tetapkan angka yang setara untuk setiap huruf:

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. Monoalphabetic Ciphers

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:


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.

Namun, ada garis serangan lain. Jika kriptanalis mengetahui 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:


Sebagai langkah pertama, frekuensi relatif huruf dapat ditentukan dan dibandingkan dengan distribusi frekuensi standar untuk bahasa Inggris, seperti yang ditunjukkan pada Gambar 4.



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}.

Ada beberapa cara untuk melanjutkan pada tahap ini. Kita dapat membuat beberapa tugas tentatif dan mulai mengisi teks biasa untuk melihat apakah itu tampak seperti "kerangka" pesan yang masuk akal. Pendekatan yang lebih sistematis adalah mencari keteraturan lainnya. Misalnya, kata-kata tertentu mungkin diketahui ada di dalam teks. Atau kita bisa mencari urutan huruf sandi yang berulang dan mencoba menyimpulkan padanan teks biasa mereka.

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. Sekarang perhatikan bahwa urutan ZWP muncul di ciphertext, dan kita dapat menerjemahkan urutan itu sebagai "the." Ini adalah trigram (kombinasi tiga huruf) yang paling sering digunakan dalam bahasa Inggris, yang sepertinya menunjukkan bahwa kita berada di jalur yang benar.

Selanjutnya, perhatikan urutan ZWSZ di baris pertama. Kita tidak tahu bahwa keempat huruf ini membentuk kata yang lengkap, tetapi jika demikian, bentuknya th_t. Jika demikian, S sama dengan a.



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  dibuat menggunakan kata kunci. Berikut adalah contoh yang dipecahkan oleh Lord Peter Wimsey dalam Dorothy Sayers’s Have His Carcase.



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 masingmasing 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).



Tidak ada komentar:

Posting Komentar