Penyulitan (encryption) mengacau data supaya hanya orang yang mempunyai kunci yang betul boleh membacanya. Data asal yang boleh dibaca ialah teks biasa (plaintext), hasil yang kacau ialah teks sifer (ciphertext), dan kaedah yang digunakan ialah algoritma penyulitan. Anda mungkin diminta mentakrif istilah ini, menerangkan mengapa penyulitan digunakan, dan menjejak contoh mudah.
Pelajaran ini menyusul cara pelayar dan pelayan berkomunikasi dan berada dalam modul keselamatan internet.
Mengapa data disulitkan?
Data yang dihantar merentas rangkaian melalui beberapa peranti yang tidak dikawal oleh penghantar.
Penyulitan bermakna jika data dipintas, ia tidak dapat difahami tanpa kunci. Ia melindungi kerahsiaan. Ia tidak menghalang data disalin atau dipadam.
HTTPS menggunakan penyulitan antara pelayar dan pelayan, itulah sebabnya alamat halaman yang bermula dengan https lebih selamat untuk menghantar kata laluan berbanding yang bermula dengan http.
Apakah penyulitan simetri dan tak simetri?
- Simetri: satu kunci menyulit dan menyahsulit. Ia pantas, tetapi penghantar dan penerima mesti berkongsi kunci tanpa dilihat orang lain.
- Tak simetri: kunci awam menyulit dan kunci peribadi yang sepadan menyahsulit. Sesiapa boleh memiliki kunci awam. Hanya pemilik memegang kunci peribadi, jadi tiada kunci rahsia perlu dihantar.
Contoh dijejak: sifer anjakan
Sifer anjakan (Caesar) menggerakkan setiap huruf sepanjang abjad sebanyak satu nombor, iaitu kunci. Huruf dinomborkan A = 0, B = 1, … Z = 25. Pusingan semula menggunakan MOD 26.
FUNCTION Shift(Letter : CHAR, Key : INTEGER) RETURNS CHAR
Pos <- ASC(Letter) - 65
NewPos <- (Pos + Key) MOD 26
RETURN CHR(NewPos + 65)
ENDFUNCTION
Di sini ASC('A') ialah 65, jadi menolak 65 memberi kedudukan dari 0 hingga 25.
Contoh berlangkah. Sulitkan CAT dengan kunci 3.
| Huruf | ASC | Pos | Pos + 3 | MOD 26 | CHR(+65) |
|---|---|---|---|---|---|
| C | 67 | 2 | 5 | 5 | F |
| A | 65 | 0 | 3 | 3 | D |
| T | 84 | 19 | 22 | 22 | W |
Teks sifernya ialah FDW. Untuk menyahsulit, tolak kunci: F ialah 5, 5 − 3 = 2, iaitu C.
Semak pusingan semula dengan X dan kunci 3: ASC ialah 88, Pos = 23, 23 + 3 = 26, dan 26 MOD 26 = 0, memberi A. Abjad berpusing dari Z kembali ke A.
Kesilapan yang perlu dielakkan
Jawapan salah: “Penyulitan menghalang penggodam mendapat data.”
Pelajar mendakwa penyulitan mencegah pemintasan.
Penyulitan tidak menghalang pemintasan. Ia menjadikan data yang dipintas tidak boleh dibaca tanpa kunci. Nyatakan apa yang tinggal pada penceroboh: teks sifer.
Kesilapan kedua dalam penjejakan ialah terlupa MOD 26. Menyulit X dengan kunci 3 tanpanya memberi 26, yang bukan kedudukan huruf.
Semak sendiri
1. Sulitkan ZOO dengan kunci anjakan 5. Tunjukkan nilai Pos.
Show answer
Z = 25, 25 + 5 = 30, 30 MOD 26 = 4, jadi E. O = 14, 14 + 5 = 19, jadi T. O kedua juga T. Teks sifer: ETT.
2. Nyahsulit MJQQT, yang disulitkan dengan kunci 5.
Show answer
Tolak 5 daripada setiap kedudukan: M(12) jadi 7 = H, J(9) jadi 4 = E, Q(16) jadi 11 = L, Q jadi L, T(19) jadi 14 = O. Teks biasanya HELLO. Semak: HELLO dianjak 5 memberi MJQQT.
3. Dalam penyulitan tak simetri, kunci mana yang dirahsiakan pengguna?
Show answer
Kunci peribadi. Kunci awam boleh dikongsi dengan sesiapa.
Ke mana selepas ini?
Penyulitan melindungi data semasa penghantaran, tetapi pengguna masih boleh diperdaya supaya menyerahkannya, seperti ditunjukkan dalam mengesan isyarat phishing. Berlatih dengan set latihan campuran dan alat latih jejak pseudokod, yang sesuai untuk penjejakan sifer anjakan.
Jika penjejakan algoritma ialah tempat anda kehilangan markah, mengerjakannya bersama guru ialah penggunaan masa yang baik dalam tuisyen Computer Science dalam talian satu dengan satu.