kriptografi

Algoritma Enkripsi dalam Kriptografi

Saat ini, keamanan merupakan perhatian utama bagi semua orang dalam bidang IT. Dengan total pengeluaran sebesar $155 miliar untuk keamanan informasi dan manajemen risiko yang diharapkan akan meningkat menjadi $172 miliar pada tahun 2022, menurut Gartner, hal ini memang harus diperhatikan. Meskipun ada banyak alat yang bisa Anda beli untuk melindungi data Anda, enkripsi adalah salah satu alat keamanan yang seharusnya dikenal oleh setiap pengguna komputer. Mengapa Enkripsi Berguna? Enkripsi adalah teknik untuk membuat pesan atau file data tidak terbaca, menjamin bahwa hanya orang dengan izin yang tepat yang dapat mengakses data tersebut. Data dienkripsi menggunakan algoritma canggih, dan data yang sama kemudian di-dekripsi menggunakan kunci yang disediakan oleh pengirim pesan. Informasi dijaga kerahasiaannya oleh enkripsi saat disimpan atau dikirim. Akses tanpa izin hanya akan menghasilkan kumpulan byte yang tidak beraturan. Konsep-konsep Penting Terkait Enkripsi: Algoritma Algoritma, kadang-kadang disebut sebagai cipher, adalah pedoman atau petunjuk untuk prosedur enkripsi. Efisiensi enkripsi bergantung pada panjang kunci, kemampuan, dan karakteristik dari metode enkripsi yang digunakan. Dekripsi Dekripsi adalah proses mengubah teks sandi yang tidak dapat dimengerti menjadi data yang bisa dimengerti. Kunci Sebuah string acak dari bit yang disebut kunci enkripsi digunakan untuk mengenkripsi dan mendekripsi data. Kunci yang lebih panjang lebih sulit untuk ditembus, dan setiap kunci berbeda. Kunci publik biasanya memiliki panjang 2048 bit, sedangkan kunci privat biasanya memiliki 128 atau 256 bit. Sistem Kunci Simetris dan Asimetris: Sistem Kunci Simetris Semua orang yang mengakses data dalam sistem kunci simetris menggunakan kunci yang sama. Untuk menjaga anonimitas, kunci enkripsi dan dekripsi juga harus dijaga kerahasiaannya. Meskipun ini mungkin secara teknis memungkinkan, namun sulit untuk menggunakan enkripsi simetris untuk penggunaan komersial yang luas karena kebutuhan untuk mendistribusikan kunci dengan aman untuk memastikan kontrol yang tepat. Sistem Kunci Asimetris Sistem kunci publik/privat, terkadang disebut sebagai sistem kunci asimetris, menggunakan dua kunci. Kunci privat adalah satu-satunya kunci yang dijaga kerahasiaannya, meskipun semua orang memiliki akses ke kunci yang lain. Kunci publik adalah yang dikenal. Karena hubungan matematika antara kunci privat dan publik, hanya kunci privat yang tepat yang dapat mendekripsi data yang telah dienkripsi dengan bantuan kunci publik. Praktek Enkripsi Berikut adalah ilustrasi tentang bagaimana enkripsi berfungsi menggunakan program yang ramah email seperti Pretty Good Privacy (PGP), yang sering disebut juga sebagai GnuPG atau GPG bagi penggemar perangkat lunak sumber terbuka. Misalkan saya ingin mengirimkan pesan pribadi kepada Anda. Saya menggunakan salah satu program dari daftar berikut untuk mengenkripsinya. Pesan ini kemudian diubah menjadi kumpulan karakter acak setelah dienkripsi. Tetapi jika Anda memiliki kunci yang saya berikan, Anda dapat membukanya dan menemukan konten pesan yang asli. “Datanglah untuk makan hot dog dan minuman soda!” Bahkan jika seseorang berhasil mengakses jaringan atau sistem Anda, enkripsi bekerja untuk menjaga mata-mata dari perusahaan Anda, baik itu dalam perjalanan seperti email pesta hot dog kami atau berada di hard drive Anda. Algoritma Kriptografi Umum: Triple DES Algoritma Data Encryption Standard (DES) asli direncanakan akan digantikan oleh Triple DES, tetapi para peretas segera menemukan cara untuk dengan mudah meretasnya. Pada satu waktu, Triple DES adalah algoritma simetris paling populer di pasar dan standar yang direkomendasikan, keduanya adalah Triple DES. Tiga kunci terpisah dari Triple DES masing-masing memiliki panjang 56 bit. Meskipun panjang kunci keseluruhan adalah 168 bit, para ahli berpendapat bahwa kekuatan kunci 112 bit lebih realistis. Meskipun secara bertahap mulai ditinggalkan, Advanced Encryption Standard (AES) sebagian besar menggantikan peran Triple DES. AES Pemerintah AS dan sejumlah organisasi percaya pada algoritma Advanced Encryption Standard (AES) sebagai standar industri. Meskipun sangat efektif dalam versi 128-bit, AES juga menggunakan kunci 192 dan 256 bit untuk digunakan dalam enkripsi yang lebih kuat. Kecuali untuk serangan brute force, yang mencoba membaca komunikasi dengan menggunakan setiap kombinasi dari 128, 192, atau 256-bit cipher, AES umumnya dianggap kebal terhadap semua serangan. Keamanan RSA Standar industri untuk mengenkripsi data yang dipertukarkan melalui internet adalah algoritma kunci publik RSA. Ini juga merupakan teknik yang digunakan oleh perangkat lunak PGP dan GPG. Karena menggunakan sepasang kunci, RSA dianggap sebagai algoritma asimetris dibandingkan dengan Triple DES. Anda dapat mengenkripsi pesan dengan kunci publik Anda dan mendekripsinya dengan kunci privat Anda. Enkripsi RSA menghasilkan banyak omong kosong yang membutuhkan banyak waktu dan daya komputasi untuk didekripsi oleh seorang penyerang. Blowfish Algoritma lain yang direncanakan untuk menggantikan DES disebut Blowfish. Dengan cipher simetris ini, setiap pesan dienkripsi secara terpisah setelah dibagi menjadi blok-blok 64 bit. Blowfish terkenal karena kecepatan dan efisiensinya yang luar biasa. Namun, vendor telah memanfaatkan ketersediaannya secara bebas di ranah publik. Blowfish dapat ditemukan dalam berbagai bidang perangkat lunak termasuk platform e-commerce untuk melindungi pembayaran dan sistem manajemen kata sandi untuk perlindungan kata sandi. Salah satu teknik enkripsi yang paling fleksibel adalah ini. Twofish Bruce Schneier, seorang ahli keamanan komputer, adalah pencipta Blowfish dan sekuelnya, Twofish. Algoritma ini memungkinkan penggunaan kunci hingga 256 bit, dan karena menggunakan pendekatan simetris, hanya diperlukan satu kunci. Twofish adalah salah satu yang tercepat di kelasnya, sangat baik digunakan baik dalam konteks perangkat keras maupun perangkat lunak. Twofish juga dapat diakses secara bebas oleh siapa saja yang ingin menggunakannya, sama seperti Blowfish. Sejarah Singkat Triple DES dan DES National Bureau of Standards, kemudian dikenal sebagai NIST, menyadari kebutuhan akan standar federal untuk mengenkripsi data yang sensitif dan tidak terklasifikasi pada awal tahun 1970-an. Usulan awal untuk DES baru ditolak. Kemudian, IBM Corporation mempresentasikan cipher block dengan nama Lucifer pada tahun 1974. Versi yang dimodifikasi diterima sebagai Federal Information Processing Standard pada tahun 1976 setelah diskusi dengan National Security Agency (NSA), dan dirilis pada 15 Januari 1977, sebagai FIPS PUB 46. Ini dapat digunakan untuk data yang tidak terklasifikasi. Ukuran kunci dikurangi dari 128 bit menjadi 56 bit dalam metode yang diizinkan, dan kotak substitusi (S-boxes) dibuat di bawah keadaan rahasia merupakan dua perubahan paling mencolok antara DES dan cipher Lucifer asli. Bagian dari algoritma yang melakukan substitusi disebut S-box. Banyak ahli percaya bahwa NSA somehow memasukkan pintu belakang ke dalam algoritma untuk memungkinkan agensi tersebut mendekripsi data yang dienkripsi oleh DES tanpa perlu mengetahui kunci enkripsi dan bahwa pengurangan ukuran kunci membuat DES lebih rentan terhadap serangan brute-force. Tiga belas tahun kemudian,

DETAIL

Serangan Ulang Tahun dalam Kriptografi

Apa itu Kriptografi? Kriptografi adalah metodologi di mana kita mengubah informasi menjadi kode khusus yang hanya dapat dipahami oleh pengirim dan penerima. Alasan penggunaan kriptografi adalah untuk melindungi data dari serangan keamanan siber. Kriptografi terdiri dari dua kata: ‘crypt’, yang berarti tersembunyi, dan ‘graphy’ yang berarti tulisan. Jadi, kita menulis informasi dalam bentuk tersembunyi untuk melindunginya dari kerentanan dan serangan. Ada berbagai jenis serangan keamanan siber, dan serangan brute force adalah salah satu serangan keamanan siber yang umum. Apa itu Serangan Brute Force? Serangan brute force adalah serangan di mana peretas mencoba mendapatkan email, kata sandi, dan kunci enkripsi melalui berbagai metode. Apa itu Serangan Ulang Tahun? Serangan ulang tahun adalah jenis serangan kriptografi yang termasuk dalam kategori serangan brute force. Serangan ini digunakan untuk mengeksploitasi matematika dari masalah teori probabilitas standar yang disebut masalah paradoks ulang tahun. Keberhasilan serangan ini berbanding lurus dengan jumlah tabrakan antara serangan-serangan tersebut, yang bersifat acak dan derajat permutasi. Masalah Paradoks Ulang Tahun Pernyataan masalahnya mengatakan, misalnya kita memiliki kelas dengan N siswa dan satu guru di kelas. Guru ingin mengetahui jumlah pasangan siswa yang memiliki ulang tahun pada tanggal yang sama. Untuk mendapatkan solusi ini, dia meminta tanggal lahir dari setiap siswa dan menemukan jumlah pasangannya. Misalkan dia memilih satu tanggal acak, seperti 5 November, dan ingin mengetahui probabilitas bahwa setidaknya satu siswa memiliki ulang tahun pada tanggal 5 November. Untuk ini, dia akan menggunakan teori probabilitas, dan dia akan mendapatkan probabilitas bahwa tidak ada siswa yang memiliki ulang tahun pada tanggal 5 November, lalu menguranginya dari 1 untuk mendapatkan hasil yang diinginkan. Misalkan jumlah siswa adalah 30, jadi N = 30 Probabilitas setidaknya satu siswa memiliki ulang tahun pada 5 November = 1 – (364/365)³⁰ = 0,079 atau 7,9%. Probabilitas bahwa setidaknya satu siswa memiliki ulang tahun pada tanggal yang sama dengan siswa lain = 1 – 365! / ((365-n!)*(365)ⁿ) di mana n = 30 dan nilainya akan sekitar 0,7 atau 70%. Penjelasan Dalam solusi di atas, kita menurunkan rumus untuk N siswa bahwa setidaknya dua siswa memiliki ulang tahun pada tanggal yang sama. Kita bisa menurunkannya dengan mencatat bahwa tidak ada yang memiliki ulang tahun pada tanggal yang sama dan menguranginya dari 1 untuk mendapatkan hasil yang diinginkan. (365/365) * (364/365) * (363/365) * … * (365-n+1)/365 = 365! / ((365-n!)*(365)ⁿ) Dan hasil yang diinginkan = 1 – 365! / ((365-n!)*(365)ⁿ) Fungsi Hash Fungsi hash dalam kriptografi adalah fungsi yang mengambil input dengan ukuran variabel dan mengembalikan hasil sebagai string yang memiliki panjang tetap. String output disebut nilai hash dari input. Itu diwakili oleh H. Hasil h = H(X) di mana x adalah input. Dalam kriptografi, fungsi hash harus memenuhi batasan berikut: Fungsi Hash Satu Arah Untuk setiap input X, kita mendapatkan nilai output Y melalui fungsi H(X). Jadi Y = H(X). Jika kita diberikan Y, dan kita dapat menemukan fungsi hash H di mana H(X) = Y, maka fungsi ini disebut dua arah atau dapat dibalik. Jadi, dalam kriptografi, fungsi hash kita harus non-dapat dibalik, yang berarti tidak mungkin mendapatkan fungsi hash H dengan output Y. Fungsi ini harus sulit untuk dibalik. Fungsi Hash Bebas Tabrakan Jika untuk input X, output dari fungsi hash adalah H(X) dan jika memungkinkan bahwa X tidak sama dengan Y tetapi H(X) = H(Y), maka fungsi hash saat ini disebut fungsi hash lemah bebas tabrakan. Jika untuk setiap input X, tidak mungkin menemukan Y sehingga X tidak sama dengan Y dan H(X) = H(Y), maka ini disebut fungsi kuat bebas tabrakan. Kita bisa memahaminya dengan contoh: Contoh: Misalkan fungsi hash H: M = {0,1}ⁿ untuk |M| >> 2ⁿ Jadi, kita akan menggunakan langkah-langkah berikut untuk menemukan tabrakan: Kompleksitas Waktu: Kompleksitas waktu dari algoritma di atas adalah O(2ⁿ/2). //TC ref : [1][2]

DETAIL