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. 1 Makalah disampaikan pada Seminar Nasional dan Konferda VII HimMI Wil. Jateng & DIY di FMIPA UII Yogyakarta tanggal 3 Februari 2001. 1 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). Matriks A berdimensi mxn yang mempunyai rank r dapat dibawa ke bentuk : 2 ⎡I PAQ = ⎢ r ⎣O O⎤ , atau O ⎥⎦ ⎡I A = P-1 ⎢ r ⎣O O ⎤ -1 Q O ⎥⎦ [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 : ⎡I A+ = Q ⎢ r ⎣V U⎤ P W ⎥⎦ [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 : ⎡X ⎤ A- = ⎢ ⎥ ⎣Y ⎦ [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 matriks nonsingular berdimensi nxn. MRIT dari A adalah : 3 ⎡X ⎤ A- = Q-1 ⎢ ⎥ ⎣Y ⎦ [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] = [AT 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. 4 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 5 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 Hdapat dijelaskan sebagai berikut : (1) Pilih matriks generator G = [Ik A]; dengan sembarang A(k, n-k). (2) Bentuk H1 = [AT In-k]. (3) Pilih sembarang S(n-k, n-k) yang nonsingular. (4) Bentuk matriks paritas H = SH1. 6 (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] ⎡X ⎤ (7) MRIT dari H adalah H- = Q-1 ⎢ ⎥ . ⎣Y ⎦ (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. 7 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. 8