Protokol Pertukaran Kunci Berdasarkan Masalah
Konjugasi Pada Grup Matriks atas Ring
Khurul Wardati, M. Zaki Riyanto, Riski Ryan Hardiansyah, Fitri Alfianti
Program Studi Matematika, Fakultas Sains dan Teknologi UIN Sunan Kalijaga, Yogyakarta
Overview
1 Pengantar Kriptografi
Keamanan Informasi Kriptografi
2 Kriptografi Kunci Publik
Protokol Pertukaran Kunci Diffie-Hellman
3 Post-Quantum Cryptography
Komputer Kuantum Masalah Konjugasi Teori Ring
Protokol Pertukaran Kunci Berdasarkan Masalah Konjugasi Pada Grup Matriks atas Ring
4 Referensi
Ancaman Keamanan Informasi
Jalur komunikasi umum seperti jaringan internet dan seluler tidak dapat dijamin keamanannya.
Sangat rawan terhadap berbagai ancaman keamanan informasi, seperti penyadapan, perubahan informasi, pemalsuan identitas, dan sebagainya.
Akan menjadi masalah apabila informasi yang dikirimkan bersifat rahasia. Hanya pihak-pihak tertentu yang boleh mengetahui.
Salah satu solusi yang ditawarkan adalah menggunakan kriptografi.
Sandi Caesar (Yunani Kuno)
Kriptografi
Kriptografi adalah ilmu yang mempelajari teknik-teknik matematika yang berkaitan dengan aspek-aspek keamanan informasi, seperti kerahasiaan, integritas data, otentikasi entitas, dan otentikasi data orisinil. (Menezes dkk, 1996) Pada aspek kerahasiaan, digunakan proses enkripsi dan dekripsi.
Enkripsi (encryption) adalah proses merubah pesan terbaca (plainteks/teks terang) menjadi kode-kode yang ”tidak dapat” dipahami (cipherteks/teks sandi).
Dekripsi (decryption) adalan kebalikan dari proses enkripsi. Proses enkripsi dan dekripsi membutuhkan suatu
metode/algoritma kriptografi (sandi/cipher) dan suatu parameter rahasia yang disebut dengan kunci.
Sandi Caesar (Shift Cipher)
Diberikan grup (Z26, +).
Dibuat korespondensi huruf A ↔ 0, ..., Z ↔ 25.
Himpunan semua plainteks, cipherteks, dan kunci adalah Z26.
Diberikan plainteks x ∈ Z26 dan kunci k ∈ Z26. Proses
enkripsi didefinisikan sebagai fungsi
ek(x ) = x + k mod 26.
Diberikan cipherteks y ∈ Z26 dan kunci k ∈ Z26. Proses
dekripsi didefinisikan sebagai fungsi
dk(y ) = y − k mod 26.
Contoh, pesan ”ALJABAR” dienkripsi menggunakan sandi geser dengan kunci k=1, diperoleh cipherteks ”BMKBCBS”.
Sandi Vigenere (1553)
Diberikan grup (Z26, +) dan n ∈ Z, n > 1.
Diberikan plainteks x = (x1, x2, ..., xn) ∈ Zn26. Diberikan kunci k = (k1, k2, ..., kn) ∈ Zn26. Fungsi enkripsi: ek(x ) = (x1+ k1, x2+ k2, ..., xn+ kn) mod 26. Diberikan cipherteks y = (y1, y2, ..., yn) ∈ Zn26. Fungsi dekripsi: dk(y ) = (y1− k1, y2− k2, ..., yn− kn) mod 26.
Contoh, pesan ”ALJABAR” dienkripsi menggunakan kunci ”UGM” yang memiliki panjang n = 3, diperoleh cipherteks ”URVUHML”.
Sandi Hill (Lester S. Hill, 1929)
Diberikan ring (Z26, +, ·) dan n ∈ Z, n > 1.
Diberikan grup GLn(Z26) = {K ∈ Mn(Z26)|gcd (det(K ), 26) = 1}. Diberikan plainteks x ∈ Zn26. Diberikan kunci K ∈ GLn(Z26). Fungsi enkripsi: eK(x ) = xK mod 26. Diberikan cipherteks y ∈ Zn26. Fungsi dekripsi: dK(y ) = yK−1 mod 26.
Sistem Kriptografi Simetris
Pada Sandi Caesar dan Sandi Hill, Alice dan Bob harus menggunakan kunci yang sama.
Sistem kriptografi simetris adalah sistem kriptografi yang proses enkripsi dan dekripsinya menggunakan kunci yang sama.
Disebut juga dengan sistem kriptografi kunci rahasia. Contoh: Sandi Caesar, Sandi Hill, Sandi Vigenere, Playfair, Enigma, DES, 3DES, Blowfish, dan AES.
AES saat ini menjadi standar kriptografi simetris. AES
menggunakan serangkaian operasi-operasi perkalian, substitusi dan permutasi pada matriks atas lapangan
Z2[x ]/ < x8+ x4+ x3+ x + 1 >, dengan x8+ x4+ x3+ x + 1
Permasalahan dalam Sistem Kriptografi Simetris
Pada sistem kriptografi simetris, Alice dan Bob harus menyepakati kunci yang sama.
Bagaimana jika Alice ingin mengirimkan pesan rahasia kepada Bob, tetapi keduanya tidak dapat menyepakati kunci rahasia yang sama?
Masalah ini dialami pada penggunaan kriptografi selama ribuan tahun.
Pertukaran Kunci Diffie-Hellman (1976)
Pada tahun 1976, Whitfield Diffie dan Martin Hellman
mempublikasikan paper yang sangat penting dalam perkembangan kriptografi, yang berjudul ”New Directions in Cryptography”. Keduanya mengusulkan sebuah metode yang memungkinkan Alice dan Bob dapat menyepakati kunci yang sama, walaupun keduanya menggunakan jalur komunikasi yang tidak aman.
Masalah Logaritma Diskrit atas Z
∗pDiberikan bilangan prima p, maka Zp adalah lapangan hingga.
Akibatnya Z∗p= Zp\ {0} adalah grup siklik terhadap operasi
perkalian modulo prima p.
Misalkan g ∈ Z∗p adalah generator dari Z∗p.
Diberikan x ∈ Z∗p, maka terdapat bilangan bulat positif
terkecil a sedemikian hingga x = ga mod p, atauglog x = a. Masalah menemukan glog x disebut masalah logaritma diskrit (Discrete Logarithm Problem).
Diffie dan Hellman memanfaatkan masalah logaritma diskrit pada grup Z∗p.
Protokol Pertukaran Kunci Diffie-Hellman atas Z
∗p1 Alice dan Bob menyepakati bilangan prima p, dan g generator
dari grup siklik Z∗p. Nilai p dan g bersifat publik/umum.
2 Alice memilih secara rahasia bilangan bulat 1 < n < p − 1,
kemudian menghitung SA = ga mod p dan mengirimkan SA
kepada Bob.
3 Bob memilih secara rahasia bilangan bulat 1 < m < p − 1,
kemudian menghitung SB = gb mod p dan mengirimkan SB
kepada Alice.
4 Alice menghitung KA = SBa mod p. 5 Bob menghitung KB = SAb mod p.
6 Alice dan Bob berhasil menyepakati kunci yang sama, yaitu
KA= KB.
Protokol Pertukaran Kunci Diffie-Hellman Secara Umum
1 Alice dan Bob menyepakati grup siklik berhingga G yang
dibangun oleh g . Grup G dan pembangunnya g bersifat publik/umum.
2 Alice memilih secara rahasia bilangan bulat 1 < n < |G |,
kemudian menghitung SA = ga dan mengirimkan SA kepada
Bob.
3 Bob memilih secara rahasia bilangan bulat 1 < m < |G |,
kemudian menghitung SB = gb mod p dan mengirimkan SB
kepada Alice.
4 Alice menghitung KA = SBa. 5 Bob menghitung K
B = SAb.
6 Alice dan Bob berhasil menyepakati kunci yang sama, yaitu
Grup Siklik yang Digunakan
Diberikan lapangan hingga F , maka F∗= F \{0} adalah grup siklik terhadap operasi perkalian. Saat ini, lapangan yang digunakan untuk membentuk grup siklik adalah:
Zp, dengan p adalah bilangan prima.
Zp[x ]/ < f (x ) >, dengan p adalah bilangan prima dan
f (x ) ∈ Zp[x ] adalah polinomial taktereduksi.
Pada implementasi hardware (perangkat keras), digunakan lapangan Z2[x ]/ < f (x ) > dengan f (x ) ∈ Z2[x ] adalah
polinomial taktereduksi.
Aplikasi WhastApp menggunakan protokol pertukaran kunci menggunakan suatu grup kurva elliptik atas lapangan hingga.
Komputasi Komputer Kuantum
Pada tahun 1997, Peter W. Shor mempublikasikan paper berjudul ”Polynomial-time Algorithms for Prime Factorization and Discrete Logarithm on a Quantum Computer”. Dalam paper tersebut dijelaskan bahwa jika komputer kuantum berhasil diwujudkan, maka masalah faktorisasi dan masalah logaritma diskrit dapat diselesaikan secara mudah.
Post-Quantum Cryptography (PQC)
1 Sistem kriptografi berbasis masalah faktorisasi dan masalah
logaritma diskrit, seperti RSA, ElGamal dan ECC, sudah tidak lagi aman apabila komputer kuantum dapat diwujudkan di masa depan.
2 Saat ini, RSA, ElGamal dan ECC masih digunakan untuk
keamanan data di internet.
3 Oleh sejak itu, para peneliti kriptografi berusaha mencari
sistem kriptografi yang aman dari serangan komputer kuantum, sehingga saat ini muncul istilah Post-Quantum Cryptography (PQC).
Kandidat PQC
1 Lattice-Based Cryptography, tingkat keamanannya diletakkan
pada permasalahan dalam lattice, seperti masalah vektor terpendek (shortest vector problem). Contoh: NTRU.
2 Code-Based Cryptography, tingkat keamanannya diletakkan
pada masalah decoding pada kode linear. Contohnya adalah Skema McElliece dan Skema Niederreiter.
3 Multivariat Cryptography, tingkat keamananya diletakkan
pada masalah mencari solusi sistem persamaan multivariabel atas lapangan hingga. Contoh: Algoritma HFE dan MI.
4 Non-Commutative Cryptography, tingkat keamanannya
diletakkan pada permasalahan pada struktur aljabar non-komutatif, contoh: masalah konjugasi pada grup dan masalah dekomposisi pada semigrup dan ring.
Kriptografi Kunci Publik Berdasarkan Masalah Konjugasi
1 Konstruksi kriptografi kunci publik yang didasarkan pada
masalah konjugasi pada suatu grup non-komutatif mulai dikenal pada tahun 1999 berkat publikasi I. Anshel, M. Anshel, and D. Goldfeld dengan judul ”An Algebraic Method for Public-Key Cryptography”.
2 Pada tahun 2000, Ki Hyoung Ko, Sang Jin Lee, dkk
pembulikasikan paper dengan judul ”New Public-Key Cryptosystem Using Braid Groups”. Pada kedua publikasi tersebut dikonstruksi protokol pertukaran kunci yang tingkat keamanannya diletakkan pada masalah konjugasi atas grup non-komutatif. Sebagai contoh dari grup yang digunakan adalah grup matriks atas lapangan hingga dan grup anyaman (braid group).
Masalah Konjugasi
1 Diberikan G adalah suatu grup non-komutatif.
2 Diberikan a, b ∈ G . Elemen a dan b dikatakan saling konjugat
jika terdapat g ∈ G sedemikian hingga g−1ag = b.
3 Diberikan a, b ∈ G yang saling konjugat. Masalah konjugasi
adalah masalah dalam menentukan g ∈ G sedemikian hingga g−1ag = b.
Pertukaran Kunci (Anshel, Anshel dan Goldfeld, 1999)
1 Alice dan Bob menyepakati dan mempublikasikan grup
non-komutatif G , serta A = {a1, ..., an} ⊆ G dan
B = {b1, ..., bn} ⊆ G .
2 Alice menghitung a = ae1
i1 · · · a
el
il dengan aik ∈ A dan ek = ±1.
Alice menghitung SA = (a−1b1a, ..., a−1bna) dan
mengirimkannya kepada Bob.
3 Bob menghitung b = bd1
i1 · · · b
dl
il dengan bik ∈ B dan dk = ±1.
Bob menghitung SB = (b−1a1b, ..., b−1anb) dan
mengirimkannya kepada Alice.
4 Alice menghitung KA= a−1(b−1aei11b) · · · (b −1ael ilb) = a −1b−1ab = [a, b]. 5 Bob menghitung KB = (a−1bi−dl 1a) · · · (a −1b−d1 i1 a)b = a −1b−1ab = [a, b].
Pertukaran Kunci (Ko, Lee, dkk, 2000)
1 Alice dan Bob menyepakati dan mempublikasikan grup
non-komutatif G , w ∈ G , dan H subgrup komutatif dari G .
2 Alice memilih secara rahasia a ∈ H, kemudian menghitung
SA = a−1wa dan mengirimkannya kepada Bob.
3 Bob memilih secara rahasia b ∈ H, kemudian menghitung
SB = b−1wb dan mengirimkannya kepada Alice.
4 Alice menghitung KA = a−1SBa. 5 Bob menghitung KB = b−1SAb.
Bukti:
Konstruksi Suatu Grup Non-Komutatif
1 Akan dikonstruksi suatu grup non-komutatif multiplikatif
berhingga, yaitu grup matriks dengan entri-entri dari suatu ring
2 Ring yang digunakan adalah ring komutatif berhingga dengan
Sifat-Sifat Ring Komutatif Berhingga (Bernard R.
McDonald, 1984)
Definisi
Suatu ring R disebut lokal jika R memiliki tepat satu ideal maksimal.
Teorema
Diberikan R adalah ring komutatif berhingga, maka
R ∼= R1× R2× · · · × Rk dimana masing-masing Rj adalah ring
Teorema Fundamental Aritmatika
Teorema
Untuk setiap n ∈ Z dengan n > 1, terdapat dengan tunggal bilangan-bilangan prima p1, p2, ..., pk dan bilangan-bilangan asli
Akibat
Teorema
Diberikan ring Zndengan faktorisasi prima n = p1e1p e2 2 · · · p ek k , maka Zn∼= Zp1e1× Zp2e2 × · · · × Zpekk Masing-masing Zpej j
adalah ring lokal, dengan ideal maksimal tunggalnya adalah < pj >.
Grup Matriks atas Ring (Bernard R. McDonald, 1984)
Teorema
Diberikan R adalah ring komutatif berhingga, maka GLm(R) ∼= GLm(R1) × GLm(R2) × · · · × GLm(Rk) dimana
Akibat
Teorema
Diberikan ring Zndengan faktorisasi prima n = p1e1p2e2· · · pekk, maka
GLm(Zn) ∼= GLm(Zpe1
Grup Matriks atas Ring (Bernard R. McDonald, 1984)
Teorema
Diberikan R adalah ring komutatif berhingga.
Misalkan I adalah ideal maksimal dari R, maka R/I adalah lapangan hingga.
Misalkan K = R/I dengan |K | = q, maka
|GLm(K )| = qm2
m−1
Y
j =0
Grup Matriks atas Ring (Bernard R. McDonald, 1984)
Teorema
Diberikan R adalah ring komutatif berhingga. Misalkan I adalah ideal maksimal dari R. Misalkan K = R/I dengan |K | = q, maka
|GLm(R)| = |R|m
2m−1Y
j =0
Akibat
Teorema
Diberikan R adalah ring komutatif berhingga dengan GLm(R) ∼= GLm(R1) × GLm(R2) × · · · × GLm(Rk) dimana
masing-masing Ri adalah ring lokal. Maka
|GLm(R)| = |GLm(R1)| · |GLm(R2)| · · · |GLm(Rk)|
Teorema ini sangat penting untuk menghitung banyaknya kunci yang digunakan pada protokol pertukaran kunci.
Akibat
Teorema
Diberikan ring Zpe dimana p adalah bilangan prima, maka
< p > adalah ideal maksimal dari Zpe.
| < p > | = pe−1.
|Zpe/ < p > | = p
|GLm(Zpe)| = (pe)m
2Qm−1
Akibat
Teorema
Diberikan ring Zndengan faktorisasi prima n = p1e1p2e2· · · pekk, maka
|GLm(Zn)| = |GLm(Zpe1
Protokol Pertukaran Kunci
1 Akan dikonstruksi suatu protokol pertukaran kunci
berdasarkan masalah konjugasi atas grup matriks atas ring menggunakan protokol pertukaran kunci yang didefinisikan oleh Koo, Lee dkk (2000).
2 Alice dan Bob menyepakati grup GLm(R) dengan R adalah
ring komutatif berhingga dengan elemen satuan.
3 Alice dan Bob menyepakati suatu matriks W , P ∈ GLm(R) 4 Alice dan Bob membentuk subgrup siklik < P >
Proses Protokol Pertukaran Kunci (lanjutan)
1 Alice memilih secara rahasia A ∈< P > dan menghitung
X = A−1WA, kemudian mengirimkan X kepada Bob.
2 Bob memilih secara rahasia B ∈< P > dan menghitung
Y = B−1WB, kemudian mengirimkan Y kepada Bob.
3 Alice menerima Y dari Bob, kemudian Alice menghitung
K1= A−1YA.
4 Bob menerima X dari Bob, kemudian Bob menghitung
K2= B−1XB.
5 Alice dan Bob berhasil menyepakati kunci rahasia yang sama,
Contoh Protokol Pertukaran Kunci
1 Alice dan Bob menyepakati grup GL4(Z256)
2 Alice dan Bob menyepakati W , P ∈ GL4(Z256) yaitu
W = 38 128 136 7 109 143 171 174 76 186 173 122 197 76 105 49 P = 214 16 115 112 80 39 170 104 51 108 17 71 197 182 89 246
Contoh Protokol Pertukaran Kunci (lanjutan)
1 Alice memilih secara rahasia
A = 161 242 25 38 200 207 60 66 147 182 240 101 195 232 17 201 ∈< P > dan menghitung X = A−1WA = 253 32 151 76 148 79 143 245 194 154 198 23 218 58 163 129
Contoh Protokol Pertukaran Kunci (lanjutan)
1 Bob memilih secara rahasia
B = 76 228 15 126 236 61 234 48 177 116 165 83 9 146 71 8 ∈< P > dan menghitung Y = B−1WB = 219 154 0 143 115 47 40 71 219 34 65 220 155 78 206 72
Contoh Protokol Pertukaran Kunci (lanjutan)
1 Alice menerima Y = 219 154 0 143 115 47 40 71 219 34 65 220 155 78 206 72 dari Bob 2 Alice menghitung K1 = A−1YA = 99 190 200 122 182 149 16 115 123 16 160 131 65 170 131 251 Contoh Protokol Pertukaran Kunci (lanjutan)
1 Bob menerima X = 253 32 151 76 148 79 143 245 194 154 198 23 218 58 163 129 dari Alice. 2 Bob menghitung K2 = B−1XB = 99 190 200 122 182 149 16 115 123 16 160 131 65 170 131 251 Contoh Protokol Pertukaran Kunci (lanjutan)
Alice dan Bob berhasil menyepakat kunci rahasia yang sama yaitu menghitung K = 99 190 200 122 182 149 16 115 123 16 160 131 65 170 131 251
Kunci K selanjutnya digunakan untuk proses enkripsi-dekripsi menggunakan sistem kriptografi simetris (Contoh: Hill Cipher, DES, 3DES dan AES)
Referensi
W. D. Diffie and M. E. Hellman. New directions in cryptography. IEEE Transactions on Information Theory, 22(6): 644-654 (1976).
P. W. Shor, Polynomial-time algorithms for prime
factorization and discrete logarithms on quantum computer, SIAM J. Computing 26 (1997), 14841509.
I. Anshel, M. Anshel, and D. Goldfeld, An algebraic method for public-key cryptography, Math. Res. Lett. 6 (1999), pp. 287291.
Referensi
A. Myasnikov, V. Shpilrain and A. Ushakov, Group Based Cryptography, Birkhauser Verlag, 2008.
Bernard R. McDonald, Linear algebra over commutative rings, Monographs and Textbooks in Pure and Applied