Q adalah matriks nonsingular hasil penggandaan matriks kolom elementer; P

  

ANALISIS KEAMANAN

KRIPTOSISTEM KUNCI PUBLIK

BERDASARKAN MATRIKS INVERS TERGENERALISASI

  Oleh Budi Murtiyasa FKIP Universitas Muhammadiyah Surakarta

  

Abstract

The paper addresses a security analysis of the public key cryptosystem based on

generalized inverses of matrices. The development idea of this cryptosystem is based

on the error-correcting code by technique of generalized inverses. The design of

public key can described as follow. For the message m, the method of the encryption

  • - -

  T is c = m G E or c = m G e(H ) , where G is generator matrix, H is generalized

  • -

    re-inverses of parity matrix H, and e is vector binary random. Matrix G and H are

    -

  T

public key. The method of the decryption is m G = c (I ), where R = H H is

  ⊕ R

  

private key. From a cryptanalysis, the matrix G is a critical point for the design of the

cryptosystem. If G is chosen inaccurate, then the cryptosystem become insecure and

inefficient. In generally, the intruder will attack to the cryptosystem by (1) find out

matrix H to get error form E, (2) find out binary vector e to get error form E, and (3)

try some error form E. From those method, the method by find out binary vector e

have greatest probability to success.

  Key words : matrix, encryption, decryption, security of cryptosystem.

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). Tulisan ini mengkaji MIT pada lapangan terhingga Z

  2 . Dapat

  ditunjukkan bahwa MIT pada Z memberikan alternatif baru bidang kriptografi pada

  2 kriptosistem kunci publik.

  Kriptosistem kunci publik, yang menggunakan pendekatan matematis dalam pengembangannya, telah menjadi alternatif baru dalam bidang enkripsi dan dekripsi data. Salah satu kriptosistem kunci publik yang dibangun dengan pendekatan matematis adalah kunci publik berdasarkan MIT (Wu and Dawson, 1998). Tetapi sejauh ini, belum banyak pengkajian yang dilakukan untuk mengetahui tingkat keamanan dari kriptosistem tersebut. Padahal layak tidaknya suatu kriptosistem dipakai untuk melakukan penyandian data sangat tergantung dari tingkat keamanan yang diberikannya. Tulisan ini akan mengkaji tingkat keamanan atau resiko-resiko yang disebabkan oleh enkripsi data menggunakan kriptosistem kunci publik tersebut.

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

  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

  I O

  ⎡ r ⎤ ⎡ r

  • -1 -1

  PAQ = , atau A = P Q [3]

  ⎢ ⎥ ⎢ ⎥

  O O 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

  

Q berturut-turut adalah matriks invers dari P dan Q. MIT dari A dalam bentuk [3]

  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 = {0,1), banyaknya MIT tergantung dari

  2

  banyaknya cara untuk memilih U, V, dan W yang berbeda; dalam hal ini banyaknya

  r(n-r)+n(m-r) adalah 2 .

  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

  [5] ⎢ ⎥

  Y

  ⎣ ⎦ dengan X dan Y memenuhi hubungan :

2 X = X dan YX = Y

  [6] Dapat ditunjukkan bahwa matriks Y(n-m,m) sedemikian hingga kolom ke-i semuanya nol jika elemen diagonal ke-i dari matriks X(m,m) adalah 0, pasangan matriks X dan

  Y ini memenuhi persamaan [6] tersebut [Wu dan Dawson, 1998 : 322].

C. Disain Kriptosistem

  Diketahui kode linear C–(n,k), matriks generator G = [I k A] berdimensi kxn;

  • - dan matriks paritas H berdimensi (n-k)xn dari kode linear C tersebut. Matriks H

  berdimensi nx(n-k) 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 )

  [7] di mana e adalah vektor biner random dengan panjang n-k; diperoleh chipertext :

  • - T c = mGe(H

  ) [8]

  • - Jadi dalam hal ini G dan H bersifat publik (public key) untuk proses enkripsi pesan m yang menghasilkan chipertext c.

  Selanjutnya proses dekripsi untuk memperoleh kembali plaintext m dari chipertext c, dapat dilakukan sebagai berikut : (i) hitung mG = cE (ii) dapatkan m dari mG dengan menyelesaikan sistem persamaan linear menurut sembarang k vektor kolom G yang bebas linear. Sedangkan bentuk kesalahan E dapat dicari dengan cara sebagai berikut :

  • - - - - -

  T T T T T T T c(H H) = mGH (H ) ⊕ e(H ) (H) (H ) = e(H ) = E. - Jadi di sini H H bersifat rahasia (privat key) untuk proses dekripsi dari chipertext c.

  • Sedangkan prosedur untuk membentuk kunci publik G dan H , serta kunci
  • - rahasia R = H H dapat dijelaskan sebagai berikut : (1) k A]; dengan sembarang A(k, n-k).

  Pilih matriks generator G = [I

  T

  (2)

  Bentuk H (3) Pilih sembarang S(n-k, n-k) yang nonsingular. (4) .

  1 = [A I n-k ].

1 Bentuk matriks paritas H = SH

  (5) n-k 0]Q, dengan 0(n-k, k) matriks nol dan Q(n, n) matriks Bawa H ke bentuk H = [I 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

  ⎣ ⎦ Kunci rahasia (privat key) R = H

  • - H

  (8) (Wu and Dawson, 1998 : 324).

D. Analisis Serangan

  Analisis resiko terhadap sistem ini didasarkan pada kemungkinan serangan (attack) terhadap sistem kunci publik ini [Murtiyasa dkk, 2002]. Kemungkinan serangan dari kriptosistem kunci publik ini adalah pencarian bentuk kesalahan E, sehingga penyusup dapat memperoleh mG = c

  E, di mana E adalah vektor biner

  • T
  • H)
  • H. Karena matriks G dan H
  • - bersifat publik, maka metode serangan terhadap kriptosistem untuk
  • H, yang digunakan untuk prosedur standard dekripsi. Dalam hal ini mG = c(I nR)

  • - .

  • - adalah r dan H
  • - berdimensi nx(n-k), banyaknya MIT dari H
  • - adalah 2
  • )
dilakukan. Tetapi dibandingkan dengan metode untuk menemukan H, metode mencari vektor biner e mempunyai peluang keberhasilan yang lebih besar.

  . Suatu jumlah yang sangat besar untuk mendapatkan sebuah matriks kunci.

  juga sangat besar. Metode ini juga menjadi tidak praktis untuk

  n -k

  . Jika n cukup besar dan k cukup kecil, maka 2

  n-k

  Vektor biner e mempunyai panjang n-k. Jadi banyaknya pilihan yang berbeda untuk menemukan vektor biner e ini adalah 2

  yang dipakai pada proses enkripsi. Selanjutnya mG = cE dapat diperoleh, yang pada gilirannya pesan m dapat ditemukan.

  T

  (2) Mencari sembarang vektor biner e berdimensi 1x(n-k) untuk menemukan bentuk kesalahan E = e(H

  r(n-r)+n(n-k-r)

  menurut metode dekripsi, bentuk kesalahan E dapat diperoleh dengan melakukan komputasi E = c(H

  = 2

  Jika rank dari H

  , yang akhirnya pesan m dapat ditemukan. Matriks H pada dasarnya adalah MIT dari matriks H

  T

  Mencari matriks paritas H, untuk mendapatkan kunci rahasia R = H

  mendapatkan pesan m dari chipertext c kemungkinannya mendapatakan bentuk kesalahan E dengan cara : (1)

  atau mendapatkan kunci rahasia R = H

  T

  r(n-k-r)+(n-k)(n-r)

  (3) Mencoba sembarang vektor kesalahan E berdimensi 1xn yang digunakan untuk melakukan koreksi kesalahan kode yang menghasilkan chipertext c = mG E; sehingga mG = cE dapat diperoleh, yang pada gilirannya pesan m dapat ditemukan.

  n

  menemukan bentuk E ini cukup besar, yang berarti peluang mendapatkan pesan m pun cukup besar.

E. Beberapa Kelemahan Kunci Kriptosistem

  Dari metode serangan menunjukkan adanya beberapa kelemahan yang memungkinkan menyebabkan ketidakamanan dari enkripsi data yang dihasilkan oleh kriptosistem kunci publik berdasarkan MIT. Keberhasilan terbesar untuk menemukan pesan m diperoleh dari metode serangan yang kedua, yaitu mencari vektor biner e berdimensi 1x(n-k). Disusul kemudian metode serangan yang ketiga, yaitu mencari bentuk kesalahan E yang berdimensi 1xn. Sedangkan metode serangan yang pertama, yaitu mencari matriks paritas H dapat dikatakan sulit untuk dipakai menemukan pesan

  

m. Untuk menemukan vektor biner e dan bentuk kesalahan E, pemilihan nilai k dan n

  pada proses pembentukan kunci sangat berperan penting dalam kaitannya dengan tingkat keamanan kriptosistem. Karenanya, nilai k dan n ini menjadi titik kritis pada tahap awal proses enkripsi data. Sebab di samping mempengaruhi pembentukan kunci, baik kunci publik maupun kunci rahasia, nilai k dan n juga sangat mempengaruhi tingkat keamanan kriptosistem serta tingkat efisiensi kriptosistem. Ini berarti bahwa di samping pemilihan unsur-unsur matriks generator G menentukan

  • - unsur-unsur matriks kunci lainnya, yaitu matriks paritas H dan matriks re-invers H ,

  pemilihan nilai k dan n juga memegang peranan penting dalam menjamin keamanan kriptosistem. Ini berarti pemilihan matriks generator G (di samping penentuan dimensinya), menjadi titik kritis dari kriptosistem ini.

  Tabel 1 Tipe serangan terhadap sistem kunci publik untuk k = 32, n = 64 dan rank r = n-k

  No Tipe serangan Banyaknya Waktu yang diperlukan kemungkinan prosesor Intel PIII 1000 Mhz

  • - 1 Mencari H dari H 1.7977e+308 2.1406e+291 tahun

  2 Mencari vektor biner e 4.2950e+009 1.5907 detik

  3 Mencoba sembarang E 1.8447e+19 6832127434.707detik, atau 79075.54901282 hari

  [Budi Murtiyasa, 2001] Dari uraian tersebut dapat disimpulkan bahwa dalam upaya mendapatkan kunci rahasia untuk memperoleh plaintext dari pesan yang dikirimkan, penyusup kemungkinannya mencoba mencari matriks paritas H, mencari bentuk kesalahan E dengan mencoba sembarang vektor biner e, serta mencoba mencari bentuk kesalahan

  

E secara acak. Tabel 1 di atas memberikan ilustrasi banyaknya kemungkinan

  pencarian matriks paritas H dan vektor biner e, serta bentuk kesalahan E untuk nilai k

  • = 32 dan n = 64. Dalam ilustrasi tersebut diasumsikan bahwa rank dari matriks H adalah n-k = 32. Pada Tabel 1 tersebut, waktu untuk mendapatkan berbagai kemungkinan matriks paritas H dan vektor biner e serta bentuk kesalahan E diasumsikan menggunakan prosesor Intel PIII 1000MHz yang mampu mengeksekusi 2700000000 intruksi per detik. Setiap pencarian satu alternatif H, e, atau E diasumsikan memerlukan satu kali instruksi (walaupun dalam kenyataannya mungkin lebih dari satu kali intruksi).
Memperhatikan kemungkinan serangan para penyusup, dengan jalan mencari berbagai kemungkinan matriks paritas H dan vektor biner e, serta mencoba sembarang bentuk kesalahan E, dari Tabel 1 tersebut tampak bahwa kemungkinan keberhasilan terbesar dengan mencari vektor biner e. Sebaiknya untuk menjaga keamanan dari sistem kunci publik, nilai k dan n ini dibuat atau dipilih cukup besar. Tetapi yang harus diingat walaupun n dan k cukup besar, jika n dan k terlalu dekat, yang berarti n-k menjadi kecil, maka sistem menjadi kurang aman. Sebaliknya nilai n jangan sampai terlalu besar jika dibandingkan nilai k, sebab jika hal ini terjadi akan muncul ekspansi pesan yang sangat besar. Hal ini berakibat sistem menjadi kurang efisien. Sebaiknya nilai n ini sekitar dua kali nilai k supaya sistem tetap efisien dan aman (Wu and Dawson, 1998 : 325). Tabel 2 di bawah memberikan ilustrasi untuk beberapa nilai k dan n dalam pencarian vektor biner e.

  Tabel 2. Banyaknya kemungkinan pencarian vektor biner e No Nilai k dan n Banyaknya vektor Waktu yang diperlukan biner e yang mungkin prosesor Intel PIII 1000 Mhz 1 k = 64, n = 127 9.2234e+018 109.8275 tahun 2 k = 128, n = 256 3.4028e+038 4.0519e+021 tahun 3 k = 256, n = 512 1.1579e+077 1.3788e+060 tahun

  [Budi Murtiyasa, 2001] Dari tabel 2 tersebut, tampak bahwa untuk n-k = 63, sistem boleh dikatakan cukup aman dari serangan penyusup, sebab dengan banyaknya kemungkinan vektor biner e adalah 9.2234e+018, diperlukan waktu 109.8275 tahun untuk menemukan semua permutasi dari vektor biner e tersebut. Di antara 9.2234e+018 vektor biner e ini memang ada vektor biner e = (000…0) dan vektor biner e = (111…1), yang

  1

  mungkin saja tidak pernah dipilih oleh pengirim pesan untuk proses enkripsi. Tetapi berkurangnya pilihan ini tidak signifikan, artinya jumlah ini tetap masih sangat besar untuk segera ditemukan semua permutasinya oleh penyusup. Ini berarti bahwa dengan mengambil nilai k dan n sedemikian hingga n-k > 63, sistem sudah bisa dikatakan cukup aman dari serangan para penyusup. Tentu saja seiring dengan kemajuan teknologi komputasi, yang memungkinkan ditemukannya prosesor yang mampu bekerja lebih cepat, batasan nilai k dan n ini menjadi sangat relatif sifatnya. Ini berarti metode serangan dengan mencoba sembarang E secara acak suatu saat juga menjadi sangat mungkin dilakukan oleh para penyusup. Dengan demikian pencarian vektor biner e dan bentuk kesalahan E menjadi titik kritis dari kriptosistem ini.

F. Simpulan dan saran

  Memperhatikan kemungkinan serangan para penyusup, dengan jalan mencari berbagai kemungkinan matriks paritas H, mencoba sembarang vektor biner e, dan mencari sembarang bentuk kesalahan E, kemungkinan keberhasilan terbesar dengan mencari vektor biner e. Sebaiknya untuk menjaga keamanan dari kriptosistem kunci publik, nilai k dan n ini dibuat atau dipilih cukup besar. Tetapi yang harus diingat walaupun n dan k cukup besar, jika n dan k terlalu dekat, yang berarti n-k menjadi kecil, maka kriptosistem menjadi kurang aman. Sebaliknya nilai n jangan sampai terlalu besar jika dibandingkan nilai k, sebab jika hal ini terjadi akan muncul ekspansi pesan yang sangat besar. Hal ini berakibat kriptosistem menjadi kurang efisien. Sebaiknya nilai n ini sekitar dua kali nilai k supaya kriptosistem tetap efisien dan aman.

  Dapat ditunjukkan juga bahwa matriks generator G, yang berfungsi sebagai salah satu kunci publik, merupakan titik kritis bagi pembentukan kunci lainnya.

  Artinya, jika pemilihan matriks G tidak tepat, maka dipastikan bahwa kriptosistem menjadi tidak aman dari gangguan para penyusup.

  Di samping itu, kriptosistem kunci publik yang dibangun berdasarkan matriks invers tergeneralisasi ini juga masih memerlukan penelitian lebih lanjut, misalnya dalam hal autentikasi (authentication) dan pertukaran kunci (key exchange). Penelitian lanjutan di bidang keamanan kriptosistem ini juga masih terbuka lebar, khususnya untuk menyakinkan para pengguna, apakah disain kriptosistem ini cukup aman atau tidak untuk melakukan penyandian data.

G. Daftar Pustaka

  Israel, A.B., dan Greville, T.N.E., 1974, Generalized Inverses : Theory and Applications , New York : John Wiley & Sons. Murtiyasa, 2001, “Kriptanalisis kriptosistem Kunci Publik Berdasarkan Matriks

  Invers Tergenaralisasi”, Laporan Penelitian. Surakarta : Lembaga Penelitian UMS Surakarta. Murtiyasa, B., Wardoyo, R., dan Palupi, D.J.E., 2002, “Beberapa Karakteristik

  Kriptosistem Kunci Publik Berdasarkan Matriks Invers Tergenaralisasi” dalam

  Natural Jurnal, Vol. 6 (Edisi Khusus), Januari 2002, hal. 297-302 . Malang : FMIPA Universitas Brawijaya.

  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.