Selasa, 26 Maret 2013

PENERAPAN MATRIKS DALAM KRIPTOGRAFI (Ilmu Pembacaan Sandi)


PENERAPAN MATRIKS DALAM KRIPTOGRAFI (Ilmu Pembacaan Sandi)
by Husnah Mar'ah (120170015)

Definisi Matriks
Matriks adalah suatu kumpulan besaran (variabel dan konstanta) yang dapat dirujuk melalui indeknya, yang menyatakan posisinya dalam representasi umum yang digunakan, yaitu sebuah tabel persegi
panjang. Matriks merupakan suatu cara visualisasi variabel yang merupakan kumpulan dari angka-angka atau variabel lain, misalnya vektor. Dengan representasi matriks, perhitungan dapat dilakukan dengan lebih terstruktur. Pemanfaatannya misalnya dalam menjelaskan persamaan linier, transformasi koordinat, dan lainnya. Matriks seperti halnya variabel biasa dapat dimanipulasi, seperti dikalikan, dijumlah, dikurangkan dan didekomposisikan. Contoh matriks:
Algoritma kriptografi yang baik tidak ditentukan oleh kerumitan dalam mengolah data  atau  pesan  yang  akan  disampaikan.  Yang  penting,  algoritma  tersebut  harus memenuhi 4 persyaratan berikut:
Kerahasiaan. Pesan (plaintext) hanya dapat dibaca oleh pihak yang memliki kewenangan.
Autentikasi. Pengirim pesan harus dapat diidentifikasi dengan pasti, penyusup harus dipastikan tidak bisa berpura-pura menjadi orang lain.
Integritas. Penerima pesan harus dapat memastikan bahwa pesan yang dia terima tidak dimodifikasi ketika sedang dalam proses transmisi data.
Non-Repudiation. Pengirim pesan harus tidak bisa menyangkal atau membatalkan pesan yang dikirimkan.
Kriptografi pada dasarnya terdiri dari dua proses, yaitu proses enkripsi dan proses dekripsi. Proses enkripsi adalah proses penyandian pesan terbuka menjadi pesan rahasia (ciphertext). Ciphertext inilah yang nantinya akan dikirimkan melalui saluran komunikasi terbuka. Pada saat ciphertext diterima oleh penerima pesan, maka pesan rahasia tersebut diubah lagi menjadi pesan terbuka melalui proses dekripsi sehingga pesan tadi dapat dibaca kembali oleh penerima pesan. Secara umum, proses enkripsi dan dekripsi dapat digambarkan sebagai berikut :
Gambar Proses Enkripsi dan Dekripsi

Dasar Matematis
Dasar matematis yang mendasari proses enkripsi dan deskripsi adalah relasi antara dua himpunan yaitu yang berisi elemen plaintext dan yang berisi elemen cipertext. Enkripsi dan dekripsi merupakan fungsi transformasi antara himpunan-himpunan tersebut. Apabila elemen-elemen plaintext dinotasikan dengan P, elemen-elemen ciphertext dinotasikan dengan C, sedang untuk proses enkripsi dinotasikan dengan E, dekripsi dengan notasi D, maka secara matematis proses kriptografi dapat dinyatakan sebagai berikut :

Enkripsi : E(P)=C
Dekripsi : D(C)=P atau D(E(P))=P


Pada skema enkripsi konvensional atau kunci simetrik digunakan sebuah kunci untuk melakukan proses enkripsi dan dekripsinya. Kunci tersebut dinotasikan dengan K, sehingga proses kriptografinya adalah :

Enkripsi : EK(P)=C
Dekripsi : DK(C)=P atau DK(EK(P))=P

Sedangkan pada sistem asymmetric-key digunakan kunci umum (public key) untuk enkripsi dan kunci pribadi (private key) untuk proses dekripsinya sehingga kedua proses tersebut dapat dinyatakan sebagai berikut :

Enkripsi : EPK(P)=C
Dekripsi : DSK(C)=P atau DSK(EPK(P))=P



 Penerapan Matriks dalam Kriptografi
Di dalam dunia spionase dan militer pesan-pesan yang dikirim seringkali ditulis dengan menggunakan kode-kode rahasia. Hanya penerima yang sah yang memiliki kuncinya sehingga dapat membuka sandi itu. Tulisan rahasia semacam ini biasa disebut kriptogram. Seandainya pesan tersebut jatuh ke tangan lawan, rahasia akan tetap terjamin jika lawan gagal mendapatkan kuncinya. Oleh sebab itu makin rumit kriptogram itu makin disukai penggunaannya.

Pemakaian bilangan sebagai pengganti abjad kerap dijumpai dalam kriptografi. Salah satu cara penggunaannya adalah
dalam bentuk matriks. Mengapa matriks? Matriks memiliki operasi perkalian yang melibatkan beberapa elemennya sekaligus, sehingga penyidikan terhadap kunci sandinya yang juga berbentuk matriks mustahil dilakukan. Berikut ini contoh pesan dalam bentuk matriks S yang dikirimkan oleh markas besar angkatan bersenjata kepada pasukannya di garis depan.

Panglima pasukan di garis depan memiliki kunci sandinya berupa matriks K di bawah ini
Begitu diterima, pesan itu langsung diterjemahkan dengan mengalikannya dengan matriks kunci. Tentu saja perkalian dengan K ini harus dilakukan dari belakang karena matriks S berorde 5 ´ 3 sedangkan K berorde 3 ´ 3. Hasil kalinya adalah matriks P:


Konversi bilangan ke abjad menggunakan cara yang sederhana sekali yaitu 1 = A sampai  6 = Z, tetapi masih menggunakan apa yang disebut sebagai modulus 29. Bilangan 47 pada baris 1 kolom 3 harus dikurangi 29 dulu sebelum dikonversikan ke abjad. Semua bilangan         yang tidak berada dalam range 1-26 harus ditambah atau dikurangi dengan kelipatan 29. Dari konteks kalimatnya 2 bilangan terakhir tidak perlu dikonversikan, lagipula bilangan 0 memang tidak dapat dikonversikan. Jadi pesan dari markas besar berbunyi : SERBU BESOK JAM 10.
Sekarang mari kita lihat bagaimana pesan abjad pada matriks P diubah ke dalam matriks S sebelum dikirimkan. Tentu saja di sini berlaku operasi matriks:
P.K-1 = S.K.K-1
S = P.K-1
Matriks K-1adalah invers matriks K, matriks inilah yang dipakai si pengirim untuk membuat kriptogramnya. Jadi K dan K-1adalah sepasang matriks kunci yang memang diberikan kepada mereka yang berhak. Dengan mudah anda dapat mencari K-1.

Perkalian biasa antara P dan K-1 jelas akan menghasilkan bilangan yang besar-besar pada matriks hasil perkaliannya. Oleh sebab iu dipakai teknik modulus 29 di atas. Bagi si pengirim, semua bilangan pada P yang lebih besar daripada 15 terlebih dulu dikurangi dengan 29, P menjadi P’.
Kemudian P’ ini yang dikalikan dengan K-1 menghasilkan S’.

Bilangan besar-besar yang ada di Ssekali lagi dikenali modulus 29 supaya lebih enak dilihat, maka muncullah matriks S yang dikirimkan tadi. Terasa sekali bahwa aplikasi matriks dalam hal ini sangat efektif.

Tidak ada komentar:

Posting Komentar