aplikasi matriks invers tergeneralisasi pada kriptografi universitas

advertisement
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
Download