APLIKASI MATRIKS INVERS TERGENERALISASI
PADA KRIPTOGRAFI
Oleh Budi Murtiyasa
FKIP Univ. Muhammadiyah Surakarta
Makalah disampaikan pada Konferda dan Seminar Nasional Matematika Himpunan Matematika Indonesia Wilayah Jateng dan DIY di FMIP UII Yogyakarta pada
Tanggal 3 Februari 2001
UNIVERSITAS MUHAMMADIYAH SURAKARTA
2001
APLIKASI MATRIKS INVERS TERGENERALISASI PADA KRIPTOGRAFI1
Oleh Budi Murtiyasa
FKIP Universitas Muhammadiyah Surakarta
Abstrak
Sejak diperkenalkan model baru kriptografi oleh Diffie dan Hellman, telah banyak cabang matematika yang digunakan untuk mengembangkan disain kriptografi. Tulisan ini mengkaji penggunaan teori matriks di bidang kriptografi. Pada himpunan Z2, dapat ditunjukkan bahwa teori matriks invers tergeneralisasi dapat digunakan untuk melakukan enkripsi dan dekripsi data.
Kata Kunci : matriks, kriptografi, enkripsi, dekripsi
A. Pendahuluan
Teori matriks invers tergeneralisasi (generalized invers of matrices) telah berkembang sejak awal tahun 1970-an. Tetapi pembahasan matriks invers tergeneralisasi (MIT) ini umumnya terbatas pada lapangan (field) bilangan real (Israel dan Greville, 1974; Rao dan Mitra, 1971). Tulisan ini mengkaji MIT pada lapangan terhingga Z2. Dapat ditunjukkan bahwa MIT pada Z2 memberikan alternatif baru
bidang kriptografi pada sistem kunci publik.
Pada tahun 1976, Diffie dan Hellman telah memperkenalkan teknik kriptografi, yang sekarang populer disebut sistem kunci publik, bahwa media transmisi (umum) dapat digunakan untuk mentransmisikan informasi-informasi yang bersifat rahasia (Patterson, 1987). Model kriptografi yang disampaikan oleh Diffie dan Hellman tersebut menggunakan dua buah kunci (key) yang berbeda saat enkripsi (encryption) dan dekripsi (decryption) data.
Sejak diperkenalkan teknik baru di bidang kriptografi oleh Diffe dan Hellman tersebut, telah banyak cabang matematika yang digunakan pada bidang kriptografi. Beberapa cabang matematika yang telah digunakan untuk mengembangkan kriptografi dapat disebutkan di antaranya adalah aljabar, teori bilangan, dan teori koding. Shao (1998) telah mengembangkan konsep kunci publik berdasarkan faktorisasi dan logaritma diskrit. Jenis kunci publik yang lain adalah RSA yang menggunakan teori bilangan, ElGamal menggunakan logaritma diskrit, Elliptic Curve
System yang dikembangkan berdasarkan teori grup, The Merkle-Ellman Knapsack System yang berdasar pada subset sum, dan McEliece public key system yang
menggunakan teori koding (Stinson, 1995; Patterson,1987). Tulisan ini mengajukan penggunaan MIT atas Z2 pada bidang kriptografi. Ide dasar disain kriptografi
menggunakan proses koreksi kesalahan kode (error-corecting code) dengan teknik MIT.
B. Matriks Invers Tergeneralisasi
Pembahasan MIT berada dalam himpunan terhingga Z2 = {0,1}. Diketahui
matriks umum A yang berdimensi kxn. Suatu matriks B yang berdimensi nxk adalah MIT dari matiks A yang berdimensi kxn, jika berlaku ABA = A. Jika A+ menyatakan MIT dari A, maka :
AA+A = A [1]
(Israel dan Greville, 1974; Rao dan Mitra, 1971).
Sebaliknya, untuk matriks A tersebut di atas, matriks re-invers
tergeneralisasi (generalized re-inverses) dari matriks A adalah suatu matriks X
berdimensi nxk sedemikian hingga A adalah generalized inverses dari X, jadi berlaku
XAX = X. Jika A- menyatakan matriks re-invers tergeneralisasi (MRIT) dari A, maka
A- A A- = A- [2]
(Wu dan Dawson, 1998).
PAQ = ⎥ ⎦ ⎤ ⎢ ⎣ ⎡ O O O Ir , atau A = P-1 ⎥ ⎦ ⎤ ⎢ ⎣ ⎡ O O O Ir Q-1 [3]
dengan P adalah matriks nonsingular hasil penggandaan matriks baris elementer dan
Q adalah matriks nonsingular hasil penggandaan matriks kolom elementer; P-1 dan Q-1 berturut-turut adalah matriks invers dari P dan Q. MIT dari A dalam bentuk [3] adalah : A+ = Q ⎥ ⎦ ⎤ ⎢ ⎣ ⎡ W V U Ir P [4]
dengan sembarang matriks-matriks U berdimensi rx(m-r), V berdimensi (n-r)xr dan
W berdimensi (n-r)x(m-r). Pada Z2 = {0,1), banyaknya MIT tergantung dari banyaknya cara untuk memilih U, V, dan W yang berbeda; dalam hal ini adalah 2r(n-r)+n(m-r).
Menurut Wu dan Dawson (1998) untuk matriks A berdimensi mxn dan
A = [Im 0] dengan rank (A) = m, MRIT dari A adalah :
A- = ⎥ ⎦ ⎤ ⎢ ⎣ ⎡ Y X [5]
untuk suatu matriks X(m,m) dan Y(n-m,m) tertentu. Dalam hal ini X dan Y adalah
suatu matriks sedemikian hingga :
X2 = X dan YX = Y [6]
Dapat ditunjukkan bahwa untuk suatu matriks X adalah matriks diagonal yang sekurang-kurangnya ada satu entri diagonal yang tidak nol sedangkan matriks Y adalah matriks yang entri pada kolom ke-i semuanya nol jika entri diagonal ke-i dari
X adalah nol, pasangan X dan Y tersebut memenuhi [6].
Secara umum untuk matriks A(m,n) yang mempunyai rank m, bawa matriks A
sedemikian hingga A = [Im 0] Q, dengan 0 matriks nol berdimensi mx(n-m) dan Q
A- = Q-1 ⎥ ⎦ ⎤ ⎢ ⎣ ⎡ Y X [7]
dengan X dan Y memenuhi [6].
C. Kode Linear
Diketahui k , n bilangan bulat positip dengan k ≤ n dan himpunan terhingga
Z2. Kode linear C yang mempunyai dimensi k, dinyatakan dengan C-(n,k), adalah
ruang bagian (subspace) dari ruang vektor Vn(Z2). (Vanstone dan Oorschot, 1989).
Kode linear C-(n,k) yang mempunyai dimensi k, berarti C dapat dibangun
oleh k buah vektor yang bebas linear. Jika satu basis dari C dipilih, maka ada
korespondensi satu-satu antara ruang pesan (data) berdimensi-k dengan kode C.
Dalam hal ini, untuk pesan m, jika ditentukan G adalah matriks yang baris-barisnya merupakan vektor basis dari kode C, maka mG adalah katakode (codeword) dari
pesan m tersebut. Matriks G tersebut dinamakan matriks generator. Jadi matriks generator G untuk kode linear C-(n,k) adalah suatu matriks berdimensi kxn yang
mempunyai baris-baris berupa vektor-vektor basis dari C. Matriks generator G yang berdimensi kxn tersebut dengan melakukan sederetan operasi baris elementer dapat
dibawa menjadi bentuk :
G = [Ik A] [8]
dengan A matriks berdimensi kx(n-k).
Sedangkan untuk matriks :
H = [-AT In-k] = [A T
In-k] [9]
sedemikian hingga GHT = 0 atau juga HGT = 0, ini berarti bahwa baris-baris dari G dan H saling ortogonal, matriks H tersebut dinamakan matriks paritas (parity check matrix) dari kode C-(n,k) (McWilliam dan Sloane, 1993). Hal ini menunjukkan
bahwa suatu kode linear C dapat dispesifikasikan berdasarkan matriks generator G dan/atau matriks paritas H.
D. Disain Kriptografi
Skema enkripsi dan dekripsi dari sistem kunci publik dapat dijelaskan sebagai berikut : data (pesan) dari pengguna (user) A, yang disebut dengan plaintext,
dienkripsikan (disandikan) dengan kunci milik pengguna B, dalam hal ini berupa kunci publik (public key). Setelah chipertext (data yang sudah disandikan) diterima
pengguna B, chipertext ini kemudian didekripsikan dengan menggunakan kunci
kedua milik pengguna B, dalam hal ini disebut kunci rahasia (privat key); sehingga
pengguna B dapat membaca plaintext yang dikirim pengguna A.
Diketahui kode linear C–(n,k), matriks generator G, dan matriks paritas H
dari kode linear C tersebut. Matriks H- adalah MRIT dari matriks H. Diketahui juga plaintext m adalah vektor biner dengan panjang k; maka mG adalah katakode (code word). Dengan menambahkan bentuk kesalahan (sebagai proses koreksi kesalahan
katakode mG):
E = e(H-)T [10]
di mana e adalah vektor biner random dengan panjang n-k; diperoleh chipertext :
c = mG ⊕ e(H-)T [11]
Selanjutnya proses dekripsi untuk memperoleh kembali plaintext m, dapat dilakukan sebagai berikut :
(i) hitung c(H- H)T = mGHT(H-)T ⊕ e(H-)T (H)T (H-)T = e(H-)T = E (ii) hitung mG = c ⊕ E
(iii) dapatkan m dari mG dengan menyelesaikan sistem persamaan linear menurut sembarang k vektor kolom G yang bebas linear.
Berdasarkan uraian tersebut dapat disimpulkan bahwa proses enkripsi intinya terletak pada proses koreksi kesalahan kode mG yang akan ditransmisikan dengan menambahkan bentuk kesalahan E = e(H-)T yang berupa produk dari sembarang vektor biner e dengan transpose MRIT dari matriks paritas H. Karena m berupa pesan yang akan dikirimkan dan e adalah vektor biner random, maka proses enkripsi untuk
mendapatkan chipertext c = mG ⊕ e(H-)T ini sangat tergantung pada matriks generator G dan MRIT dari H, yaitu H-. Jadi dalam hal ini G dan H- bersifat publik.
Sedangkan proses dekripsinya ditentukan oleh produk dari chipertext c yang diterima dengan tranpose dari produk matriks paritas H dan MRIT-nya, yaitu H-H,
untuk memperoleh bentuk kesalahan E. Jadi c(H-H)T = E. Jika E diperoleh, maka didapatkan katakode :
mG = c ⊕ E mG = c ⊕ c(H-H)T mG = c (In⊕ (H-H)T)
Selanjutnya pesan m dapat dicari dengan menyelesaikan sistem persamaan yang ada. Jadi dalam hal ini H-H bersifat rahasia (private), yang berfungsi menemukan bentuk
kesalahan E. Uraian di atas dapat dirangkum sebagaimana ditunjukkan dalam Tabel 1 di bawah.
Tabel 1 : Disain Kriptografi
Publik G, H
-Rahasia H- H
Enkripsi c = mG ⊕ e(H-)T
Dekripsi (1) mG = c(In ⊕ ( H- H)T)
(2) Dapatkan m dari mG
Prosedur Pembentukan Kunci
Untuk kode C-(n,k), prosedur untuk membangun matriks kunci G, H, dan H
-dapat dijelaskan sebagai berikut :
(1) Pilih matriks generator G = [Ik A]; dengan sembarang A(k, n-k).
(2) Bentuk H1 = [A T
In-k].
(3) Pilih sembarang S(n-k, n-k) yang nonsingular.
(5) Bawa H ke bentuk H = [In-k 0]Q, dengan 0(n-k, k) matriks nol dan Q(n, n)
matriks nonsingular.
(6) Pilih matriks X(n-k, n-k) dan Y(k, n-k) yang memenuhi [6]
(7) MRIT dari H adalah H- = Q-1 ⎥ ⎦ ⎤ ⎢ ⎣ ⎡ Y X . (8) Kunci rahasia (privat key) R = H- H
Selanjutnya G dan H- dipublikasikan sebagai kunci publik untuk enkripsi data oleh
pengirim pesan, dan R = H-H disimpan sebagai privat key untuk mendekripsikan
pesan yang diterima.
E. Penutup
Dari implementasi menunjukkan bahwa disain ini telah bekerja dengan benar, khususnya untuk pengiriman pesan berupa teks. Artinya, teori MIT dapat diterapkan di bidang kriptografi. Pada disain ini, yang perlu ditelaah lebih lanjut masalah metode untuk menemukan MRIT, khususnya untuk mendapatkan matriks X dan Y dalam [6]. Apa yang disajikan dalam tulisan ini hanyalah salah satu cara mendapatkan matriks X dan Y sedemikian hingga memenuhi [6]. Metode lain, yang bersifat umum, untuk menemukan matriks X dan Y perlu pengkajian lebih mendalam.
Pengkajian lanjutan yang juga perlu dilakukan adalah tentang model autentikasi dan pertukaran kunci antara pengirim dan penerima pesan. Di samping itu, penelitian tentang penggunaan disain kriptografi untuk pengiriman peta atau gambar juga perlu dikaji lebih lanjut.
F. Daftar Pustaka
Israel, A.B., dan Greville, T.N.E., 1974, Generalized Inverses : Theory and Applications, John Wiley & Sons, New York.
MacWilliams, F.J., dan Sloane, N.J.A., 1993, The Theory of Error Correcting Codes,
Eight Impression, North-Holland Mathematical Library, Amsterdam.
Patterson, W., 1987, Mathematical Cryptology for Computer Scientists and
Mathematicians, Rowman & Littlefield Publisher, New Jersey.
Rao, C.R., dan Mitra, S.K., 1971, Generalized Inverse Matrices dan its Applications,
New York : John Wiley & Sons, Inc.
Shao, Z., 1998, “Signature Schemes Based on Factoring and Discrete Logarithms” dalam IEE Proceedings Computer Digit. Tech. Vol. 145 No. 1, January 1998,
Pp : 33 – 36.
Stinson, D.R., 1995, Cryptography Theory and Practice, CRC Press LLC, Florida.
Vanstone, S.A., dan Oorschot, V.P.C., 1989, An Introduction to Error Correcting Code with Applications, Kluwer Academic Publisher.
Wu, C.K., dan Dawson, E., 1998, “Generalised Inverses in Public Key Cryptosystem Design” dalam IEE Proceedings Computer Digit. Tech. Vol. 145 No. 5, September 1998, Pp : 321 – 326.