Perkuliahan6 KSK C31040319 Kelas : D (Jum'at, 23 Oktober 2020)
Nama : Gilang Dwiki Meylando
NIM : 201931187
KRIPTOGRAFI
Apa itu kriptografi?
Sejarah Kriptografi
Sejarah penulisan rahasia tertua dapat ditemukan pada peradaban Mesir kuno, yakni tahun 3000 SM. Bangsa Mesir menggunakan ukiran rahasia yang disebut dengan hieroglyphics untuk menyampaikan pesan kepada orang-orang yang berhak.
Awal tahun 400 SM bangsa Spartan di Yunani memanfaatkan kriptografi di bidang militer dengan menggunakan alat yang disebut scytale,
yakni pita panjang berbahan daun papyrus yang dibaca dengan cara
digulungkan ke sebatang silinder. Sedangkan peradaban Cina dan Jepang
menemukan kriptografi pada abad 15 M.
Peradaban Islam juga menemukan kriptografi karena penguasaannya terhadap
matematika, statistik, dan linguistik. Bahkan teknik kriptanalisis
dipaparkan untuk pertama kalinya pada abad 9 M oleh seorang ilmuwan
bernama Abu Yusuf Ya’qub ibn ‘Ishaq as-Shabbah al Kindi atau dikenal
dengan Al-Kindi yang menulis kitab tentang seni memecahkan kode.
Kitabnya berjudul Risalah fi Istikhraj al-Mu’amma (Manuskrip
untuk memecahkan pesan-pesan Kriptografi). Terinspirasi dari perulangan
huruf dalam Al-Qur’an, Al-Kindi menemukan teknik analisis frekuensi,
yakni teknik untuk memecahkan ciphertext berdasarkan frekuensi
kemunculan karakter pada sebuah pesan (Wirdasari, 2008).
Tujuan Kriptografi
- Kerahasiaan, adalah layanan yang digunakan untuk menjaga isi dari informasi dari siapapun kecuali yang memiliki otoritas atau kunci rahasia untuk membuka/mengupas informasi yang telah disandi.
- Integritas data, adalah berhubungan dengan penjagaan dari perubahan data secara tidak sah. Untuk menjaga integritas data, sistem harus memiliki kemampuan untuk mendeteksi manipulasi data oleh pihak-pihak yang tidak berhak, antara lain penyisipan, penghapusan, dan pensubsitusian data lain kedalam data yang sebenarnya.
- Autentikasi, adalah berhubungan dengan identifikasi/pengenalan, baik secara kesatuan sistem maupun informasi itu sendiri. Dua pihak yang saling berkomunikasi harus saling memperkenalkan diri. Informasi yang dikirimkan melalui kanal harus diautentikasi keaslian, isi datanya, waktu pengiriman, dan lain-lain.
- Non-repudiasi., atau nirpenyangkalan adalah usaha untuk mencegah
terjadinya penyangkalan terhadap pengiriman/terciptanya suatu informasi
oleh yang mengirimkan/membuat.
Kriptografi Proses
Plaintext
|
Ciphertext
|
Rumah
|
xasgn
|
Motor
|
suzux
|
Kompor
|
qusvux
|
dst… |
Ciphertext
|
Plaintext
|
||
Xasgn
|
Rumah
|
||
Suzux
|
Motor
|
||
Qusvux
|
Kompor
|
||
|
dst… |
Kunci Algoritma Kriptografi
Definisi Blok Cipher
Block Cipher mengambil pesan dan memecahnya menjadi ukuran tetap blok dan mengkonversi satu blok pesan secara instan. Misalnya,
kami memiliki pesan dalam teks biasa “STREET_BY_STREET” yang harus
dienkripsi. Menggunakan bock cipher, "STREET" harus dienkripsi pada
awalnya, diikuti oleh "_BY_" dan akhirnya "STREET".
Dalam praktik
sebenarnya, komunikasi hanya terjadi dalam bit. Oleh karena itu, STREET
sebenarnya berarti biner yang setara dengan karakter ASCII dari STREET.
Selanjutnya, algoritma apa pun mengenkripsi ini; bit yang dihasilkan
diubah kembali menjadi ASCII yang setara.
Masalah nyata tentang penggunaan cipher Blok adalah pengulangan teks, yang menghasilkan cipher yang sama. Oleh karena itu, ini akan memberikan petunjuk kepada cryptanalyst yang membuatnya lebih mudah untuk mengetahui string teks biasa yang berulang. Hasilnya, ia bisa mengungkapkan seluruh pesan.
Definisi Stream Cipher
Stream Cipher biasanya mengenkripsi satu byte pesan pada saat itu daripada menggunakan blok. Mari kita ambil contoh, misalkan pesan asli (teks biasa) adalah "langit biru" dalam ASCII (yaitu format teks). Ketika Anda mengonversi ASCII ini menjadi nilai biner yang setara, itu akan memberikan output dalam bentuk 0 dan 1. Biarkan diterjemahkan dalam 010111001.
Untuk enkripsi dan dekripsi, generator bit pseudorandom digunakan di mana kunci dan teks biasa dimuat. Generator bit pseudorandom menciptakan aliran angka 8-bit yang tampaknya acak dikenal sebagai keystream . Biarkan kunci input adalah 100101011. Sekarang kunci dan plainteks adalah XOR. Logika XOR mudah dimengerti.XOR menghasilkan output 1 ketika satu input adalah 0, dan yang lainnya adalah 1. Output adalah 0 jika salah satu input adalah 0 atau kedua input tersebut adalah 1.
Algoritma Kriptografi Hibrid
Permasalahan yang menarik pada bidang kemanan informasi adalah adanya trade off antara kecepatan dengan kenyamanan. Semakin aman semakin tidak nyaman, berlaku juga sebaliknya semakin nyaman semakin tidak aman. Salah satu contohnya adalah bidang kriptografi. Tetapi hal ini dapat diatasi dengan penggunaan kriptografi hibrida. Kriptografi hibrida sering dipakai karena memanfaatkan keunggulan kecepatan pemrosesan data oleh algoritma simetrik dan kemudahan transfer kunci menggunakan algoritma asimetrik. Hal ini mengakibatkan peningkatan kecepatan tanpa mengurangi kenyamanan serta keamanan. Aplikasi kriptografi hibrida yang ada saat ini pada umumnya ditujukan untuk penggunaan umum atau mainstream yang merupakan pengguna komputer.
Aplikasi pada umumnya mengikuti perkembangan hardware komputer yang semakin cepat dari waktu ke waktu. Sehingga hardware yang sudah lama tidak dapat difungsikan sebagaimana mestinya. Selain itu banyak perangkat embedded dengan kekuatan pemrosesan maupun daya yang terbatas. Terutama dengan trend akhir akhir ini, hampir semua orang memiliki handheld device yang mempunyai kekuatan terbatas, seperti telepon seluler.
Sistem ini mengggabungkan chiper simetrik dan asimetrik. Proses ini dimulai dengan negosiasi menggunakan chiper asimetrik dimana kedua belah pihak setuju dengan private key/session key yang akan dipakai. Kemudian session key digunakan dengan teknik chiper simetrik untuk mengenkripsi conversation ataupun tukar-menukar data selanjutnya. Suatu session key hanya dipakai sekali sesi. Untuk sesi selanjutnya session key harus dibuat kembali.
Pendistribusian Key
Dalam pendistribusian suatu key dapat dilakukan dengan bermacam cara
misalnya download, diberikan secara langsung dsb. Untuk mencegah
pemalsuan key oleh pihak ketiga maka diperlukan adanya certificate.
Protokol pernyetujuan key
Atau disebut juga protokol pertukaran key adalah suatu sistem dimana dua
pihak bernegosiasi untuk menentukan secret value. Contohnya adalah SSL
(secure socket layer).
Proses Kriptografi Hybrid
1. Proses kriptografi hybrid yaitu melakukan proses enkripsi pada plainteks terlebih dahulu agar dapat mempertinggi daya tahan terhadap serangan penyerang attacker yang pada umumnya memanfaatkan pola-pola yang ada pada plainteks untuk memecahkan chiperteks menggunakan algoritma simetris. Setelah plainteks menjadi teks terenkripsi kemudian kunci privat algoritma simetris dienkripsi menggunakan Universitas pasangan kunci publik algoritma asimetris kemudian dikirimkan.
2. Pengenkripsian kunci ini disebut session key yaitu merupakan kunci privat yang terenkripsi yang bersifat tercipta hanya pada saat itu juga one-time only. Kunci yang terenkripsi bersama dengan chiperteks kemudian ditransmisikan kepada penerima.
3. Untuk proses dekripsi, penerima menerima paket tersebut menggunakan pasangan kunci privat algoritma asimetris untuk mendekripsi session key terlebih dahulu. Lalu dengan session key tersebut, kunci privat algoritma simetris dapat dibuka dan penerima dapat mendekripsi chiperteks tersebut menjadi plainteks kembali. Algoritma yang akan digunakan untuk pengamanan data ini adalah algoritma Affine Cipher dan RSA dimana metode ini menggabungkan kelebihan masing-masing algoritma tersebut.
Teknik Dasar Kriptografi
1. Substitusi
2. Blocking
3. Permutasi
4. Ekspansi
5. Pemampatan
1. SUBSTITUSI
Dalam kriptografi, sandi substitusi adalah jenis metode enkripsi dimana setiap satuan pada teks terang digantikan oleh teks tersandi dengan sistem yang teratur. Metode penyandian substitusi telah dipakai dari zaman dulu (kriptografi klasik) hingga kini (kriptografi modern),
Langkah pertama adalah membuat suatu tabel substitusi. Tabel substitusi dapat dibuat sesuka hati, dengan catatan bahwa penerima pesan memiliki tabel yang sama untuk keperluan decrypt. Bila tabel substitusi dibuat secara acak, akan semakin sulit pemecahanciphertext oleh orang yang tidak berhak.
Metode ini dilakukan dengan mengganti setiap huruf dari teks asli dengan huruf lain sebagai huruf sandi yang telah didefinisikan sebelumnya oleh algoritma kunci.
2. BLOCKING
Sistem enkripsi ini terkadang membagi plaintext menjadi beberapa blok yang terdiri dari beberapa karakter, kemudian di enkripsikan secara independen.Caranya :
Plaintext dituliskan secara vertikal ke bawah berurutan pada lajur, dan dilanjutkan pada kolom berikutnya sampai seluruhnya tertulis. Ciphertext-nya adalah hasil pembacaan plaintext secara horizontal berurutan sesuai dengan blok-nya.
3. PERMUTASI
Salah satu teknik enkripsi yang terpenting adalah permutasi atau sering juga disebut transposisi. Teknik ini memindahkan atau merotasikan 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, identitas karakternya tetap, namun posisinya yang diacak.Caranya
Sebelum dilakukan permutasi, umumnya plaintext terlebih dahulu dibagi menjadi blok-blok dengan panjang yang sama.
Plaintext akan dibagi menjadi blok-blok yang terdiri dari 6 karakter, dengan aturan permutasi.
4. EKSPANSI
Suatu metode sederhana untuk mengacak pesan adalah dengan memelarkan 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 di akhir kata itu dan menambahkan akhiran “an”. Jika suatu kata dimulai dengan huruf vokal atau bilangan genap, ditambahkan akhiran “ i ”.5. PEMAMPATAN
Mengurangi panjang pesan atau jumlah bloknya dengan cara lain untuk menyembunyikan isi pesan.Contoh sederhana ini menggunakan cara menghilangkan setiap karakter ke-tiga secara berurutan. Karakter-karakter yang dihilangkan disatukan kembali dan disusulkan sebagai “lampiran” dari pesan utama, dengan diawali oleh suatu karakter khusus, dalam contoh ini menggunakan " * ".
Komentar
Posting Komentar