Tutorial Kriptografi

โšก Ringkasan Cerdas

Kriptografi melindungi informasi dengan mengubahnya menjadi bentuk yang tidak dapat dibaca manusia, yang hanya dapat dibalik oleh pemegang kunci yang benar, dan halaman ini membahas fitur, aplikasi, algoritma, dan latihan praktis menggunakan CrypTool.

  • ๐Ÿ” Ide inti: Enkripsi mengubah teks biasa menjadi sandi; dekripsi membalikkannya menggunakan kunci rahasia.
  • ๐Ÿงฉ Tiga disiplin ilmu: Kriptografi menyembunyikan makna, kriptanalisis mengungkapnya, dan kriptologi mencakup keduanya.
  • ๐Ÿ“ Keluarga algoritma: Fungsi hash, sandi simetris, dan sistem kunci publik memecahkan masalah yang berbeda.
  • โœ… Standar saat ini: AES dan SHA-2 tetap disetujui, sedangkan MD5, SHA-1, dan RC4 dianggap tidak berfungsi.
  • ๐Ÿงช Praktik langsung: CrypTool 1 mendemonstrasikan enkripsi RC4 dan analisis brute-force pada kunci 24-bit.
  • ๐Ÿ”ฎ Melihat ke depan: NIST menerbitkan standar pasca-kuantum pertamanya pada Agustus 2024.

Tutorial Kriptografi

Informasi memainkan peran vital dalam bisnis, pemerintahan, dan operasi militer, dan informasi yang jatuh ke tangan yang salah dapat menyebabkan kerugian pendapatan atau bahkan lebih buruk. Untuk mengamankan komunikasi, suatu organisasi menggunakan kriptografi untuk mengenkripsi informasi โ€” mengubahnya menjadi format yang tidak dapat dibaca manusia dan kemudian mengembalikannya lagi.

Dalam artikel kriptografi dan keamanan jaringan ini, Anda akan mempelajari cara kerja kriptografi dan cara menjaga informasi agar tidak jatuh ke tangan yang salah.

Apa itu Kriptografi?

Kriptografi adalah studi dan penerapan teknik yang menyembunyikan makna sebenarnya dari informasi dengan mengubahnya menjadi format yang tidak dapat dibaca manusia dan kemudian mengembalikannya lagi.

Perhatikan contoh berikut. Untuk mengirimkan "I LOVE APPLES", Anda mengganti setiap huruf dengan huruf ketiga berurutan dalam alfabet, menghasilkan "K NQXG CRRNGU". Untuk membacanya, penerima harus melangkah mundur tiga huruf, seperti yang ditunjukkan di bawah ini.

Sandi enkripsi dan dekripsi menggeser setiap huruf tiga tempat.
Enkripsi dan Dekripsi Sandi

Mengubah informasi menjadi bentuk yang tidak dapat dibaca manusia disebut... enkripsi, dan membalikkannya disebut dekripsiHasil terenkripsi tersebut dikenal sebagai sebuah sandi.

Dekripsi menggunakan kunci rahasia yang hanya diketahui oleh penerima yang sah. Karena kunci tersebut diperlukan, komunikasi tetap aman bahkan ketika penyerang mencegat sandi, yang tidak ada gunanya tanpa kunci tersebut.

Fitur Kriptografi

Suatu sistem kriptografi dinilai berdasarkan karakteristik-karakteristik di bawah ini.

Fitur Apa artinya
Algoritma Prosedur matematis yang dipublikasikan untuk melakukan transformasi tersebut.
Kerahasiaan Hanya pemegang kunci yang dapat membaca data yang dilindungi.
Integrity Perubahan apa pun pada data dapat dideteksi.
Adaptability Skema ini menyesuaikan diri dengan berbagai ukuran kunci dan tingkat ancaman.
Interoperabilitas Sistem dan vendor yang berbeda saling bertukar data yang dilindungi.
Otentikasi Asal usul suatu pesan dapat dibuktikan.
Skalabilitas Performa tetap terjaga meskipun volume data meningkat.
Manajemen Kunci Kunci dihasilkan, disimpan, dirotasi, dan dinonaktifkan dengan aman.

Aplikasi Kriptografi

Karakteristik tersebut kemudian menjadi layanan sehari-hari yang diandalkan orang tanpa disadari.

Aplikasi Bagaimana kriptografi digunakan
Enkripsi TLS Melindungi lalu lintas antara browser dan situs web.
Penyimpanan kata sandi Menyimpan hash yang diberi salt sebagai pengganti kata sandi yang dapat dibaca.
Perbankan online Mengamankan transaksi dan memverifikasi bank.
Cryptocurrency Menandatangani transaksi dan menghubungkan blok dengan hash.
Email terenkripsi Menjaga kerahasiaan isi pesan selama pengiriman dan penyimpanan.
Digitanda tangan Membuktikan kepemilikan hak cipta dan bahwa dokumen tersebut tidak berubah.
Olahpesan aman Menerapkan enkripsi ujung-ke-ujung antar perangkat.
E-commerce Melindungi detail kartu selama proses pembayaran.

Apa itu Kriptanalisis?

Kriptanalisis adalah seni mendekripsi pesan tanpa kunci yang digunakan untuk mengenkripsinya. Kriptanalisis menerapkan analisis matematika dan algoritma untuk menguraikan sandi, dan digunakan baik untuk membobol sistem maupun, secara defensif, untuk mengukur seberapa besar perlindungan yang ditawarkan oleh suatu algoritma.

Keberhasilan serangan kriptanalisis bergantung pada:

  • Jumlah waktu yang tersedia
  • Daya komputasi tersedia
  • Kapasitas penyimpanan tersedia

Berikut ini adalah serangan kriptanalisis yang umum dibahas:

  • Serangan membabi buta โ€” mencoba setiap kemungkinan kombinasi teks biasa atau kunci, mengenkripsi masing-masing dan membandingkannya dengan sandi asli.
  • Serangan kamus โ€” menggunakan daftar kata untuk mencocokkan teks biasa atau kunci. Ini sebagian besar digunakan ketika mencoba untuk memecahkan kata sandi terenkripsi.
  • Serangan meja pelangi โ€” membandingkan teks sandi dengan hash yang telah dihitung sebelumnya untuk menemukan kecocokan. Menambahkan salt pada setiap kata sandi yang tersimpan akan menggagalkannya.

Apa itu Kriptologi?

Kriptologi adalah bidang payung yang menggabungkan kriptografi dan kriptanalisis. Kedua bagian tersebut penting: suatu algoritma hanya dapat dipercaya setelah para kriptanalis mencoba dan gagal untuk membobolnya.

enkripsi Algorithms

Algoritma-algoritma di bawah ini muncul berulang kali dalam pekerjaan keamanan. Perhatikan mana yang tetap disetujui dan mana yang hanya bertahan di sistem lama.

  • MD5 โ€” singkatan dari Message-Digest 5, menghasilkan nilai hash 128-bit. MD5 adalah fungsi hash, bukan enkripsi, sehingga secara desain tidak dapat dibalik. Algoritma ini tidak tahan terhadap benturan (collision resistant) โ€” dua input berbeda dapat menghasilkan hash yang sama โ€” dan tidak cocok untuk kata sandi atau tanda tangan digital.
  • SHA โ€” singkatan dari Secure Hash Algorithm, keluarga algoritma ini menghasilkan representasi ringkas dari sebuah pesan, yang disebut ringkasan pesan (message digest):
    • SHA-0: menghasilkan nilai hash 160-bit. Algoritma ini ditarik karena memiliki kelemahan signifikan dan digantikan oleh SHA-1.
    • SHA-1: menghasilkan nilai hash 160-bit. Tabrakan praktis telah didemonstrasikan pada tahun 2017 dan NIST melarangnya untuk tanda tangan digital, jadi hindari penggunaannya.
    • SHA-2: sebuah keluarga yang terdiri dari enam fungsi termasuk SHA-256 dan SHA-512, yang masing-masing bekerja pada kata 32-bit dan 64-bit. Keduanya tetap disetujui.
    • SHA-3: distandarisasi pada tahun 2015 dan sebelumnya dikenal sebagai Keccak, ia menggunakan desain internal yang berbeda sebagai cadangan untuk SHA-2.
  • AES โ€” Advanced Encryption Standard (ACES) adalah algoritma enkripsi blok simetris yang melindungi sebagian besar data saat disimpan dan ditransmisikan saat ini, dengan kunci 128-, 192-, dan 256-bit. ACES menggantikan DES dan menjadi standar untuk sistem baru.
  • RC4 โ€” sebuah algoritma enkripsi aliran yang dulunya umum digunakan dalam Secure Sockets Layer (SSL) dan Wired Equivalent Privacy (WEP). Kedua protokol tersebut sudah usang, dan RFC 7465 melarang RC4 di setiap versi TLS pada tahun 2015. Algoritma ini tetap digunakan di sini sebagai contoh pembelajaran.
  • blowfish โ€” sebuah algoritma enkripsi blok simetris berbasis kunci yang secara historis digunakan untuk kata sandi dan file. Ukuran blok 64-bit menjadikan AES pilihan modern yang lebih baik.

Ke depan, NIST menerbitkan standar pasca-kuantum pertamanya pada Agustus 2024 โ€” ML-KEM untuk pertukaran kunci, ML-DSA dan SLH-DSA untuk tanda tangan โ€” yang secara bertahap akan menggantikan algoritma kunci publik saat ini.

Aktivitas Peretasan: Cara Membuat Sandi Menggunakan CrypTool

Dalam latihan praktis CrypTool ini, Anda membuat sandi sederhana dengan RC4 dan kemudian memulihkannya dengan analisis brute-force, dengan asumsi kunci diketahui berukuran 24 bit. Tujuannya adalah untuk menunjukkan mengapa kunci pendek dan sandi yang berhasil diretas tidak memberikan perlindungan yang nyata.

Membuat Sandi Aliran RC4

Langkah 1) Unduh dan instal CrypTool

CrypTool 1 adalah alat pendidikan sumber terbuka untuk kriptologi. Pengembangan aktif telah beralih ke CrypTool 2, tetapi rilis 1.4.42 masih berjalan di Windows dan sesuai dengan tampilan layar di bawah ini. Unduh dari sini. cryptool.org.

Langkah 2) Buka CrypTool dan ganti teksnya

Frasa yang akan dienkripsi adalah Jangan pernah meremehkan tekad seorang anak yang kaya waktu dan miskin uangKuncinya adalah 00 00 00.

  • Buka CrypTool 1.

Jendela utama CrypTool 1 sebelum teks contoh diganti

  • Ganti teks dengan frasa di atas.

Dokumen CrypTool yang berisi frasa pengganti

Langkah 3) Enkripsi teks

  • Klik menu Enkripsi/Dekripsi.

Menu Enkripsi/Dekripsi CrypTool dengan pilihan modern Simetris.

  • Arahkan ke Simetris (modern), lalu pilih RC4.

Dialog entri kunci CrypTool RC4

Langkah 4) Pilih kunci enkripsi

  • Pilih 24 bit sebagai panjang kunci.
  • Atur nilainya menjadi 00 00 00.
  • Klik Enkripsi untuk menghasilkan cipher aliran di bawah ini.

Hasil sandi aliran RC4 yang ditampilkan di CrypTool

Menyerang Stream Cipher

Langkah 5) Mulai analisis

  • Klik menu Analisis.

Menu Analisis CrypTool dengan Enkripsi Simetris modern yang disorot.

  • Arahkan ke Enkripsi Simetris (modern), lalu pilih RC4.

Dialog analisis brute-force CrypTool untuk RC4

  • Diasumsikan kunci rahasia berukuran 24 bit, jadi pilih 24 bit sebagai panjang kunci.
  • Klik Start.

Jendela kemajuan analisis brute-force CrypTool

  • Catatan: Waktu yang dibutuhkan bergantung pada kapasitas pemrosesan mesin yang digunakan dan panjang kunci. Kunci yang lebih panjang membutuhkan waktu lebih lama, itulah sebabnya kunci modern memiliki 128 bit atau lebih.

Langkah 6) Analisis hasilnya

  • Setelah analisis selesai, kunci kandidat akan muncul dengan peringkat sebagai berikut.

Hasil brute-force CrypTool diurutkan berdasarkan entropi

  • Catatan: Nilai entropi yang lebih rendah biasanya menunjukkan hasil yang benar, meskipun nilai yang lebih tinggi juga bisa benar.
  • Pilih baris yang terbaca sebagai teks yang masuk akal, lalu klik Terima pilihan.

Pertanyaan Umum Demo Slot

Enkripsi simetris menggunakan satu kunci bersama dan cepat, sehingga melindungi data dalam jumlah besar. Enkripsi asimetris menggunakan pasangan kunci publik dan pribadi, yang mengatasi masalah distribusi kunci dan memungkinkan tanda tangan digital.

Tidak. Enkripsi dapat dibalik dengan kunci; hashing adalah transformasi satu arah ke ringkasan dengan panjang tetap. Sistem kata sandi menyimpan hash yang diberi garam justru karena nilai aslinya tidak dapat dipulihkan.

Salt adalah nilai acak unik yang disimpan di samping setiap hash kata sandi. Fungsinya adalah untuk menghasilkan hash kata sandi yang identik secara berbeda, sehingga menggagalkan tabel pelangi yang telah dihitung sebelumnya dan memaksa penyerang untuk menyerang setiap akun secara terpisah.

Sertifikat digital mengikat kunci publik ke identitas terverifikasi dan ditandatangani oleh otoritas sertifikasi. Peramban memeriksa tanda tangan tersebut sebelum mempercayai koneksi terenkripsi ke situs web.

Komputer kuantum besar akan mampu memecahkan RSA dan kunci kurva eliptik, sementara sandi simetris hanya membutuhkan kunci yang lebih besar. NIST menjawab hal ini dengan menerbitkan standar pasca-kuantum pada tahun 2024 sehingga migrasi dapat dimulai lebih awal.

Pembelajaran mesin tidak mampu memecahkan sandi modern yang kuat. Sebaliknya, ia digunakan untuk analisis serangan sampingan (side-channel analysis), mendeteksi kunci yang lemah atau digunakan kembali dalam skala besar, dan menandai lalu lintas terenkripsi yang anomali selama deteksi ancaman.

Copilot mempercepat penulisan kode berulang tetapi sering menyarankan algoritma yang sudah usang atau kunci yang dikodekan secara permanen. Perlakukan setiap saran sebagai draf, lebih sukai pustaka yang sudah teruji daripada kode yang dibuat sendiri, dan mintalah peninjau untuk memeriksa penanganan kunci.

Insinyur keamanan, penguji penetrasi, dan analis forensik menerapkannya setiap hari, dan ini membentuk domain lengkap dari Sertifikasi CISSPSebagian besar peran mengkonfigurasi pustaka yang telah diverifikasi daripada merancang algoritma.

Ringkaslah postingan ini dengan: