APLIKASI MATRIKS INVERS TERGENERALISASI PADA KRIPTOGRAFI
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
1 KRIPTOGRAFI
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
Z , dapat ditunjukkan bahwa teori matriks invers tergeneralisasi dapat digunakan
2 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 Z
2 . Dapat ditunjukkan bahwa MIT pada Z 2 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 1 (encryption) dan dekripsi (decryption) data.
Makalah disampaikan pada Seminar Nasional dan Konferda VII HimMI Wil. Jateng & DIY di FMIPA UII Yogyakarta tanggal 3 Februari 2001.
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 Z
2 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 Z
2 = {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 :
I O
⎡ ⎤ r
PAQ = , atau
⎢ ⎥
O O
⎣ ⎦
I O
⎡ ⎤
- -1 r -1
A = P Q [3]
⎢ ⎥
O O
⎣ ⎦ dengan P adalah matriks nonsingular hasil penggandaan matriks baris elementer dan
- -1
Q adalah matriks nonsingular hasil penggandaan matriks kolom elementer; P dan
- -1
adalah :
I U
⎡ ⎤ r
- A = Q P [4]
⎢ ⎥
V W
⎣ ⎦ dengan sembarang matriks-matriks U berdimensi rx(m-r), V berdimensi (n-r)xr dan
W berdimensi (n-r)x(m-r). Pada Z 2 = {0,1), banyaknya MIT tergantung dari
banyaknya cara untuk memilih U, V, dan W yang berbeda; dalam hal ini adalah
r(n-r)+n(m-r) 2 .
Menurut Wu dan Dawson (1998) untuk matriks A berdimensi mxn dan
A = [I m 0] dengan rank (A) = m, MRIT dari A adalah :
X
⎡ ⎤
- - A = [5]
⎢ ⎥
Y
⎣ ⎦ untuk suatu matriks X(m,m) dan Y(n-m,m) tertentu. Dalam hal ini X dan Y adalah suatu matriks sedemikian hingga :
2 X = 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 = [I m 0] Q, dengan 0 matriks nol berdimensi mx(n-m) dan Q matriks nonsingular berdimensi nxn. MRIT dari A adalah :
X
⎡ ⎤
- 1 -
A = Q [7]
⎢ ⎥
Y
⎣ ⎦ dengan X dan Y memenuhi [6].
C. Kode Linear
k , n ≤ n dan himpunan terhingga
Diketahui bilangan bulat positip dengan k ruang bagian (subspace) dari ruang vektor V (Z ). (Vanstone dan Oorschot, 1989).
n
2 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 = [I k A] [8] dengan A matriks berdimensi kx(n-k).
Sedangkan untuk matriks :
T T H = [-A
I n-k ] = [A I n-k ] [9]
T T
sedemikian hingga GH = 0 atau juga HG = 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):
T - E = e(H ) [10]
di mana e adalah vektor biner random dengan panjang n-k; diperoleh chipertext :
T
- - c = mG ⊕ e(H
) [11] Selanjutnya proses dekripsi untuk memperoleh kembali plaintext m, dapat dilakukan sebagai berikut :
- - - - - -
T T T T T T T
⊕ e(H (i) hitung c(H
H) = mGH (H ) ) (H) (H ) = e(H ) = E
⊕ E (ii) hitung mG = c (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
T -
menambahkan bentuk kesalahan E = e(H ) 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
T
-
mendapatkan chipertext c = mG ) ini sangat tergantung pada matriks- - - generator G dan MRIT dari H, yaitu H . Jadi dalam hal ini G dan H bersifat publik.
- - diterima dengan tranpose dari produk matriks paritas H dan MRIT-nya, yaitu H
- - mG = c ⊕ c(H
- - T
- - Jadi dalam hal ini H H bersifat rahasia (private), yang berfungsi menemukan bentuk
- - G, H
- - Rahasia H H
- - T
- - Dekripsi (1) n
- - Untuk kode C-(n,k), prosedur untuk membangun matriks kunci G, H, dan H
- - -1 (7) = Q .
- - (8) 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(H
Sedangkan proses dekripsinya ditentukan oleh produk dari chipertext c yang
H, T -
untuk memperoleh bentuk kesalahan E. Jadi c(H
H) = E. Jika E diperoleh, maka
didapatkan katakode : ⊕ E
mG = c T
H)
⊕ (H
mG = c (I n
H) ) Selanjutnya pesan m dapat dicari dengan menyelesaikan sistem persamaan yang ada.
kesalahan E. Uraian di atas dapat dirangkum sebagaimana ditunjukkan dalam Tabel 1 di bawah.
Tabel 1 : Disain Kriptografi
Publik
⊕ e(H Enkripsi c = mG )
T
⊕ ( H
H) ) mG = c(I (2)
Dapatkan m dari mG
Prosedur Pembentukan Kunci
dapat dijelaskan sebagai berikut : (1) k A]; dengan sembarang A(k, n-k).
Pilih matriks generator G = [I
T
(2) Bentuk H
1 = [A I n-k ].
(3) Pilih sembarang S(n-k, n-k) yang nonsingular. (4) 1 .
Bentuk matriks paritas H = SH
(5) n-k 0]Q, dengan 0(n-k, k) matriks nol dan Q(n, n) Bawa H ke bentuk H = [I matriks nonsingular.
(6) Pilih matriks X(n-k, n-k) dan Y(k, n-k) yang memenuhi [6]
X
⎡ ⎤
MRIT dari H adalah H ⎢ ⎥
Y
⎣ ⎦
Kunci rahasia (privat key) R = H
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.