myUASARevision for UASAUlang kaji UASA
Asas Sains Komputer notesnota, bab 2

Perwakilan data

TextbookBuku teks Asas Sains Komputer Tingkatan 3 KSSM (cetakan pertama 2018), pageshalaman 29–59

What this chapter coversMatlamat bab ini

  • Murid boleh menerangkan maksud dan kepentingan kriptografi dalam pengkomputeran (2.1.1)
  • Murid boleh menunjuk cara langkah demi langkah proses sifer (cipher) yang melibatkan penyulitan (encryption) dan nyahsulit (decryption) (2.1.2)
  • Murid boleh menghasil dan menterjemah mesej menggunakan Reverse cipher (2.1.3)
  • Murid boleh menghasil dan menterjemah mesej menggunakan Substitution cipher, iaitu Caesar Cipher dan Pigpen Cipher (2.1.3)
  • Murid boleh menghasil dan menterjemah mesej menggunakan Transposition cipher, iaitu Columnar Transposition dan Rail Fence Cipher (2.1.3)
  • Murid boleh membanding beza kaedah sifer yang telah dipelajari (2.1.4)
  • Murid boleh memilih kaedah sifer terbaik berdasarkan situasi yang diberikan (2.1.5)
  • Murid boleh menghasilkan kaedah sifer bagi menyelesaikan masalah dalam kehidupan seharian (2.1.6)

2.1Kriptografi dalam keselamatan data

Sejak zaman purba, manusia menyembunyikan mesej supaya hanya penerima yang berhak dapat membacanya. Kini kebanyakan maklumat dihantar secara digital melalui Internet, jadi data perlu dilindungi daripada dicuri, diubah atau ditokok tambah oleh pihak lain.

2.1.1 Kriptografi dalam pengkomputeran

Kriptografi (cryptography) ialah kajian tentang teknik kerahsiaan, atau keselamatan komunikasi data. Tujuan utamanya: melindungi maklumat daripada terdedah dan dipintas oleh pihak lain.

Perkataan kriptografi berasal daripada bahasa Yunani: kriptos bermaksud sembunyi dan graphein bermaksud tulis. Tulisan hieroglif Mesir Purba ialah satu contoh kriptografi.

Tulisan hieroglif pada dinding batu
Tulisan hieroglif (Gambar foto 2.1).

Buku teks Asas Sains Komputer Tingkatan 3, ms. 30.

Kriptografi bukan hanya penyulitan. Kriptografi merangkumi pelbagai aspek keselamatan maklumat; penyulitan ialah salah satu daripadanya.

Empat kepentingan perkhidmatan keselamatan data

PerkhidmatanMaksudContoh
Kerahsiaan (confidentiality)Maklumat yang dihantar melalui rangkaian komputer tidak diketahui oleh pihak lain selain penerima.Mesej e-mel yang disulitkan.
Pengesahan (authentication)Mengenal pasti pihak yang terlibat dalam komunikasi.Nama pengguna dan kata laluan perbankan Internet.
Integriti (integrity)Mengenal pasti sebarang perubahan terhadap maklumat atau data oleh pihak lain.Jumlah wang dan nombor akaun dalam transaksi tidak boleh diubah.
Tiada sangkalan (non-repudiation)Membuktikan penghantar dan penerima tidak menafikan bahawa mereka menghantar dan menerima maklumat itu.Bukti transaksi dalam talian.
Ingat empat perkhidmatan: Ke-Pe-In-Ti: Kerahsiaan, Pengesahan, Integriti, Tiada sangkalan.
Wang dalam satu transaksi bank telah diubah oleh penggodam semasa dihantar. Perkhidmatan keselamatan yang manakah dapat mengenal pasti perubahan itu?
Tunjuk jawapanSembunyi jawapan
Integriti: mengenal pasti sebarang perubahan terhadap data oleh pihak lain.

2.1.2 Proses sifer (cipher)

Teks biasa (plaintext) ialah mesej asal yang boleh dibaca. Teks sifer (ciphertext) ialah teks yang tidak bermakna apabila dibaca, hasil penyulitan.
Penyulitan (encryption) ialah proses menukar teks biasa kepada teks sifer. Nyahsulit (decryption) ialah proses menukar teks sifer kembali kepada teks biasa.
Sifer (cipher) atau algoritma kriptografi ialah pasangan algoritma untuk penyulitan dan nyahsulit. Kunci (key) ialah nilai atau perkataan yang hanya diketahui oleh penghantar dan penerima.
Teks biasa SELAMAT DATANG disulitkan menjadi TAMALES GNATAD, kemudian dinyahsulit kembali
Penyulitan dan nyahsulit (Rajah 2.3 dan 2.4, ms. 33). Contoh ini menggunakan Reverse cipher.

Langkah penyulitan:

  1. Pengirim menghantar mesej (teks biasa) kepada penerima.
  2. Mesej disulitkan menggunakan satu kunci dan algoritma penyulitan.
  3. Teks sifer yang tidak bermakna terhasil.

Langkah nyahsulit:

  1. Teks sifer dinyahsulit menggunakan satu kunci dan algoritma nyahsulit.
  2. Teks sifer menjadi teks biasa.
  3. Penerima menerima teks biasa yang dapat dibaca.

Sifer yang dicipta pada zaman dahulu dipanggil sifer klasik. Terdapat dua jenis sifer:

Sifer kunci simetriSifer kunci tidak simetri
Termasuk semua sifer klasikDigunakan dalam sifer moden
Satu kunci yang sama untuk penyulitan dan nyahsulitDua kunci berbeza: kunci awam dan kunci persendirian
Kunci boleh berupa nombor, huruf, perkataan atau simbol; mesti disimpan secara rahsiaKunci awam boleh digunakan oleh sesiapa untuk penyulitan; kunci persendirian disimpan rahsia oleh penerima sahaja
Penghantar dan penerima boleh menjana kunci rahsia yang baharuKompleks dan melibatkan pengiraan matematik
Proses penyulitan dan nyahsulit tidak sama, tetapi saling songsang. Jangan keliru: penyulitan menghasilkan teks sifer, nyahsulit menghasilkan teks biasa.

2.1.3 Menghasil dan menterjemah mesej menggunakan kaedah sifer

Tiga kaedah sifer dipelajari: Reverse cipher, Substitution cipher (Caesar Cipher dan Pigpen Cipher) dan Transposition cipher (Columnar Transposition dan Rail Fence Cipher).

(i) Reverse cipher

Reverse cipher ialah kaedah sifer yang paling mudah. Mesej disulitkan dengan cara songsangan. Tiada kunci diperlukan. Ada tiga jenis (Jadual 2.1, ms. 35).

Abjad A hingga Z dan abjad Z hingga A
Jenis 1: songsangan abjad A-Z menjadi Z-A.
JenisCaraMESEJ SULIT ANDAPERIKSA ESOK
1. Songsangan abjadGantikan setiap huruf dengan huruf pada kedudukan yang sama dalam abjad Z-A (A menjadi Z, B menjadi Y ...)NVHVQ HFORG ZMWZKVIRPHZ VHLP
2. Songsangan perkataanSongsangkan huruf dalam setiap perkataan; susunan perkataan kekalJESEM TILUS ADNAASKIREP KOSE
3. Songsangan seluruh mesejMulakan dari huruf yang terakhir dalam mesej, bergerak ke huruf pertamaADNA TILUS JESEMKOSE ASKIREP

Nyahsulit: songsangkan teks sifer dengan cara yang sama. Contohnya jenis 3: ADNA TILUS JESEM disongsangkan semula menjadi MESEJ SULIT ANDA.

Jenis 2 dan jenis 3 berbeza. Jenis 2 menyongsangkan setiap perkataan (susunan perkataan sama). Jenis 3 menyongsangkan seluruh mesej (perkataan terakhir menjadi perkataan pertama).
Sulitkan TUTUP PINTU KELAS dengan Reverse cipher (a) jenis 2 (b) jenis 3.
Tunjuk jawapanSembunyi jawapan
(a) PUTUT UTNIP SALEK. (b) SALEK UTNIP PUTUT.

(ii) Substitution cipher

Substitution cipher menyulitkan mesej dengan menggantikan satu unit teks biasa (satu abjad, pasangan abjad atau kumpulan abjad) dengan unit teks sifer yang lain.

Monoalphabetic substitution ialah jenis yang paling mudah: setiap abjad teks biasa digantikan dengan satu abjad atau simbol yang lain. Caesar Cipher dan Pigpen Cipher ialah monoalphabetic substitution.

Caesar Cipher (sifer anjakan)

Caesar Cipher diperkenalkan oleh Julius Caesar (sekitar 100 tahun SM) dan juga dipanggil shift cipher. Setiap abjad digantikan dengan abjad lain dengan menganjakkan abjad dalam susunan abjad. Bilangan anjakan ialah kunci, K. K = 5 bermaksud anjakan lima tempat ke kanan pada senarai abjad.

Abjad teks biasa A-Z dan abjad teks sifer bermula V bagi K = 5
Anjakan K = 5 (Rajah 2.7, ms. 36): A menjadi V, B menjadi W dan seterusnya.
Roda Caesar dengan dua cincin abjad, K = 5
Roda Caesar K = 5. Cincin dalam diputar supaya huruf V di cincin dalam bertemu huruf A di cincin luar.

Menyulitkan (K = 4). Bina jadual: A menjadi W, B menjadi X, C menjadi Y, D menjadi Z, E menjadi A ... Teks biasa PERIKSA ESOK:

Teks biasaPERIKSAESOK
Teks siferLANEGOWAOKG

Teks sifer: LANEGOW AOKG.

Menyahsulit (Contoh 2.1, ms. 37). Amir menerima GRJMX AF HXKQFK, kunci K = 3. Abjad teks biasa A-Z ditulis di atas, abjad teks sifer X Y Z A B C ... W di bawah. Gantikan setiap huruf teks sifer dengan huruf teks biasa di atasnya: G menjadi J, R menjadi U, J menjadi M, M menjadi P, X menjadi A. Mesej: JUMPA DI KANTIN.

Awas: arah anjakan dalam buku tidak konsisten. Dalam nota (Rajah 2.7, Contoh 2.1, Contoh 2.6), K = 5 bermakna abjad sifer bermula dengan V, jadi A menjadi V (K = 4: A menjadi W; K = 3: A menjadi X). Dalam Pentaksiran 2 (soalan objektif 2 dan 4) dan soalan 6 pada latihan akhir subtopik (K = 9), arah sebaliknya digunakan: A menjadi F bagi K = 5, dan DI menjadi MR bagi K = 9. Jadual abjad dalam soalan berstruktur 5 pula mengikut arah nota (A menjadi W). Ini bukan kesilapan kamu. Cara selamat: bina atau baca dahulu jadual abjad teks biasa dan abjad sifer, kemudian tukar huruf ikut jadual itu; jangan mengira arah anjakan daripada kepala. Semua soalan Caesar Cipher dalam latihan ini memberi jadual.
Menyahsulit Caesar Cipher: guna jadual yang sama, tetapi baca dari abjad sifer (baris bawah) ke abjad biasa (baris atas).
Dengan jadual K = 4 di atas (A menjadi W), nyahsulitkan FQILW.
Tunjuk jawapanSembunyi jawapan
F menjadi J, Q menjadi U, I menjadi M, L menjadi P, W menjadi A. Teks biasa: JUMPA.

Pigpen Cipher

Pigpen Cipher ialah Substitution cipher geometri yang mudah. Setiap abjad digantikan dengan simbol grafik daripada garis sempadan grid (tanda # dan X) dengan atau tanpa titik. Penyulitan dan nyahsulit mudah jika jadual simbol diketahui.

Simbol Pigpen Cipher bagi A hingga Z
Abjad dan simbol Pigpen (Jadual 2.2, ms. 38).
  • A hingga I: garis sempadan petak grid # (tanpa titik).
  • J hingga R: bentuk yang sama seperti A hingga I, tetapi dengan titik.
  • S hingga V: bentuk V dalam grid X (tanpa titik). W hingga Z: bentuk yang sama dengan titik.
SELAMAT PAGI dalam simbol Pigpen
SELAMAT PAGI disulitkan dengan Pigpen Cipher (Jadual 2.3, ms. 38).

Nyahsulit (Contoh 2.2, ms. 39): rujuk jadual, tukarkan setiap simbol kepada huruf. Teks sifer dalam buku menjadi SERONOK BELAJAR.

Variasi Pigpen (Tahukah Anda, ms. 38) oleh Thomas Hunter II turut mewakili nombor 0 hingga 9.

Buku (Contoh 2.6, ms. 47) menyenaraikan "menggunakan kunci" sebagai kekuatan Pigpen Cipher. Ini tidak selaras dengan ms. 37-38 dan 48, yang menganggap jadual simbol sebagai rahsia Pigpen dan memasukkannya dalam sifer tahap rendah tanpa kunci angka atau perkataan. Dalam latihan ini, Pigpen Cipher tidak menggunakan kunci (hanya jadual simbol).
Perbezaan Caesar Cipher dan Pigpen Cipher: Caesar Cipher menggantikan abjad dengan abjad dan menggunakan kunci. Pigpen Cipher menggantikan abjad dengan simbol dan tidak menggunakan kunci (jadual simbol ialah rahsianya).

(iii) Transposition cipher

Transposition cipher mengubah kedudukan abjad dalam teks biasa. Abjad-abjad kekal sama, hanya disusun semula (pemutaran atau pencampuran, scrambling). Berbeza daripada Substitution cipher yang menggantikan abjad. Penyulitan dan nyahsulit memerlukan kunci.

Columnar Transposition

Mesej ditulis dalam jadual secara mendatar (baris demi baris). Satu perkataan dipilih sebagai kunci: bilangan huruf kunci ialah bilangan lajur, dan susunan abjad huruf kunci menentukan urutan lajur dibaca.

Menyulitkan (Contoh 2.3, ms. 40-41): MAKLUMAT MESYUARAT AKADEMIK, kunci BOLA.

  1. Tulis huruf kunci. Beri nombor ikut susunan abjad: A = 1, B = 2, L = 3, O = 4. Maka B O L A menjadi 2 4 3 1.
  2. Kira bilangan baris: bilangan huruf teks biasa ÷ bilangan huruf kunci = 25 ÷ 4 = 6.25, jadi 7 baris (bundarkan ke atas). Isi huruf dari kiri ke kanan, baris demi baris. Petak kosong diisi dengan sebarang abjad (buku mengisi K, X, T, Z dalam contoh ini; dalam latihan ini huruf pengisi ialah X, melainkan soalan menyatakan lain).
  3. Tulis teks sifer: baca lajur 1 dari atas ke bawah, kemudian lajur 2, 3 dan 4.
Jadual Columnar Transposition kunci BOLA, 4 lajur dan 7 baris
Kunci BOLA: teks sifer LTYAAIZ MUMUTDK KASRKMT AMEAAEX.

Menyahsulit (Contoh 2.4, ms. 41-42): teks sifer EIEALANPKIAKSADMOPAEPNSXRNEBEX, kunci PINTU.

  1. Tulis P I N T U dan nombor 3 1 2 4 5 (I = 1, N = 2, P = 3, T = 4, U = 5).
  2. Bilangan baris = 30 ÷ 5 = 6.
  3. Isi teks sifer menegak: enam huruf pertama ke lajur bernombor 1, enam seterusnya ke lajur 2, dan seterusnya.
  4. Baca mendatar dari baris pertama: SENARAIPENDEKPEMAINBOLASEPAKXX.
Jadual nyahsulit kunci PINTU, 5 lajur dan 6 baris
Mesej: SENARAI PENDEK PEMAIN BOLA SEPAK (XX ialah huruf pengisi).

Perkara penting semasa nyahsulit: kira huruf kunci untuk mengetahui bilangan lajur.

Contoh tambahan (kira sendiri): KOD RAHSIA PINTU dengan kunci KUNCI (C = 1, I = 2, K = 3, N = 4, U = 5, jadi nombor 3 5 4 1 2). 14 huruf ÷ 5 lajur = 2.8, jadi 3 baris: KODRA / HSIAP / INTU dan satu petak kosong diisi X. Teks sifer: RAUAPXKHIDITOSN.

Jangan baca jadual ikut urutan lajur kiri ke kanan semasa menyulitkan. Baca ikut nombor kecil ke besar. Dan jangan lupa petak kosong diisi huruf pengisi.

Rail Fence Cipher

Rail Fence Cipher juga dipanggil zig-zag cipher. Huruf teks biasa ditulis mengikut corak zig-zag seperti pagar. Kunci ialah bilangan baris. Ruang kosong (jarak antara perkataan) diabaikan.

Rail Fence Cipher kunci 2 bagi JUMPA DI PINTU 1 PUKUL 1
Kunci 2 (Rajah 2.9, ms. 43): baca baris 1 kemudian baris 2.

Menyahsulit (Contoh 2.5, ms. 43-44): KMDENAIUICMRAGMREL, kunci 3.

  1. Kunci 3 = 3 baris. Bilangan lajur = bilangan huruf teks sifer = 18.
  2. Tandakan petak zig-zag dengan “-”.
  3. Isi teks sifer baris demi baris: baris 1 (KMDEN), baris 2 (AIUICMRAG), baris 3 (MREL).
  4. Baca mengikut corak zig-zag: KAMIMURIDCEMERLANG. Asingkan perkataan: KAMI MURID CEMERLANG.
Jadual 3 baris 18 lajur bagi nyahsulit kunci 3
Nyahsulit kunci 3. Anda perlu tahu panjang setiap baris: lajur pertama, kelima, kesembilan ... ialah baris 1.

Contoh tambahan: SEMAK DATA, kunci 3 memberi baris 1 = SKA, baris 2 = EADT, baris 3 = MA. Teks sifer: SKAEADTMA.

Sulitkan SEMAK DATA dengan Rail Fence Cipher kunci 2.
Tunjuk jawapanSembunyi jawapan
Huruf SEMAKDATA: baris 1 ialah S, M, K, A, A (kedudukan ganjil); baris 2 ialah E, A, D, T. Teks sifer: SMKAAEADT.

2.1.4 Membanding kaedah sifer

Sebelum menghantar mesej sulit, pengirim mesti menimbang kekuatan dan kelemahan kaedah sifer supaya mesej tidak mudah diceroboh tetapi boleh dinyahsulit oleh penerima. Contoh 2.6 (ms. 46-47) menyulitkan JAGA KEBERSIHAN KELAS.

KaedahPenyulitanTeks siferKekuatanKelemahan
Reverse cipherSongsangkan seluruh mesej; tiada kunciSALEK NAHISREBEK AGAJMudah digunakanTiada kunci; mudah dinyahsulit dengan menyongsangkannya
Caesar CipherKunci K = 5EVBV FZWZMNDCVI FZGVNMenggunakan kunci; abjad digantikan dengan abjad lainNilai kunci boleh diramal dengan kaedah cuba-jaya
Pigpen CipherTukar ikut jadual simbolSimbol (lukis)Menggunakan simbol lain, bukan abjadMudah dinyahsulit jika cara perwakilan simbol diketahui
Rail Fence CipherKunci 4 (empat baris)JBASAEEHNAGKRIKLASEMenggunakan kunci; bilangan baris sukar diramalAbjad dalam teks sifer sama dengan abjad teks biasa
Columnar TranspositionKunci TIKAR (urutan 5, 2, 3, 1, 4); 19 ÷ 5 = 3.8 jadi 4 barisARNSABHLGEAAKSKXJEIEMenggunakan kunci; nombor lajur sukar diramalAbjad dalam teks sifer sama dengan abjad teks biasa

Contoh 2.6, buku teks Asas Sains Komputer Tingkatan 3, ms. 46-47. Teks sifer disemak semula dengan atur cara Python.

Kesimpulan: Reverse cipher paling lemah (tiada kunci). Kaedah yang menggunakan kunci dan menyusun semula huruf (Columnar Transposition) paling sukar diceroboh antara lima kaedah ini.

Dua pasang yang sering dibandingkan: Caesar vs Pigpen (kedua-dua Substitution; Caesar guna kunci, Pigpen guna simbol) dan Substitution vs Transposition (menggantikan abjad lawan menyusun semula abjad).

2.1.5 Pemilihan kaedah sifer terbaik

Pilihan kaedah bergantung pada situasi, iaitu tahap kerahsiaan mesej.

Tahap kerahsiaanKaedah yang sesuaiSebab
Rendah (kurang penting)Reverse cipher atau Pigpen CipherMudah digunakan untuk menyulit dan menyahsulit; masa singkat; tidak perlu kunci.
SederhanaCaesar Cipher atau Rail Fence CipherMenggunakan kunci.
Tinggi (terlalu sulit)Kaedah yang ada kunci, paling sesuai Columnar Transposition; Caesar Cipher dan Rail Fence Cipher juga bolehLebih selamat dan sukar diceroboh; sukar dinyahsulit tanpa kunci. Masa lebih lama diterima kerana maklumat amat penting.
Contoh 2.7 hingga 2.9 (ms. 49-50)
Salim dan Hock Chuan menetapkan masa mengulang kaji di dalam kelas: tahap rendah, masa singkat, jadi Reverse cipher.
Cikgu Faizal menyulitkan nama fail yang mengandungi nama pengawas terpilih: tahap sederhana, jadi Caesar Cipher atau Rail Fence Cipher.
Pegawai bank menghantar status pendapatan suku tahunan (terlalu sulit): tahap tinggi, jadi Columnar Transposition.
Peraturan: mesej tahap sederhana dan tinggi, pilih kaedah yang mempunyai kunci.
Seorang murid mahu menyulitkan nota jadual giliran bertugas kelas (tidak penting, perlu cepat). Kaedah apa yang sesuai dan mengapa?
Tunjuk jawapanSembunyi jawapan
Tahap kerahsiaan rendah, maka Reverse cipher (atau Pigpen Cipher): mudah dan cepat, tidak perlukan kunci.

2.1.6 Kaedah sifer dalam penyelesaian masalah

Maklumat seperti kata laluan e-mel, nombor PIN kad debit dan rahsia syarikat boleh digodam. Kaedah sifer ialah satu cara melindunginya. Sifer yang kompleks menyukarkan pencerobohan. Sifer hanyalah satu daripada kaedah keselamatan siber (cyber security).

Anda boleh mencipta sifer baharu sendiri. Dalam proses mencipta, titikberatkan kelebihan dan kelemahan sifer itu. Contohnya, dalam Rail Fence Cipher, jika rahsia kunci terbocor maka mesej mudah dinyahsulit.

Contoh 2.10: sifer baharu Safri (ms. 51-54)

Safri mencipta Substitution cipher baharu menggunakan simbol. Kunci k = 1 hingga 6; setiap kunci mewakili satu simbol 1 yang unik dan satu simbol 2 (kotak) yang umum.

  1. Pilih kunci, contohnya k = 2. Susun jadual asas bermula dengan k = 2, kemudian 3, 4, 5, 6, dan akhirnya 1.
  2. Huruf A hingga D guna simbol 1 bagi k = 2 dalam kotak: A tanpa putaran, B diputar 90 darjah mengikut arah jam, C diputar 180 darjah, D diputar 270 darjah. E hingga H guna k = 3, I hingga L guna k = 4, M hingga P guna k = 5, Q hingga T guna k = 6, U hingga X guna k = 1.
  3. Y diwakili simbol 1 bagi k = 2 sahaja (tanpa kotak). Z diwakili kotak sahaja.
Simbol 1 bagi enam kunci dan simbol sifer bagi A hingga Z
Jadual simbol sifer Safri, k = 2 (Jadual 2.4 dan 2.7, ms. 52-53; digambar semula).

Langkah 3: sulitkan KHAIRUL dan AMIRAH dengan merujuk jadual (ms. 54).

Simbol sifer bagi KHAIRUL dan AMIRAH
Teks sifer 1 dan 2 (jawapan bagi Langkah 3).
Menilai sifer baharu: (1) Adakah jenisnya Substitution atau Transposition? (2) Adakah ada kunci? (3) Apakah kelemahan jika pihak lain tahu jadual atau kuncinya?

Ringkasan

SiferJenisKunciTeks biasa SERONOK menjadi ...
Reverse cipher (seluruh mesej)ReverseTiadaKONORES
Caesar CipherSubstitutionAda (anjakan K)Huruf diganti huruf; K = 4 memberi OANKJKG
Pigpen CipherSubstitutionTiada (jadual simbol)Huruf diganti simbol
Columnar TranspositionTranspositionPerkataan (bilangan lajur dan urutan)Huruf disusun semula dalam lajur
Rail Fence CipherTranspositionNombor (bilangan baris)Huruf disusun semula zig-zag