Perkuliahan6 (23 Oktober 2020),
Matakuliah: Keamanan Sistem Komputer C31040319
KRIPTOGRAFI
1. Kriptografi
Kriptografi berasal dari bahasa Yunani dengan memadukan dua kata, yaitu kryptos dan graphein. Kryptos berarti tersembunyi atau rahasia, sedangkan graphein memiliki arti menulis. Makna kriptografi secara harfiah ialah menulis secara tersembunyi untuk menyampaikan pesan-pesan yang perlu dijaga kerahasiaannya. Kriptorafi memiliki pengertian lain, yakni suatu ilmu tentang teknik enkripsi naskah asli (plaintext) yang diacak memanfaatkan sebuah kunci enkripsi sehingga naskah asli tersebut berubah menjadi naskah yang sulit dibaca (chipertext) oleh pihak yang tidak memiliki kunci dekripsi.
2. Sejarah
Kriptografi menurut catatan sejarah telah eksis sejak masa kejayaan Yunani atau kurang lebih sekitar tahun 400 Sebelum Masehi. Alat yang digunakan untuk membuat pesan tersembunyi di Yunani pada waktu itu disebut Scytale. Scytale berbentuk batangan silinder dengan kombinasi 18 huruf. Pada masa Romawi, di bawah kekuasaan Julius Caesar, penggunaan kriptografi semakin intens karena pertimbangan stabilitas negara. Meski teknik yang digunakan tak serumit Yunani, namun untuk memahami pesan kriptografi dari masa Romawi terbilang cukup sulit untuk dikerjakan. Berdasarkan aspek historis kriptografi di atas, baik kriptografi klasik maupun modern keduanya memiliki kesamaan prinsip yang besar dan tidak dapat disangsikan lagi, yakni tujuan kriptografi adalah keamanan. Itulah layanan yang disediakan kriptografi tanpa peduli dari masa mana kriptografi dibuat. Melalui layanan keamanan yang disediakan oleh jenis kriptografi tersebut, berbagai teks penting dapat terjaga kerahasiaannya dan keotentikannya, sehingga antar pihak yang berkorespondensi bisa saling menaruh kepercayaan. Kecuali apabila teknik pembuatan kriptografi bocor ke pihak yang tidak dikehendaki.
3. Tujuan
Kriptografi bertujuan untuk memberikan layanan keamanan informasi (yang dinamakan juga sebagai aspek-aspek keamanan informasi), yaitu: 1) Kerahasiaan (confidentiality) Merupakan layanan yang ditujukan untuk menjaga agar pesan tidak dapat dibaca oleh pihak-pihak yang tidak berhak. Tujuan lainnya yaitu:
- 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.4
4. Proses
- Enkripsi
Enkripsi (Encryption) adalah sebuah proses menjadikan pesan yang dapat dibaca (plaintext) menjadi pesan acak yang tidak dapat dibaca (ciphertext).
- Deskripsi
Deskripsi merupakan proses kebalikan dari enkripsi dimana proses ini akan mengubah ciphertext menjadi plaintext dengan menggunakan algoritma "pembalik" dan key yang sama.
5. Algoritma
- Stream Cipher
Aliran sandi milik keluarga kunci sandi simetris. Stream cipher menggabungkan bit teks biasa dengan stream bit sandi pseudorandom dengan penggunaan operasi XOR (eksklusif-atau). Cipher stream mengenkripsi digit teks biasa satu per satu dengan berbagai transformasi untuk digit berturut-turut. Karena enkripsi setiap digit tergantung pada kondisi mesin cipher saat ini, stream cipher juga dikenal sebagai cipher negara. Biasanya, bit / gigitan tunggal digunakan sebagai digit tunggal. Untuk menghindari masalah keamanan, harus dipastikan bahwa kondisi awal yang sama tidak digunakan lebih dari sekali. Stream cipher yang paling banyak digunakan adalah RC4.
- Block Cipher
Block cipher adalah cipher kunci simetris lainnya. Cipher blok beroperasi pada blok (kelompok bit) dengan panjang tetap. Blok cipher menggunakan transformasi tetap (tidak berubah) untuk semua digit di blok. Misalnya, ketika blok x-bit teks biasa (bersama dengan kunci rahasia) disediakan sebagai input ke mesin blok cipher, ia menghasilkan blok x-bit ciphertext yang sesuai. Transformasi aktual tergantung pada kunci rahasia. Demikian pula, algoritma dekripsi memulihkan blok x-bit asli dari plaintext menggunakan blok x-bit dari ciphertext dan kunci rahasia di atas sebagai input. Dalam hal pesan input terlalu panjang dibandingkan dengan ukuran blok, itu akan dipecah menjadi blok dan blok-blok ini akan (secara individu) dienkripsi menggunakan kunci yang sama. Namun, karena kunci yang sama digunakan, setiap urutan berulang dalam teks biasa menjadi urutan berulang yang sama dalam teks sandi, dan ini dapat menyebabkan masalah keamanan. Cipher blok yang populer adalah DES (Data Encryption Standard) dan AES (Advanced Encryption Standard).
6. Kriptografi hybrid
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.
Dalam tugas akhir ini dibahas mengenai perancangan sebuah aplikasi kriptografi hibrida yang ditujukan untuk kalangan tertentu, terutama pemakai hardware dengan kekuatan pemrosesan yang terbatas. Aplikasi yang ingin dicapai adalah aplikasi yang sederhana, ringan dan cepat tanpa mengurangi tingkat keamanan menggunakan hash.
7. Proses Kriptografi hybrid
- 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 Sumatera Utara pasangan kunci publik algoritma asimetris kemudian dikirimkan. 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.
- 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.
8. Teknik Dasar
Pada subtitusi, kita akan mengganti sebuah karakter dengan karakter lainnya, biasanya pengubahan karakter ini ditentukan oleh pembuat pesan yang tentunya harus dimengerti oleh penerima pesan.
Pada bloking, pengguna akan membuat sebuah blok yang akan membagi plaintext ke dalam beberapa blok yang sudah dibuat oleh pengguna yang hanya dapat dimengerti oleh penerima pesan.
Pada permutasi, pembuat pesan akan merotasikan/memutarkan karakter dalam sebuah kalimat yang telah dibuat sesuai dengan aturan. Aturan ini hanya dapat dimengerti oleh pembuat dan penerima pesan.
Pada ekspansi, pembuat pesan akan membuat sebuah pesan yang akan diperpanjang. Biasanya, huruf konsonan atau bilangan ganjil akan ditambahkan "-an" pada bagian belakang dan huruf paling depan pada kata itu pun dijadikan didepan "-an" tadi. Dan pada huruf vokal atau bilangan genap, bagian paling belakang akan ditambahkan "-i".
Pada pemampatan, sebuah pesan akan dibagi sesuai dengan aturan pembuat pesan. Dimana setiap beberapa huruf/karakter biasanya akan diberikan sebuah batasan. Pada batasan tersebut nantinya ada karakter yang dihalangkan. Setelah dihilangkan pesan akan dimampatkan. Setelah pesan dimampatkan, pesan akan digabungkan antara pesan yang akan dimampatkan dan pesan yang hilang tadi. Biasanya pesan tersebut dihubungkan dengan
Referensi :
Komentar
Posting Komentar