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 , nn 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 = mGe(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
  •   ⊕ e(H

    • - - 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, T -

      untuk memperoleh bentuk kesalahan E. Jadi c(H

      H) = E. Jika E diperoleh, maka

      didapatkan katakode : ⊕ E

      mG = c T

    • - mG = c c(H

      H)

    • - T

      ⊕ (H

      mG = c (I n

      H) ) 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

    • - G, H

      Publik

    • - Rahasia H H
    • - T

      ⊕ e(H Enkripsi c = mG )

      T

    • - Dekripsi (1) n

      ⊕ ( H

      H) ) mG = c(I (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) 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

      ⎡ ⎤

    • - -1 (7) = Q .

      MRIT dari H adalah H ⎢ ⎥

      Y

      ⎣ ⎦

    • - (8) H

      Kunci rahasia (privat key) R = 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.