Enkripsi dan hashing
| English | Bahasa Indonesia |
|---|---|
| symmetric/sɪˈmetrɪk/ | simetris |
| encryption/enˈkrɪpʃn/ | enkripsi |
| asymmetric/ˌeɪsɪˈmetrɪk/ | asimetris |
| plaintext/ˈpleɪntekst/ | teks biasa |
| ciphertext/ˈsaɪfətekst/ | teks terenkripsi |
| decrypt/dɪˈkrɪpt/ | mendekripsi |
| key pair/kiː peə/ | pasangan kunci |
| public key/ˈpʌblɪk kiː/ | kunci publik |
| private key/ˈpraɪvət kiː/ | kunci pribadi |
| session key/ˈseʃn kiː/ | kunci sesi |
| cryptographic hash/ˌkrɪptəˈɡræfɪk hæʃ/ | hash kriptografis |
| digest/ˈdaɪdʒest/ | digest |
Dua orang asing sepakat atas rahasia di tempat umum
- Berikut adalah masalah yang terdengar mustahil. Anda dan sebuah toko belum pernah bertemu dan tidak memiliki apa pun bersama. Semua yang Anda katakan satu sama lain didengar oleh semua orang. Sepakatlah untuk kunci rahasia.
- Hingga 1976 jawabannya adalah bahwa Anda tidak dapat: enkripsi simetris memerlukan kunci yang diserahkan lebih dahulu, melalui kurir atau secara langsung, sehingga buku kode perang dicetak dan dikirimkan.
- Kemudian Diffie, Hellman, dan kemudian Rivest, Shamir, dan Adleman menunjukkan bahwa hal itu dapat dilakukan, menggunakan kunci yang hanya mengunci dan kunci berbeda yang hanya membuka. Setiap pembelian online yang pernah Anda lakukan bergantung padanya.
- Pelajaran ini membahas enkripsi simetris dan asimetris, mengapa sistem nyata menggunakan keduanya, dan fungsi satu arah yang disebut pencocokan hash.
Kosakata
- Enkripsi mengubah plaintext yang terbaca menjadi ciphertext yang tak terbaca menggunakan kunci; untuk mendekripsi adalah membalik prosesnya dengan kunci yang sesuai.
- Enkripsi melindungi kerahasiaan: salinan yang disadap tidak dapat dipahami. Enkripsi tidak mencegah data disadap, tertunda, atau dihapus.
- Kekuatan terletak pada kunci, bukan pada menjaga algoritma tetap rahasia. Algoritma dipublikasikan dan dipelajari tepat agar kelemahan ditemukan oleh teman daripada musuh.
Enkripsi simetris
- Enkripsi simetris menggunakan kunci yang sama untuk mengenkripsi dan mendekripsi. AES adalah contoh standarnya.
- Ini cepat, sehingga cocok untuk data massal: seluruh disk, aliran video, file besar.
- Kelemahannya adalah distribusi kunci: kunci harus sampai ke pihak lain tanpa disadap, dan jika disadap seluruh skema akan hancur. Dengan $n$ orang yang semuanya ingin berbicara secara pribadi berpasangan, jumlah kunci yang dibutuhkan meningkat sebanding dengan kuadrat $n$.
Kode geser (kunci simetris)
Kode Caesar menggeser setiap huruf maju sebesar kunci tetap. KUNCI YANG SAMA baik mengenkripsi maupun mendekripsi — itulah yang dimaksud dengan simetris. Cobalah membaca teks terenkripsi tanpa mengetahui pergeserannya.
Enkripsi simetris menggunakan:
Enkripsi simetris berbagi satu kunci rahasia — cepat, tetapi harus didistribusikan dengan aman.
Enkripsi asimetris
- Enkripsi asimetris memberikan setiap pengguna pasang kunci: kunci publik yang mereka publikasikan ke dunia, dan kunci privat yang tidak pernah mereka bongkar.
- Apa pun yang dienkripsi dengan kunci publik dapat didekripsi hanya dengan kunci privat yang sesuai. Jadi untuk mengirim pesan rahasia ke Alice Anda mengenkripsinya dengan kunci publik Alice, dan hanya Alice yang bisa membacanya.
- Tidak perlu pertukaran kunci sebelumnya, yang menyelesaikan masalah yang dibuka dalam pelajaran ini. Biayanya adalah bahwa ini jauh lebih lambat, sehingga tidak digunakan untuk jumlah data yang besar.

Satu kunci mengunci, yang lain membuka, dan hanya salah satunya yang rahasia
Cocokkan setiap alat kriptografi dengan apa yang digunakan.
Simetris cepat tetapi perlu berbagi kunci; asimetris mengatasi itu dengan pasangan kunci; hashing bersifat satu arah; HTTPS menggabungkan keduanya.
Untuk mengirim pesan rahasia kepada Alice menggunakan enkripsi asimetris, Anda mengenkripsi dengan:
Mengenkripsi dengan kunci publik penerima berarti hanya kunci privat yang cocok dengannya yang dapat mendekripsinya.
Cocokkan setiap jenis enkripsi dengan kelemahan utamanya.
Skema hibrida menggunakan masing-masing untuk menutupi kelemahan lainnya: asimetris untuk mengirimkan kunci, simetris untuk membawa data.
Contoh terpecahkan: mengirim pesan rahasia
- Jelaskan bagaimana enkripsi asimetris memungkinkan Bob mengirim pesan rahasia kepada Alice, meskipun mereka belum pernah bertemu. [3]
- Alice mempublikasikan kunci publiknya, yang boleh dimiliki siapa saja, termasuk penyadap.
- Bob mengenkripsi pesan dengan kunci publik Alice. Ciphertext hanya dapat didekripsi oleh kunci privat yang sesuai.
- Alice mendekripsinya dengan kunci privatnya, yang tidak pernah ia bagikan. Penyadap yang memegang kunci publik dan ciphertext tidak dapat memulihkan pesannya.
- Kesalahan paling umum adalah mengatakan Bob mengenkripsi dengan kuncinya sendiri. Jejaklah kunci siapa yang digunakan di setiap langkah.
Bob mengirim pesan rahasia kepada Alice menggunakan enkripsi asimetris. Kunci apa yang dia gunakan untuk mengenkripsi?
Hanya kunci privat Alice yang dapat membatalkan apa yang dilakukan kunci publiknya, dan hanya Alice yang memilikinya. Bob sama sekali tidak pernah melihat kunci privat Alice.
Pendekatan hibrida, yang merupakan apa yang benar-benar terjadi
- Simetris cepat tetapi tidak dapat berbagi kuncinya; asimetris dapat berbagi kunci tetapi lambat. Sistem nyata menggunakan masing-masing sesuai dengan kekuatan mereka.
- Klien menghasilkan kunci sesi acak, mengenkripsi kunci kecil itu dengan kunci publik server, dan mengirimkannya. Server mendekripsinya dengan kunci privatnya, dan kini kedua belah pihak memiliki kunci sesi yang sama.
- Setiap byte dari percakapan sebenarnya kemudian dienkripsi secara simetris dengan kunci sesi tersebut: cepat, dan langkah asimetris yang lambat hanya terjadi sekali, pada beberapa byte.
- Inilah cara kerja HTTPS dan SSH.

Asimetris untuk menyepakati kunci, simetris untuk membawa data
Dalam pendekatan hibrida yang digunakan oleh HTTPS, enkripsi asimetris digunakan untuk:
Kriptografi asimetris lambat hanya berbagi kunci sesi; data utama kemudian menggunakan enkripsi simetris yang cepat.
Susun langkah-langkah skema hibrida yang digunakan oleh HTTPS secara berurutan.
Langkah asimetris lambat berjalan sekali, pada beberapa byte; segala sesuatu setelahnya adalah enkripsi simetris yang cepat.
Pencocokan Hash
- Hash kripto mengubah input dengan ukuran berapa pun menjadi digest berukuran tetap. Input yang sama selalu menghasilkan digest yang sama, dan perubahan kecil pada input mengubah digest sepenuhnya.
- Ini satu arah: input tidak dapat dipulihkan dari digest. Itu adalah tujuan utamanya, dan itulah yang membuatnya berbeda dari enkripsi, yang dirancang untuk dibalik.
- Kegunaan: menyimpan kata sandi, di mana sistem hanya menyimpan digest dan membandingkan digests saat login, sehingga database yang dicuri tidak menghasilkan kata sandi; dan memeriksa integritas, di mana digest file dihitung ulang dan dibandingkan untuk mendeteksi perubahan apa pun.
Hash kriptografik menghasilkan ____ berukuran tetap dari input berukuran apa pun.
Input yang sama selalu menghasilkan digest yang sama, perubahan kecil menghasilkan digest yang sepenuhnya berbeda, dan input tidak dapat dipulihkan darinya.
Contoh terpecahkan: mengapa menghash kata sandi alih-alih mengenkripsinya
- Sebuah website menyimpan kata sandi pengguna sebagai hash daripada teks terenkripsi. Jelaskan alasannya.
- Enkripsi dapat dibalik: ada kunci di suatu tempat yang mengembalikan nilai yang disimpan menjadi kata sandi, dan penyerang yang mendapatkan database mungkin juga mendapatkan kuncinya.
- Pencocokan hash adalah satu arah, sehingga database dicuri berisi digests tidak menghasilkan kata sandi, dan bahkan staf situs sendiri tidak dapat membacanya.
- Login tetap berfungsi karena sistem menghash apa yang diketik pengguna dan membandingkan digests, bukan kata sandi itu sendiri.
Hashing dan efek guncangan
Hash bersifat satu arah: mudah dihitung, praktis mustahil dibalik. Perubahan kecil pada input membalikkan bagian output yang besar dan tidak terprediksi — efek guncangan yang membuat hash bagus untuk kata sandi.
Hash kriptografik bersifat satu arah (Anda tidak dapat memulihkan input dari digest) dan menunjukkan efek gempuran — perubahan kecil pada input membalikkan bagian output yang besar dan tak terprediksi.
Sifat satu arah ditambah efek gempuran membuat hash cocok untuk menyimpan kata sandi dan memeriksa integritas.
Mengapa menyimpan kata sandi sebagai hash daripada dienkripsi? Pilih semua yang berlaku.
Digest berukuran tetap memang mungkin lebih pendek, tetapi itu bukan alasan keamanan. Sifat tidak dapat dibaliklah alasannya.
⟦⟧ Nilai yang sering terlewat
- Untuk mengirim pesan rahasia kepada seseorang Anda menggunakan kunci publiknya, bukan milik Anda. Sebut kunci siapa di setiap langkah.
- Kelemahan simetris adalah distribusi kunci; kelemahan asimetris adalah kecepatan. Hibrida menggunakan masing-masing untuk menutupi kelemahan yang lain.
- Hashing bersifat satu arah dan bukan enkripsi: tidak ada kunci dan tidak ada yang perlu didekripsi.
- Enkripsi hanya melindungi kerahasiaan. Hal ini tidak mencegah penyadapan, penghapusan, atau pesan yang diubah tanpa terdeteksi: untuk itu Anda memerlukan hash.
Anda telah memahaminya
- Enkripsi mengubah plaintext menjadi ciphertext dengan sebuah kunci dan hanya melindungi kerahasiaan; kekuatannya terletak pada kuncinya, bukan pada menyembunyikan algoritmanya
- Simetris: satu kunci bersama, cepat, cocok untuk data massal, lemah dalam distribusi kunci · Asimetris: kunci publik untuk mengenkripsi dan kunci privat untuk mendekripsi, tidak perlu pertukaran sebelumnya, tetapi lambat
- Hibrida yang digunakan oleh HTTPS dan SSH mengirimkan kunci sesi acak yang dienkripsi secara asimetris, kemudian membawa data secara simetris
- Hash kriptografi menghasilkan digest berukuran tetap, bersifat satu arah, dan digunakan untuk password serta pemeriksaan integritas