Apa itu kriptoanalisis?

Kriptoanalisis adalah studi tentang ciphertext, sandi, dan kriptosistem untuk memahami cara kerjanya serta mencari dan meningkatkan teknik untuk mengalahkan atau melemahkan sistem tersebut. Contohnya, kriptoanalis berusaha mendekripsi ciphertext tanpa mengetahui sumber plaintext, kunci enkripsi, atau algoritma yang digunakan untuk mengenkripsinya. Kriptoanalis juga menargetkan hashing yang aman, tanda tangan digital, dan algoritma kriptografi lainnya.

Bagaimana cara kerja kriptoanalisis?

Walaupun tujuan utama kriptoanalisis adalah untuk menemukan kelemahan atau mengalahkan algoritma kriptografi, hasil penelitian dari kriptoanalis biasanya digunakan oleh kriptografer untuk memperbaiki, memperkuat, atau mengganti algoritma yang dianggap lemah. Baik kriptoanalisis (yang fokus pada pemecahan data terenkripsi) maupun kriptografi (yang fokus pada pembuatan dan peningkatan sandi dan algoritma) adalah bagian dari kriptologi, yaitu studi matematis tentang kode, sandi, dan algoritma terkait.

Kriptoanalis bisa saja menemukan metode serangan yang sepenuhnya memecahkan suatu algoritma enkripsi, artinya ciphertext yang dienkripsi dengan algoritma itu bisa didekripsi dengan mudah tanpa akses ke kunci enkripsi. Namun biasanya, hasil kriptoanalisis mengungkap kelemahan dalam desain atau implementasi algoritma, yang bisa memperkecil jumlah kunci yang perlu dicoba terhadap ciphertext target.

Misalnya, sebuah cipher dengan kunci enkripsi 128-bit memiliki 2128 (atau 340,282,366,920,938,463,463,374,607,431,768,211,456) kemungkinan kombinasi kunci. Rata-rata, serangan brute force akan berhasil setelah mencoba setengah dari kombinasi tersebut. Tapi kalau kriptoanalisis menemukan cara untuk memangkas jumlah percobaan menjadi 240 (hanya sekitar 1,099,511,627,776 kunci), maka algoritma itu sudah sangat dilemahkan, bahkan hingga titik di mana brute force bisa dilakukan dengan perangkat biasa.

Siapa saja yang menggunakan kriptoanalisis?

Kriptoanalisis digunakan oleh berbagai organisasi dan individu, termasuk:

  • Pemerintah yang ingin memecahkan komunikasi rahasia negara lain.
  • Perusahaan yang mengembangkan produk keamanan dan mempekerjakan kriptoanalis untuk menguji fitur keamanannya.
  • Hacker, cracker komputer, peneliti independen, dan akademisi yang mencari celah dalam protokol dan algoritma kriptografi.

Pertarungan terus-menerus antara kriptografer yang berusaha mengamankan informasi dan kriptoanalis yang berusaha membobol kriptosistem ini membuat pengetahuan kriptologi terus berkembang.

Teknik dan jenis serangan dalam kriptoanalisis

Ada banyak jenis serangan dan teknik dalam kriptoanalisis, tergantung dari seberapa banyak informasi yang dimiliki analis tentang ciphertext yang dianalisis. Beberapa metode kriptoanalisis antara lain:

  • Serangan hanya dengan ciphertext: Penyerang hanya memiliki akses ke satu atau beberapa pesan terenkripsi, tanpa tahu data plaintext, algoritma enkripsi, atau kunci yang digunakan. Ini adalah tantangan umum yang dihadapi badan intelijen saat mencegat komunikasi terenkripsi lawan.
  • Serangan dengan plaintext yang diketahui: Analis memiliki sebagian atau seluruh plaintext dari ciphertext. Tujuannya adalah menemukan kunci enkripsi yang digunakan. Linear cryptanalysis adalah contoh serangan jenis ini, di mana pendekatan linear digunakan terhadap block cipher. Serangan ini sering dilakukan jika penyerang bisa menebak sebagian isi pesan atau format plaintext-nya.
  • Serangan dengan plaintext pilihan: Analis tahu algoritma enkripsi atau memiliki akses ke perangkat yang melakukan enkripsi, lalu mengenkripsi plaintext yang dipilih untuk mendapatkan informasi tentang kunci.
  • Differential cryptanalysis: Jenis serangan plaintext pilihan pada block cipher yang menganalisis pasangan plaintext untuk memahami cara algoritma berperilaku terhadap input yang berbeda.
  • Integral cryptanalysis: Mirip dengan differential cryptanalysis, tapi menggunakan set plaintext dengan bagian tertentu tetap dan bagian lainnya diubah-ubah. Efektif untuk block cipher berbasis substitution-permutation.
  • Side-channel attack: Bergantung pada informasi dari sistem fisik, seperti waktu respons, konsumsi daya, atau radiasi elektromagnetik saat enkripsi berlangsung, bukan dari ciphertext atau plaintext itu sendiri.
  • Dictionary attack: Digunakan untuk menyerang file password, dengan memanfaatkan kecenderungan manusia menggunakan kata-kata umum. Serangan ini mengenkripsi semua kata dalam kamus dan mencocokkannya dengan hash password yang tersimpan.
  • Man-in-the-middle attack: Terjadi ketika penyerang menyisipkan diri di antara dua pihak yang sedang bertukar kunci enkripsi. Penyerang melakukan pertukaran kunci dengan masing-masing pihak, yang percaya bahwa mereka saling bertukar kunci langsung.

Jenis serangan lainnya termasuk teknik membujuk korban untuk mengungkap password atau kunci enkripsi, mengembangkan Trojan horse untuk mencuri kunci rahasia dari komputer korban, atau mengelabui korban agar menggunakan kriptosistem yang sudah dilemahkan.

Side-channel attack juga dikenal dengan nama timing attack atau differential power analysis. Serangan ini jadi populer di akhir 1990-an saat kriptografer Paul Kocher mempublikasikan hasil penelitiannya tentang timing attack dan differential power analysis terhadap kriptosistem seperti Diffie-Hellman, RSA, Digital Signature Standard, terutama dalam implementasinya di smart card.

Alat bantu kriptoanalisis

Karena kriptoanalisis sangat berkaitan dengan matematika, banyak alatnya dijelaskan dalam paper akademik. Namun ada juga berbagai tools dan resource yang tersedia bagi yang ingin belajar lebih lanjut, antara lain:

  • CrypTool: Proyek open source yang menyediakan program e-learning dan portal web untuk belajar tentang kriptoanalisis dan algoritma kriptografi.
  • Cryptol: Bahasa domain-spesifik yang awalnya dibuat untuk NSA guna menentukan algoritma kriptografi. Cryptol bersifat open source dan bisa digunakan publik. Cocok untuk memantau cara kerja algoritma dalam program.
  • CryptoBench: Program untuk menganalisis ciphertext yang dienkripsi dengan berbagai algoritma. Bisa mengenkripsi/dekripsi dengan 29 algoritma simetris, 6 algoritma kunci publik, dan menghasilkan 14 jenis hash serta 2 jenis checksum.
  • GanzĂșa: Alat open source untuk kriptoanalisis sandi klasik (polialfabetik dan monoalfabetik). Mendukung bahasa selain Inggris. Dibuat dengan Java dan berjalan di Windows, macOS, dan Linux.

Kriptoanalis juga sering menggunakan tools keamanan lainnya seperti network sniffer dan software cracking password. Mereka juga sering membuat alat khusus sendiri untuk tugas dan tantangan tertentu.

Persyaratan dan tanggung jawab kriptoanalis

Tugas seorang kriptoanalis bisa mencakup mengembangkan algoritma, sandi, dan sistem keamanan untuk mengenkripsi data sensitif, serta menganalisis dan mendekripsi berbagai jenis data tersembunyi seperti ciphertext dan protokol komunikasi dalam sistem keamanan kriptografi.

Badan pemerintah dan perusahaan swasta merekrut kriptoanalis untuk menjaga keamanan jaringan mereka dan memastikan data sensitif yang ditransmisikan tetap terenkripsi.

Tugas lain kriptoanalis bisa meliputi:

  • Melindungi informasi penting agar tidak disadap, disalin, dimodifikasi, atau dihapus.
  • Menganalisis dan mengevaluasi kelemahan dalam sistem dan algoritma kriptografi.
  • Merancang sistem keamanan untuk mencegah kerentanan.
  • Mengembangkan model matematika dan statistik untuk menganalisis data dan menyelesaikan masalah keamanan.
  • Menguji akurasi dan keandalan model komputasi.
  • Meneliti dan menguji teori dan aplikasi baru dalam kriptologi.
  • Mencari celah pada jalur komunikasi.
  • Menjaga data keuangan agar tetap terenkripsi dan hanya bisa diakses oleh pengguna yang berwenang.
  • Menjamin data pesan tidak diretas atau dimodifikasi selama transmisi.
  • Menguraikan pesan dan sistem kode untuk militer, penegak hukum, dan lembaga pemerintah lainnya.
  • Mengembangkan metode baru untuk mengenkripsi dan menyandikan pesan agar data sensitif tetap tersembunyi.

Kalau kamu ingin berkarier di bidang kriptoanalisis, disarankan punya gelar sarjana di bidang ilmu komputer, teknik komputer, matematika, atau bidang terkait. Beberapa organisasi masih mempertimbangkan kandidat tanpa gelar teknis jika punya pelatihan atau pengalaman kerja yang relevan.

Gelar Master of Science sangat direkomendasikan, kecuali kamu punya gelar sarjana di matematika dan ilmu komputer. Kandidat terbaik biasanya punya gelar doktor (Ph.D.) di matematika atau ilmu komputer dengan fokus pada kriptografi.

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *