Pengenalan kepada kriptografi


Pengenalan kepada kriptografi
Kriptografi adalah berasal dari perkataan crypto bermaksud rahsia dan graf bermaksud tulisan. Oleh itu di dalam sistem rangkaian kriptografi dikenali sebagai tulisan rahsia yang digunakan untuk memastikan tidak ada pengguna yang tidak sah memahami mesej yang dihantar.

Mekanisme Kriptografi

1. Plaintext – Plaintext (message) merupakan pesanan asal yang ingin dikirimkan dan keselamatan data tidak dapat dijamin.

2. Ciphertext – Ciphertext merupakan mesej yang telah enkripsi (encryption) sehingga siap untuk dikirimkan.

3. Cipher – Cipher merupakan algoritma matematik yang digunakan untuk proses enkripsi plaintext menjadi ciphertext.

4. Enkripsi – Enkripsi (encryption) merupakan proses yang dilakukan untuk penyulitan plaintext sehingga menjadi ciphertext.

5. Dekripsi – Dekripsi (decryption) merupakan proses yang dilakukan untuk memperoleh kembali plaintext dari ciphertext.

6. Kriptosistem – Kriptosistem merupakan sistem yang dirancang untuk memastikan keselamatan suatu sistem informasi dengan menggunakan kaedah kriptografi.

Rajah 1 menunjukkan urutan proses kriptografi.

Rajah 1: Mekanisme kriptografi.

Rajah 2 menunjukkan urutan proses kriptografi menggunakan kunci.

Rajah 2: Kriptografi berbasis kunci.

Jenis Kriptografi

Terdapat dua jenis kriptografi:

Kriptografi kekunci rahsia (private key)
Menggunakan satu kekunci rahsia yang diketahui oleh pengirim dan penerima. Proses pengengkripan dilakukan oleh pengirim dan proses pendekripan dilakukan oleh penerima dengan mengunakan kekunci yang sama (symmetric / bersimetri). Cara ini mempunyai masalah kerana kekunci rahsia perlu dihantar dahulu kepada penerima sebelum mesej dihantar.

Kriptografi kekunci awam (public key)
Pada tahun 1976, Diffie dan Hellman telah mencadangkan cara pengengkripan yang baru, setiap pengguna akan mempunyai satu kunci awam dan satu kunci peribadi, dipanggil sistem kunci awam (public key system) atau sistem pengengkripan asymmetric.
Dikenali sebagai kunci awam kerana kunci ini diketahui umum dan kunci rahsia akan dirahsiakan oleh pengguna. Pengengkripan boleh dilakukan menggunakan sama ada kunci awam atau kunci peribadi dan pendekripan akan menggunakan kunci yang berlawanan (engkrip dengan kunci peribadi, dekrip dengan kunci awam dan sebaliknya).
Proses algoritma bersimetri adalah lebih pantas daripada proses tak bersimetri. Dalam suasana sebenar, proses bersimetri dan tak bersimetri sering digunakan bersama. Sistem kunci tak bersimetri (asymmetric) selalunya menggunakan kaedah matematik untuk menjana kunci dan membuat pengengkripan. Dua kunci berlainan akan dibina yang berlainan tetapi ada hubungan antara mereka.

P = D(kpriv, E(Kpub,P)) atau
P = D(Kpub, E(kpriv,P))

Contoh:
Rozaimy ingin menghantar mesej kepada Amin. Rozaimy boleh mengenkrip mesej menggunakan kunci awam Amin (dalam kes ini, Amin terlebih dahulu telah mengirim kunci awam miliknya kepada Rozaimy) dan Amin pula akan dekrip menggunakan kunci rahsianya (peribadi). Penggunaan kunci awam Amin tidak boleh dekrip maklumat tersebut. Ini untuk memastikan hanya kekunci rahsia Amin dapat membuka mesej yang menggunakan kekunci awam miliknya.

Kaedah kriptografi dengan menggunakan kaedah kunci awam

1. Kaedah penyulitan dan penyahsulitan membabitkan mengira nilai suatu nombor dikuasakan suatu nombor,
contoh: algoritma RSA:
teks sulit (utk mesej m) c=me mod n,
dinyahsulitkan m=cd mod n,
di mana d kekunci rahsia dan e kekunci awam – kekompleksan tinggi bagi penyulitan dan penyahsulitan

2. Kekunci berkait: ed = 1 mod (p-1)(q-1) dan n = pq di mana p dan q ialah nombor-nombor perdana besar; penggodaman membabitkan penekaan faktor perdana bagi n – kekompleksan tekaan rambang ~ 2N/2 jika n N-bit . Nombor perdana adalah nombor yang boleh dibahagikan dengan nombornya sendiri seperti 1, 2, 3, 5, 7, 11, 13, 17 dan sebagainya.

3. Tak perlu sampaikan kekunci awam secara rahsia. Ini kerana kekunci awam hanya berfungsi untuk penyulitan maklumat dan tidak boleh digunakan penyahsulitan maklumat. Maklumat kekunci awam kadang-kadang disimpan oleh pihak ketiga yang bertugas menyimpan kekunci awam setiap pihak yang berdaftar.

Algorithma RSA

RSA adalah singkatan singkatan nama tiga pereka RSA iaitu R.L. Riverst, A. Shamir dan L. Adleman. RSA menggunakan sistem kunci awam untuk pengengkripan; katakan kunci e untuk engkrip dan kunci d untuk dekrip. Kunci-kunci tersebut boleh digunakan silih berganti. Pengengkripan dilakukan dengan formula berikut:

C = Pe mod n

Dan pendekripan menggunakan formula berikut:

P = Cd mod n

Di mana P adalah mesej plaintext, C adalah mesej ciphertext, e & d adalah kunci awam dan rahsia (secret). N adalah satu nilai pilihan pengguna asal.

Terdapat tiga bahagian utama penggunaan sistem pengengkripan RSA; penjanaan kunci, pengengkripan dan pendekripan.

Penjanaan kunci

1. Nilai n didapati dengan mendarabkan dua nombor p dan q (n=p*q). P dan Q mestilah nombor perdana yang dipilih secara rawak. P dan Q sebaiknya nombor perdana yang besar.

2. Kunci e dipilih pada satu nombor yang secara relatifnya nombor perdana (relatively prime) kepada (p-1)*(q-1) dan lebih kecil daripadanya.

3. Kunci d pula didapati dengan menyelesaikan persamaan berikut:
e * d = 1 mod (p – 1) * (q – 1)
atau
d = (X (p – 1)(q – 1) + 1)/e

4. Selepas penjanaan kunci lengkap, kunci e dan n akan diberi kepada umum, kunci d akan dirahsiakan, nilai p dan q harus dimusnahkan.

Contoh 1:
Penjanaan Kunci:
Katakan R= 5, dan nilai (p,q) yang dipilih adalah (11,13).
n = 11*13 = 143
Nilai e adalah satu nombor yang relatif perdana kepada (11-1)*(13-1)=120, katakanlah 11
Nilai d adalah yang memenuhi persamaan 11*d = 1 mod 120 iaitu 11.
Kiraan:
d = (1 (p – 1)(q – 1) + 1)/e masukkan nilai X = 1. e = 11
d = (1(120) + 1)/11
d = 121/11
d = 11
Pengengkripan:

C = 511 mod 143 = 60
Kiraan:
48828125 mod 143
48828125 = 341455 (143) + 60 = 48828065 + 60
Pendekripan:
P = 6011 mod 143 = 5
Kiraan:
36279705600000000000 = 253704234965034965 (143) + 5
= 36279705599999999995 + 5

Contoh 2:
Penjanaan Kunci:
Katakan R= 7, dan nilai (p,q) yang dipilih adalah (11,13).
n = 11*13 = 143
Nilai e adalah satu nombor yang relatif perdana kepada (11-1)*(13-1)=120, katakanlah 11
Nilai d adalah yang memenuhi persamaan 11*d = 1 mod 120 iaitu 11.
Pengengkripan:
C = 711 mod 143 = 106
Kiraan:
1977326743 mod 143

1977326743 = 13827459 (143) + 106 = 1977326637 + 106

Pendekripan:
P = 10611 mod 143 = 7
Kiraan:
18982985583354248390656 mod 143 = 132748150932547191543(143) + 7

Terminology

Encryption Proses mengekod maklumat supaya maknanya tidak jelas
Decription Menukar maklumat yang telah dikod ke asal
Plaintext Maklumat asal yang belum dikod
Ciphertext Maklumat yang telah dikodkan
cryptography Penggunaan enkripsi untuk menyembunyikan teks asal
cryptanalysis Ilmu berkaitan memecahkan kod orang lain
cryptology Pengkajian tentang kod, termasuklah kedua-dua yang sebelumnya

Tinggalkan komentar