tugasan 1 mte3143
DESCRIPTION
MTE3143kod dan kriptografi Pengenalan Kriptografi (cryptography) berasal dari bahasa Yunani, terdiri dari dua perkataan iaitu kryptós dan graphein. Kryptós bermaksud menyembunyikan, sedangkan graphein boleh didefinisikan sebagai tulisan. Kriptografi adalah ilmu yang mempelajari matematik yang berhubungan dengan teknik untuk menjaga aspek keselamatan maklumat, seperti kerahsiaan data, kesahan data ataupun maklumat, integriti data, dan pengesahan. Secara ringkasnya dapat kita ketahui bahawa kryptografi merupakan ilmu untuk menjaga keselamatan maklumat atau mesej daripada orang ketiga. Dalam kriptografi terdapat dua teknik penting pertamanya enkripsi iaitu proses mengubah mesej atau maklumat asal kepada sesuatu yang tidak masuk akal dan tidak dapat dibaca oleh orang. Kedua pula adalah teknik menyahsulit (decrypt) iaitu menukarkan mesej yang tidak masuk akal tadi kepada maklumat sebenar dengan cara-cara yang spesifik. Peranan Kod Dan Kriptografi Dalam Teknologi Moden Semenjak zaman kegemilangan kerajaan Greek lama dahulu hinggalah ke hari ini kod dan kriptografi ini masih digunakan. Pada masa dahulu kebanyakkan kod dan kriptografi digunakan untuk menghantar mesej rahsia dan supaya walaupun mesej itu hilang orang lain tidak dapat memahaminya. Selain itu, kriptografi ini juga aktif digunakan semasa perang dunia dalam menghantar mesej dan terdapat beberapa mesin cipher untuk mengenkripsi maklumat kepada kod antaranya mesin tentera German. Kod dan kriptografi pada masa kini adalah sangat penting dalam kegunaan teknologi-teknologi pada masa kini. Teknologi-teknologi yang menggunakan kod dan kriptografi ini kita boleh lihat dalam kehidupan seharian pertamanya adalah kad ATM, kad kredit, password email dan komputer, pembelian dalam talian dan dalam telefon semasa mesej dan membuat panggilan semuanya adalah hasil daripada penggunaan kriptografi moden yang lebih canggih dan membolehkan hanya penerima dapat memahami dan menterjemah mesej atau maklumat yang di sampaikan. Dalam kad yang menggunakan cip seperti kad ATM dan kad kredit penggunaan cipher ini adalah terpulang kepada cara atau teknik kriptografi yang digunakan oleh pihak bank. Antara yang digunakan adalah kad kredit menggunakan sistem enkripsi simetri. Kad tersebut mempunyai pengenalan statik yang membolehkan orang bank mengetahui semua pergerakkan transaksi. Semasa transaksi pihak bank akan menghantar nombor MAC kepada pengguna sama ada melalui mesej ke telefon peribadi pengguna dan jika MAC yang dimasukkan oleh pengguna sama maka transaksi akan dijalankan oleh pihak bank. Kriptografi ini juga digunakan di dalam komputer dalam menjaga keselamatan data komputer, keselamatan rangkaian maklumat, dan keselamatan internet. Kriptografi ini dapat menghalang daripada komputer di akses oleh orang yang tidak mempunyai kebenaran, aktiviti komputer yang tidak valid, arahan komputer yang tidak mempunyai kebenaran. Semasa melayari internet atau dalam jaringan adalah masa penting kriptografi ini jelas sekali digunakan terutamanya dalam menjaga keselamatan komputer daripada dicerobohi. Gambar di atas menunjukkan bagaimana semasa dalam jaringan menghantar data atau menerima data dari komputer lain ataupun internet berlakunya pencerobohan maklumat atau data sama ada melalui gangguan (interruption), pemintasan (inteception), pengubahsuaian maklumat (modification) dan fabrikasi (fabrication) iaitu penciptaan maklumat baharu. Oleh yang demikian kriptografi digunakan seperti dalam penghantaran maklumat seperti “file” komputer menggunakan sistem enkripsi simetri ataupun satu kunci. Dalam kes ini penghantar dan penerima mempunyai satu kunci yang sama untuk memahami teks yang telah dienkripsi menggunakan cipher, “data encryption standard” (DES), dan Triple DES dan Advanced Encryption Standard. Selain itu kriptografi asimetri juga digunakan dengan mempunyai dua jenis kunci bagi setiap maklumat iaitu satu untuk awam dan satu untuk persendirian. Kod Pembetulan KTRANSCRIPT
1.0 Pengenalan
Kriptografi (cryptography) berasal dari bahasa Yunani, terdiri dari dua
perkataan iaitu kryptós dan graphein. Kryptós bermaksud menyembunyikan,
sedangkan graphein boleh didefinisikan sebagai tulisan. Kriptografi adalah ilmu
yang mempelajari matematik yang berhubungan dengan teknik untuk menjaga
aspek keselamatan maklumat, seperti kerahsiaan data, kesahan data ataupun
maklumat, integriti data, dan pengesahan. Secara ringkasnya dapat kita ketahui
bahawa kryptografi merupakan ilmu untuk menjaga keselamatan maklumat atau
mesej daripada orang ketiga.
Dalam kriptografi terdapat dua teknik penting pertamanya enkripsi iaitu proses
mengubah mesej atau maklumat asal kepada sesuatu yang tidak masuk akal dan
tidak dapat dibaca oleh orang. Kedua pula adalah teknik menyahsulit (decrypt)
iaitu menukarkan mesej yang tidak masuk akal tadi kepada maklumat sebenar
dengan cara-cara yang spesifik.
2.0 Peranan Kod Dan Kriptografi Dalam Teknologi Moden
Semenjak zaman kegemilangan kerajaan Greek lama dahulu hinggalah ke
hari ini kod dan kriptografi ini masih digunakan. Pada masa dahulu kebanyakkan
kod dan kriptografi digunakan untuk menghantar mesej rahsia dan supaya
walaupun mesej itu hilang orang lain tidak dapat memahaminya. Selain itu,
kriptografi ini juga aktif digunakan semasa perang dunia dalam menghantar mesej
dan terdapat beberapa mesin cipher untuk mengenkripsi maklumat kepada kod
antaranya mesin tentera German.
Kod dan kriptografi pada masa kini adalah sangat penting dalam kegunaan
teknologi-teknologi pada masa kini. Teknologi-teknologi yang menggunakan kod
dan kriptografi ini kita boleh lihat dalam kehidupan seharian pertamanya adalah
kad ATM, kad kredit, password email dan komputer, pembelian dalam talian dan
dalam telefon semasa mesej dan membuat panggilan semuanya adalah hasil
daripada penggunaan kriptografi moden yang lebih canggih dan membolehkan
hanya penerima dapat memahami dan menterjemah mesej atau maklumat yang
di sampaikan.
Dalam kad yang menggunakan cip seperti kad ATM dan kad kredit
penggunaan cipher ini adalah terpulang kepada cara atau teknik kriptografi yang
digunakan oleh pihak bank. Antara yang digunakan adalah kad kredit
menggunakan sistem enkripsi simetri. Kad tersebut mempunyai pengenalan statik
yang membolehkan orang bank mengetahui semua pergerakkan transaksi.
Semasa transaksi pihak bank akan menghantar nombor MAC kepada pengguna
sama ada melalui mesej ke telefon peribadi pengguna dan jika MAC yang
dimasukkan oleh pengguna sama maka transaksi akan dijalankan oleh pihak
bank.
Kriptografi ini juga digunakan di dalam komputer dalam menjaga keselamatan
data komputer, keselamatan rangkaian maklumat, dan keselamatan internet.
Kriptografi ini dapat menghalang daripada komputer di akses oleh orang yang
tidak mempunyai kebenaran, aktiviti komputer yang tidak valid, arahan komputer
yang tidak mempunyai kebenaran. Semasa melayari internet atau dalam jaringan
adalah masa penting kriptografi ini jelas sekali digunakan terutamanya dalam
menjaga keselamatan komputer daripada dicerobohi.
Gambar di atas menunjukkan bagaimana semasa dalam jaringan menghantar
data atau menerima data dari komputer lain ataupun internet berlakunya
pencerobohan maklumat atau data sama ada melalui gangguan (interruption),
pemintasan (inteception), pengubahsuaian maklumat (modification) dan fabrikasi
(fabrication) iaitu penciptaan maklumat baharu. Oleh yang demikian kriptografi
digunakan seperti dalam penghantaran maklumat seperti “file” komputer
menggunakan sistem enkripsi simetri ataupun satu kunci. Dalam kes ini
penghantar dan penerima mempunyai satu kunci yang sama untuk memahami
teks yang telah dienkripsi menggunakan cipher, “data encryption standard” (DES),
dan Triple DES dan Advanced Encryption Standard. Selain itu kriptografi asimetri
juga digunakan dengan mempunyai dua jenis kunci bagi setiap maklumat iaitu
satu untuk awam dan satu untuk persendirian.
3.0 Kod Pembetulan Kesilapan
Data dan maklumat yang dihantar boleh terganggu ketika penghantaran. Oleh
itu, satu mekanisma diperlukan untuk mengesan dan menghapus ralat pada
lapisan pautan data dan pengangkutan model sekaligus membantu penerima
mendapat mesej yang betul atau menghampiri mesej paling tepat.
Kod pembetulan kesilapan (ralat) menangani masalah ralat dengan menggunakan
konsep lebihan iaitu denga menambah lebih banyak simbol dalam mesej. Lebihan
seringkali berlaku dan kita seringkali menggunakan pengetahuan bahasa kita
untuk memperbetulkannya contohnya dalam pengejaan ataupun kita gelarkan
sebagai tipografi (ejaan) seperti mesej “makan” diterima sebagai “mahan” maka
dengan kefahaman bahasa kita dapat memperbetulkannya dengan tekaan mudah
iaitu kepada “makan”.
Kod pembetulan ini penting dalam teknologi masa kini contohnya dalam
penggunaan telefon untuk menelefon berlakunya gangguan (noise) bunyi. Apabila
terlalu banyak bunyi dan gangguan pada komunikasi maka ada kemungkinan
isyarat akan hilang atau rosak. Apabila ralat dikesan maka sistem akan
melakukan berbagai jenis tindakan. Terdapat sistem yang membuang terus data
dalam kesesatan oleh itu semasa kita menelefon akan berlaku hilang perkataan
yang disebut oleh penyampai akibat daripada gangguan terlalu banyak. Pancang
rawak kuasa boleh memusnahkan satu atau lebih bit maklumat.
4.0 Kod Semakan Pariti
Kod semakan pariti adalah antara cara paling mudah untuk mengesan
kesilapan dan memperbetulkan kesilapan atau ralat pada mesej yang diterima.
Semakan parity ini melibatkan nombor mesej dan 1-bit nombor semakan dan
seperti dalam rajah di bawah menunjukkan 7-bit nombor yang menunjukkan
mesej dan satu nombor pariti ataupun digit semakan.
Digit semakan itu ditentukan mengikut bilangan nombor 1 pada mesej.
Sekiranya jumlah bilangan nombor 1 pada mesej adalah nombor genap maka
digit semakan adalah 0 dan sekiranya bilangan nombor 1 adalah ganjil maka digit
semakan ialah 1. Contohnya andaikan kita ingin mentransmit unit data binari
1100001 [ASCII ‘a’]. Apabila dicampurkan bilangan bit 1 menjadikan 3, iaitu
nombor ganjil. Sebelum mentransmit, unit data melalui penjana pariti. Kemudian
penjana pariti mengira bilangan bit 1 dan meletakkan bit pariti (bit 1) pada
penghujung. Jumlah bilangan bit 1 adalah 4, nombor genap. Sistem mentransmit
keseluruhan unit data ke destinasi. Apabila ia tiba pada destinasi, penerima
meletakkan semua 8 bit melalui fungsi penyemakan pariti genap Jika penerima
melihat 11000011, ia mengira 4 utk bit 1, iaitu nombor genap, dan unit data
diterima. Jika bilangan bit 1 adalah ganjil, penerima tahu bahawa ralat telah
berlaku dalam data unit tersebut dan menolak unit data
Andaikan pengirim ingin menghantar perkataan “world”, dlm ASCII, lima
aksara dikodkan sebagai:
Setiap 4 aksara pertama mempunyai bilangan bit 1 yg genap, oleh itu bit pariti
adalah 0. Aksara terakhir ‘d’, mempunyai 3 bit 1 (ganjil), oleh itu bit pariti adalah 1
untuk menjadikan bit 1 sebagai pariti genap.
Andaikan perkataan “world” yg diterima oleh penerima mempunyai ralat
semasa transmisi.
Penerima mengira bit 1 dalam setiap aksara dan mendapati terdapat bilangan
genap dan ganjil (7,6,5,4,4). Penerima tahu bahawa data tersebut telah diubah,
dan membuangnya serta memohon transmisi semula.
Secara am katakod boleh ditulis sebagai C1, C2, C3, C4, C5, C6
C6 = C1 + C2 + C3 + C4 +C5 (MOD 2)
Kita juga boleh mengira kadar maklumat bilangan digit. Contohnya dalam nomber
mesej seperti di atas mempunyai 6 digit. Masukkan maklumat di dalam formula di
bawah.
n= bilangan digit dalam mesej
kadarmaklumatkn=n−1
n
= 7−1
7
= 0.85
= 85%
Kadar maklumat adalah menunjukkan bawah betapa kemungkinan ketepatan
maklumat tersebut.
5.0 Kod Hamming
Kod hamming juga adalah salah satu daripada cara untuk
membetulkan kesilapan atau ralat yang terdapat di dalam mesek atau maklumat
yang diterima. Ia bukan sekadar mengesan ralat, tetapi dapat juga membetulkan
ralat dengan ketepatan 100%. Kod Hamming utk aksara ASCII 7-bit memerlukan
4 bit pariti, menjadikannya 11 bit. Bit pariti berada pada kedudukan 1,2,4,8 (2X),
manakala bit data berada pada kedudukan 3, 5, 6, 7, 9, 10, 11. Ia juga
membenarkan penyemakan pariti genap dan ganjil.
Andaikan aksara ‘A’ dihantar menggunakan hamming code: 1000001
Kedudukan 1, 2, 4, 8 digunakan untuk bit pariti, manakala kedudukan 3, 5, 6,
7, 9, 10, 11 digunakan untuk bit data. Andaikan hamming code menggunakan
pariti genap. Oleh yang demikian bit pariti ini ditentukan menggunakan 2n. Setiap
nombor berselang mengikut pariti dipilih sebagai bahagian untuk semakan.
Contohnya Bit 1,3,5,7,9,11 disemak oleh bit pariti 1 (P1), Bit 2,3,6,7,10,11
disemak oleh bit pariti 2 (P2), bit 4,5,6,7 disemak oleh bit pariti 4 (P4), bit
8,9,10,11 disemak oleh bit pariti 8 (P8). Oleh itu bit 00100001001 dihantar.
Untuk menentukan ralat dalam kod ini pertamanya kita harus menentukan
pariti mana yg mengesan ralat (jika semuanya tiada ralat maka penghantaran
dianggap tiada ralat). Kemudian jumlahkan lokasi pariti bit yg ralat (andaikan P2
dan P4) dan jumlah tersebut adalah merupakan lokasi ralat. Tukarkan bit tersebut
(jika 1 jadikan 0 dan sebaliknya).
Andaikan hamming code menggunakan pariti genap dan bit yg dihantar
mengandungi ralat seperti yang disebut tadi.
Pariti 1 menyemak/ P1= 1, 3, 5, 7, 9, 11
Pariti 2 menyemak/ P2= 2, 3, 6, 7, 10, 11
Pariti 4 menyemak/ P4= 4, 5, 6, 7
Pariti 8 menyemak/ P8= 8, 9, 10, 11
pariti 1 (P1) dan pariti 8 (P8) menyemak dan mendapati bil. bit 1 adalah genap
oleh itu tiada ralat. Pariti 2(P2) dan pariti 4(P4) menyemak dan mendapati bit 1
adalah ganjil dan menjukkan bahawa adanya ralat. Apabila kita menambah pariti
yg mempunyai ralat (2+4=6), ia menunjukkan bit 6 tidak benar. Oleh itu bit pd
kedudukan ke-6 ditukar dari digit 1 kepada digit 0.
6.0 Perbandingan Kod Hamming dengan Kod Semakan Pariti.
Kod Hamming Kod Semakan Parity
Lebih sukar dan lebih rumit Mudah dan ringkas
Boleh mengesan dan memperbetulkan
ralat dalam mesej
Boleh mengesan ralat dalam mesej
Hanya mampu menyelesaikan ralat
tunggal
Hanya mampu menyelesaikan ralat
tunggal
Boleh menyemak pariti genap dan
ganjil.
Berlaku ralat dalam genap yang
dikatakan mesej yang betul. (akibat 2-
bit yang rosak)
Menggunakan beberapa pariti Menggunakan 1 digit pariti.
7.0 Kesimpulan
Kod hamming dan kod semakan parity mempunyai persamaan dan
perbezaan antaranya penggunaannya dan kelebihannya. Masing-masing juga
mempunyai kelemahan sendiri. Kod hamming juga berkebolehan untuk
diperkembangkan untuk mencari 2 ralat daripada ralat pertama. Sementara
pariti adalah untuk menyemak sahaja dan kod hamming juga menggunakan
pariti untuk membantu menyemak masalah.
8.0 Rujukan
Carne, T.K (2015). Codes and cryptography. United Kingdom: Cambridge
University.
Jack, K.W (2008). An introduction to error correcting codes: Part 1. Di
http://circuit.ucsd.edu/~yhk/ece154c-spr15/ErrorCorrectionI.pdf diakses pada 18
Ogos 2015
Neal, R (2003). The laws of cryptography with Java Code. Texas, SA: University
of Texas.
Prof. Jaeger (2007). Introduction computer and network security.
www.cse.psu.edu/~tjaeger/cse497b-s07/ diakses pada 20 Ogos 2015
http://www.tutorialspoint.com/computer_logical_organization/error_codes.htm
diakses pada 18 Ogos 2015
http://www.bbc.com/news/technology-24667834 diakses pada 18 Ogos 2015