ROSIDING ISBN : 978 979 65 6 Suatu Algoritma Kriptografi Simetris Berdasarkan Jaringan Substitusi-ermutasi Dan ungsi Affine Atas Ring Komutatif n A Muhamad aki Riyanto endidikan Matematika, JMIA, KI Universitas Ahmad Dahlan, Yogyakarta E-mail: zakimath@gmailcom http://zakimathwebid Abstrak Salah satu solusi dalam pengamanan pengiriman pesan rahasia adalah menggunakan kriptografi, yaitu menggunakan proses enkripsi-dekripsi ada proses enkripsi, pesan rahasia (plainteks) dirubah menjadi pesan acak yang sulit dimengerti (cipherteks) Sedangkan proses dekripsi berfungsi untuk mengembalikan cipherteks ke plainteks Kedua proses ini menggunakan suatu mekanisme dan kunci tertentu Salah satu mekanisme dalam kriptogafi adalah algoritma kriptografi simetris, yaitu proses enkripsi dan dekripsi menggunakan kunci yang sama Dalam perkembangannya, saat ini yang telah dikenal luas adalah algoritma AES (Advanced Encryption Standard) Algoritma tersebut didasarkan pada metode jaringan substitusi-permutasi atau lebih dikenal dengan Substitution-ermutation Network (SN) Stinson (006) telah memberikan sebuah contoh sederhana dari SN menggunakan bilangan biner dan heksadesimal Dalam makalah ini diberikan sebuah pengembangan dari SN, yaitu menggunakan ring komutatif n ada makalah ini contoh yang digunakan adalah ring komutatif 6 yang berkorespondensi dengan himpunan semua huruf alfabet dari A sampai roses subtitusi menggunakan fungsi affine berupa matriks persegi invertibel atas 6 dan vektor konstan, sedangkan proses permutasi menggunakan suatu permutasi pada grup permutasi roses substitusi dan permutasi ini dilakukan dalam beberapa perulangan Hal ini dilakukan dengan harapan agar plainteks yang dihasilkan menjadi terlihat acak, sehingga akan mempersulit pihak musuh untuk memecahkan pesan rahasia Kata kunci: Enkripsi, dekripsi, matriks invertibel, ring komutatif, Substitution- ermutation Network endahuluan Sebagai makhluk sosial, manusia sering melakukan komunikasi dengan orang lain Mereka saling bertukar informasi, baik berupa informasi yang bersifat umum maupun informasi yang bersifat rahasia Informasi yang bersifat rahasia tersebut hanya boleh diketahui oleh orang-orang tertentu saja Bila informasi rahasia tersebut jatuh ke tangan orang yang tidak berhak untuk mengetahui isi informasi tersebut, maka akan dapat menimbulkan kerugian dan hal-hal yang tidak diinginkan erkembangan teknologi informasi dewasa ini telah berpengaruh pada hampir semua aspek kehidupan manusia, tak terkecuali dalam hal berkomunikasi Dengan adanya internet, komunikasi jarak jauh dapat dilakukan dengan cepat dan murah Namun di sisi lain, ternyata internet tidak terlalu aman karena merupakan jalur komunikasi umum yang dapat digunakan oleh siapapun sehingga sangat rawan terhadap Makalah dipresentasikan dalam dengan tema Matematika dan endidikan Karakter dalam embelajaran pada tanggal Desember 0 di Jurusan endidikan Matematika MIA UNY
ROSIDING ISBN : 978 979 65 6 penyadapan Oleh karena itu, keamanan informasi menjadi faktor utama yang harus dipenuhi Salah satu solusi yang dapat digunakan untuk menyelesaikan masalah tersebut adalah menggunakan kriptografi Kriptografi adalah suatu ilmu yang mempelajari teknik-teknik matematika yang berhubungan dengan aspek keamanan informasi, seperti kerahasiaan data, keabsahan data, integritas data, serta autentikasi data (Menezes dkk, 996) Tetapi tidak semua aspek keamanan informasi dapat diselesaikan dengan kriptografi Kriptografi dapat pula diartikan sebagai ilmu atau seni untuk menjaga keamanan pesan Ketika suatu pesan dikirim dari suatu tempat ke tempat lain, isi pesan tersebut mungkin dapat disadap oleh pihak lain yang tidak berhak untuk mengetahui isi pesan tersebut Untuk menjaga pesan, maka pesan tersebut dapat diubah menjadi suatu kode yang tidak dapat dimengerti oleh pihak lain Enkripsi adalah suatu proses penyandian yang melakukan perubahan suatu pesan, dari yang dapat dimengerti, disebut dengan plainteks, menjadi suatu kode yang sulit dimengerti, disebut dengan cipherteks Sedangkan proses kebalikannya untuk mengubah cipherteks menjadi plainteks disebut dekripsi roses enkripsi dan dekripsi memerlukan suatu mekanisme dan kunci tertentu Algoritma kriptografi (sistem kriptografi) atau sering disebut dengan cipher merupakan suatu sistem atau kumpulan aturan-aturan (algoritma) yang digunakan untuk melakukan enkripsi dan dekripsi Algoritma kriptografi simetris adalah algoritma kriptografi yang menggunakan kunci enkripsi dan dekripsi yang sama Sistem ini mengharuskan dua pihak yang berkomunikasi menyepakati suatu kunci rahasia yang sama sebelum keduanya saling berkomunikasi Keamanan dari sistem ini tergantung pada kunci, membocorkan kunci berarti bahwa orang lain yang berhasil mendapatkan kunci dapat mendekripsi cipherteks Algoritma kriptografi ini sering disebut juga dengan algoritma kriptografi kunci rahasia, seperti dijelaskan pada gambar berikut ini Kunci lainteks Cipherteks lainteks Alice Enkripsi Dekripsi Bob Eve Gambar Algoritma Kriptografi Simetris Yogyakarta, Desember 0 MA 5
ROSIDING ISBN : 978 979 65 6 ada Gambar di atas, ada dua pihak yaitu Alice dan Bob yang berkomunikasi secara rahasia menggunakan algoritma kriptografi simetris Komunikasi dilakukan melalui jalur komunikasi yang tidak dapat dijamin keamanannya Untuk dapat melakukan komunikasi secara rahasia, Alice dan Bob harus menyetujui suatu kunci rahasia yang sama Akan tetapi, ada pihak ketiga yaitu Eve yang berada di antara kedua pihak yang berusaha untuk rmendapatkan informasi rahasia yang dikirimkan Contoh algoritma kriptografi simetris adalah DES, Blowfish, dan AES (Advanced Encryption Standard) Saat ini AES merupakan algoritma kriptografi simetris yang digunakan secara luas di internet Dalam melakukan proses enkripsi-dekripsi, AES menggunakan metode Jaringan Substitusi-ermutasi Stinson (006) telah memberikan penjelasan dan contoh kasus dari Jaringan Substitusi-ermutasi Dalam makalah ini dijelaskan mengenai algoritma kriptografi simetris yang didasarkan pada Jaringan Substitusi-ermutasi yang didefinisikan atas lapangan hingga = { 0,} atau bilangan biner Selanjutnya, diberikan pengembangan dari algoritma tersebut menggunakan sebarang ring komutatif n = { 0,,,, n } Dalam makalah ini diberikan contoh menggunakan ring komutatif 6 = { 0,,,, 5} yang berkorespondensi dengan himpunan semua huruf alfabet A sampai dengan Salah satu metode yang digunakan dalam pengembangan tersebut adalah menggunakan fungsi affine dengan perkalian matriks invertibel atas ring n Jaringan Substitusi-ermutasi Jaringan Substitusi-ermutasi atau dikenal dengan Substitution-ermutation Network (SN) merupakan salah satu metode dalam melakukan proses enkripsi dan dekripsi Metode ini menggunakan iterasi atau perulangan dari proses substitusi, permutasi dan penjumlahan kunci Stinson (006) memberikan suatu contoh algoritma kriptografi simetris yang berbasis pada Jaringan Substitusi-ermutasi sebagai berikut Sistem dasar SN ini dibentuk dari dua permutasi, yaitu π S dan π, dimana :{ 0,} k k π { 0,}, dan :{,, } {,, } S π km km ermutasi π S disebut dengan S- box, digunakan untuk proses substitusi suatu k bit dengan suatu k bit yang lain Sedangkan permutasi π digunakan untuk proses permutasi suatu km bit Didefinisikan Yogyakarta, Desember 0 MA 6
ROSIDING ISBN : 978 979 65 6 adalah himpunan semua plainteks, C adalah himpunan semua cipherteks dan K adalah himpunan semua kunci Diberikan k, m dan Nr adalah suatu bilangan bulat positif Diberikan suatu permutasi :{ 0,} k { 0,} S k π dan permutasi km Nr+ ( ) π :{,, km} {,, km} Didefinisikan = C= { 0,} km dan K Í { 0,} memuat semua kunci yang mungkin yang dapat diturunkan dari kunci awal menggunakan suatu algoritma penjadwalan kunci (key scheduling) Untuk suatu Nr penjadwalan kunci yang terdiri dari round key round key yaitu( K,, K + ), proses enkripsinya diberikan pada algoritma berikut ini Algoritma: SN (,,, (,, Nr+ x ps p K K ) 0 w x for r to Nr - do { u w Å K r r- r for i to m r r do { v < i> p S( u < i> ) } r r ( (),, r p p ( km) ) w v v } u w Å K Nr Nr- Nr for i to m Nr Nr do { v< i> p S( u< i> ) } Nr Nr y v Å K + output(y) Gambar Algoritma SN (Stinson, 006) Diberikan suatu plainteks berupa string biner dengan panjang km bit, misalkan ( ) x = x, x,, xkm Selanjutnya, pada x dapat dibentuk m substring, masing-masing k bit, dan dinotasikan dengan x, x,, x Sehingga < > < > < m> x = x<> x< > x< m> dan ( ) untuk i m diperoleh x ( ),, <> i = x x i- k+ ik SN mempunyai Nr putaran (round) Setiap putaran (kecuali pada putaran terakhir) dilakukan m substitusi menggunakan π S Yogyakarta, Desember 0 MA 7
ROSIDING ISBN : 978 979 65 6 dan langsung diikuti dengan permutasi menggunakan π ada algoritma SN di atas, r u dimasukkan ke dalam S-box (pada putaran ke-r) dan ouputnya adalah r v Untuk diperoleh dari v r r dengan menggunakan permutasi π, dan u + dikonstruksi dari dengan meng-xor dengan round key r K + r w r w roses ini disebut dengan round key mixing erhatikan bahwa pada putaran terakhir, permutasi π tidak digunakan Berikut ini diberikan sebuah contoh enkripsi menggunakan SN ada contoh ini digunakan penulisan heksadesimal (Hex) seperti diberikan pada tabel di bawah ini Tabel Tabel Heksadesimal-Biner Biner Hex Biner Hex 0000 0 000 8 000 00 9 000 00 A 00 0 B 000 4 00 C 00 5 0 D 00 6 0 E 0 7 Diberikan k = m = Nr = 4 Didefinisikan S-box dengan π S sebagai berikut z 0 4 5 6 7 8 9 A B C D E π S (z) E 4 D B 8 A 6 C 5 9 0 7 Selanjutnya, didefinisikan π sebagai berikut z 4 5 6 7 8 9 0 4 5 6 π (z) 5 9 6 0 4 7 5 4 8 6 Misalkan diberikan kunci K = 00 00 00 000 0 00 00 Selanjutnya, dapat didefinisikan algoritma penjadwalan kunci dengan round key : K = 00 00 00 000 K = 00 00 000 0 4 K = 000 0 00 00 5 K = 0 00 00 Yogyakarta, Desember 0 MA 8
ROSIDING ISBN : 978 979 65 6 K = 00 000 0 00 Misal diberikan plainteks x = 000 00 0 0 roses enkripsi akan berjalan seperti berikut ini: 0 w = 000 00 0 0 K = 00 00 00 000 u = 000 00 000 00 v = 000 00 0 000 w = 000 0 0000 0 K = 00 00 000 0 u = 000 0 000 00 v = 00 000 000 00 w = 000 000 0 000 K = 00 000 0 00 u = 0 00 00 0 v = 00 0 0000 w = 0 000 00 0 4 K = 000 0 00 00 4 u = 00 00 0000 0 4 v = 00 00 0 00 5 K = 0 00 00 y = 0 00 0 00 Diperoleh cipherteks y = 0 00 0 00 roses dekripsi pada SN dapat dipelajari dengan membalik proses enkripsi, sedangkan permutasi yang digunakan adalah invers dari permutasi π S (z) dan π (z) Round key yang digunakan mulai dari 5 K, 4 K, K, K, dan K Jaringan Substitusi-ermutasi atas Ring Komutatif n Algoritma kriptografi simetris yang menggunakan metode Jaringan Substitusi- ermutasi di atas dapat dikembangkan menggunakan ring komutatif n { 0,,,, n } = ada proses substitusi menggunakan fungsi affine berupa Yogyakarta, Desember 0 MA 9
ROSIDING ISBN : 978 979 65 6 perkalian matriks invertibel atas Berikut ini diberikan beberapa sifat dari n dan diikuti dengan penjumlahan vektor konstan n Teorema Suatu elemen a n mempunyai invers (terhadap perkalian) dalam n jika dan hanya jika fpb ( an, ) =, yaitu a relatif prima dengan n Teorema di atas mengakibatkan bahwa jika p adalah bilangan prima, maka merupakan lapangan Sebagai contoh, merupakan lapangan ungsi affine dalam p proses substitusi menggunakan perkalian matriks invertibel atas diberikan sifat mengenai matriks invertibel atas n n Berikut ini a b Teorema Diberikan matriks A dengan abcd,,, n, maka A mempunyai c d invers (terhadap perkalian) dalam jika dan hanya jika ( ad bc n) n fpb, = a b n =,,, n, fpb, = c d semua matriks invertibel atas Dinotasikan GL ( ) a b c d ( ad bc n) s n = st, n Diberikan grup permutasi t adalah himpunan n Selanjutnya, diberikan himpunan semua vektor L m Sm = p: {,,, m} {,,, m} bijektif p() p( ) L p( m) Algoritma enkripsi dan dekripsi serta penjadwalan kunci diberikan sebagai berikut Diberikan plainteks X = xx xx4 x5x6 x7x8 x9x0, dengan xi n, i =,,,0 Sebagai inisialisasi awal, diberikan matriks A = GL ( ) s C n, serta suatu permutasi t yang digunakan adalah: a c b d L 0 p= S p() p( ) L p( 0) n 0 dan vektor ungsi affine Yogyakarta, Desember 0 MA 0
ROSIDING ISBN : 978 979 65 6 a b xq s AX + C + c d x (mod n) r t Diberikan kunci K = kk kk 4kk 5 6kk 7 8kk 9 0, dengan k i n, i =,,,0 Untuk putaran ke- dilakukan pergeseran kunci sebanyak satu, yaitu K kk k4k5 k6k7 k8k9 k0k yaitu =, untuk putaran ke-, dilakukan pergeseran lagi pada K kk 4kk 5 6kk 7 8kk 9 0kk K, =, demikian seterusnya Berikut ini diberikan algoritma enkripsi selengkapnya Algoritma : Algoritma Enkripsi Input: lainteks X = xx xx4 x5x6 x7x8 x9x0 Kunci K = kk kk 4 kk 5 6 kk 7 8 kk 9 0 Jumlah putaran = m Outuput: Cipherteks Y = yy yy4 y5y6 y7y8 y9y0 Langkah-langkah: Jumlahkan plainteks X dengan kunci awal K, yaitu f ( x + k )mod n, sehingga diperoleh = ff ff4 f5f6 f7f8 f9f0 i i i Untuk i dari sampai dengan m, lakukan: otong menjadi blok-blok dengan panjang dua Ubah ke bentuk vektor, yaitu, f, 4 f4, 4 f4 dan 7 78 f8 f 9 90 f0 Untuk setiap qr, kalikan dengan matriks A, kemudian dijumlahkan q fr dengan vektor C, yaitu: g a b x s A C c d t q q = qr + + gr xr Diperoleh = i G gg gg4 g5g6 g7g8 g9g0 Lakukan permutasi pada G menggunakan permutasi p, diperoleh ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) i H = p g p g p g p g4 p g5 p g6 p g7 p g8 p g9 p g0 = hh hh hh hh hh 4 5 6 7 8 9 0 Yogyakarta, Desember 0 MA
ROSIDING ISBN : 978 979 65 6 4 Jumlahkan H dengan ( ) mod i i i i K yaitu kunci pada putaran ke-i Diperoleh i z h + k n, yaitu = zz zz 4zz 5 6zz 7 8zz 9 0 Jumlahkan hasil akhir m y z + k n dengan kunci awal K, yaitu ( ) mod Diperoleh cipherteks Y = yy yy4 y5y6 y7y8 y9y0 i i i Algoritma Dekripsi pada dasarnya sama dengan Algoritma Enkripsi, hanya saja menggunakan invers dari fungsi affine dan invers dari permutasi Diberikan fungsi affine AX + C Misalkan v a b xq s + w c d x, maka r t a b xq v s v s = c d x =, sehingga diperoleh r w t w t xq a b v s = x r c d w t Algoritma : Algoritma Dekripsi Input: Cipherteks Y = yy yy4 y5y6 y7y8 y9y0 Kunci K = kk kk 4kk 5 6kk 7 8kk 9 0 Jumlah putaran = m Outuput: lainteks X = xx xx4 x5x6 x7x8 x9x0 Langkah-langkah: f y k n, sehingga Kurangkan cipherteks Y dengan kunci awal K, yaitu ( ) mod diperoleh H hh hh 4h5h6h7h8 h9h0 = Untuk i dari sampai dengan m, lakukan: i i i Kurangkan H dengan K i yaitu kunci pada putaran ke-(m-i+) Diperoleh i z ( h k )mod n, yaitu = zz zz 4zz 5 6zz 7 8zz 9 0 i i i otong menjadi blok-blok dengan panjang dua Ubah ke bentuk vektor, yaitu z,, z z,,4 z4 z,,4 z4 z 7 7,8 z8 dan z 9 9,0 z0 Yogyakarta, Desember 0 MA
ROSIDING ISBN : 978 979 65 6 Lakukan permutasi pada menggunakan invers permutasi dari p, yaitu p L 0 = S p () p ( ) L p ( 0) 0, diperoleh ( ) ( ) ( ) ( 4 ) ( 5) ( 6) ( 7) ( 8) ( ) ( ) i = p z p z p z p z p z p z p z p z = p z p z 9 0 ff ff ff ff ff 4 5 6 7 8 9 0, f,,,4 f4,,4 f4 7 7,8 f8 dan f 9 9,0 f0 4Untuk setiap ( q ) ( ), kurangkan dengan vektor q qr fr s C t, yaitu f s mod n, kemudian kalikan dengan invers dari matriks A, yaitu fr t mod n gq a b fq s = g c d f t r r i Diperoleh G = gg gg4 g5g6 g7g8 g9g0 Kurangkan hasil akhir G m dengan kunci awal K, yaitu y ( g k )mod n Diperoleh plainteks X = xx xx4 x5x6 x7x8 x9x0 i i i Sebagai contoh, misalkan Alice ingin mengirimkan pesan rahasia matematika kepada Bob menggunakan kunci rahasia abcdefghij Sebagai inisialisasi awal, keduanya sepakat menggunakan ring komutatif 6 = { 0,,,,5} yang berkorespondensi dengan himpunan semua huruf alfabet, yaitu 0 a, b, c, dan seterusnya sampai dengan 5 z Diperoleh plainteks dan kunci yaitu: X = 0 9 4 0 9 8 0 0 dan K = 0 4 5 6 7 8 9 8 7 Keduanya sepakat menggunakan matriks A = GL ( ) 0 C = 0 6, vektor konstan 4 5 6 7 8 9 0 dan permutasi p = S0 Dapat 7 5 6 0 8 9 4 7 8 ditunjukkan bahwa matriks A tersebut mempunyai invers A dan permutasi p tersebut mempunyai invers yaitu permutasi Yogyakarta, Desember 0 MA
ROSIDING ISBN : 978 979 65 6 4 5 6 7 8 9 0 p Inisialisasi tersebut bersifat umum, artinya 0 8 9 4 6 7 5 boleh diketahui siapa saja, yang dirahasiakan adalah plainteks dan kunci Keduanya sepakat menggunakan iterasi sebanyak Diperoleh penjadwalan kunci: K = 4 5 6 7 8 9 0, K = 4 5 6 7 8 9 0, roses enkripsi diberikan dalam tabel sebagai berikut K = 4 5 6 7 8 9 0 Tabel roses Enkripsi Jaringan-Substitusi ermutasi atas 6 4 5 6 7 8 9 0 X 0 9 4 0 9 8 0 0 7 6 5 5 5 8 9 G 0 8 5 5 8 5 8 H 8 8 5 0 5 5 8 0 9 6 8 7 4 8 G 6 4 8 6 0 5 0 5 0 H 0 0 5 4 8 6 0 5 6 5 4 4 0 5 4 5 7 G 5 4 0 6 9 9 H 0 9 9 4 6 5 4 8 4 4 4 Y 4 6 5 4 0 Diperoleh cipherteks Y = 4 6 5 4 0 yang berkorepondensi dengan xoqvzdekvx Selanjutnya, cipherteks ini dikirimkan oleh Alice kepada Bob Apabila ada pihak ketiga yaitu Eve yang berhasil menyadap pesan ini, maka Eve hanya mengetahui cipherteks dan inisialisasi algoritma berupa matriks, vektor, permutasi dan jumlah iterasi Untuk memecahkan plainteks, Eve harus menemukan kunci yang digunakan oleh Alice Semakin banyak jumlah iterasi, maka Eve menjadi lebih sulit untuk menemukan kuncinya Sebagai contoh, pada contoh di atas untuk iterasi sebanyak 00 kali akan menghasilkan cipherteks jqsnipyxxr Jika kunci dirubah sedikit menjadi bbcdefghij, dengan iterasi sebanyak 00 kali akan menghasilkan cipherteks cxzsmxuicb Terlihat bahwa perubahan sedikit saja pada kunci akan menghasilkan cipherteks yang sangat berbeda Untuk proses dekripsi dari contoh di atas dapat Yogyakarta, Desember 0 MA 4
ROSIDING ISBN : 978 979 65 6 dipelajari dari Algoritma yang telah diberikan menggunakan invers matriks dari A dan invers permutasi dari p 4 Kesimpulan dan Saran roses enkripsi menggunakan Jaringan Substitusi-ermutasi dapat diterapkan pada suatu ring komutatif n menggunakan substitusi dengan fungsi affine berupa perkalian matriks dan penjumlahan vektor Akan tetapi, untuk menjamin bahwa proses dekripsi akan berjalan adalah dengan mensyaratkan bahwa matriks yang digunakan dalam proses substitusi harus invertibel atas n, artinya determinan dari matriks tersebut relatif prima dengan n Untuk meningkatkan keamanan, sebaiknya iterasi dilakukan dalam jumlah yang banyak, seperti lebih dari 000 kali Hal ini dilakukan agar cipherteks terlihat benar-benar acak, walaupun kunci dirubah sedikit Selanjutnya, perlu dikaji lebih lanjut mengenai keamanan dari algoritma tersebut menggunakan analisis secara statisitik dan teori probabilitas Hal ini perlu dilakukan untuk mengetahui tingkat keacakan dan keterkaitan antara plainteks, kunci dan cipherteks Daftar ustaka Menezes Alfred J, aul C van Oorschot dan Scott A Vanstone, 996, Handbook of Applied Cryptography, CRC ress, USA Stinson, Douglas R, 006, Cryptography Theory and ractice, Third Edition, Chapman & Hall/CRC, lorida Yogyakarta, Desember 0 MA 5