Perancangan Kriptografi Simetris Menggunakan Logaritma Kuadrat

Fungsi logaritma kuadrat digunakan karena memiliki bentuk non-linear dan juga merupakan fungsi transenden. Sedangkan fungsi bernoulli digunakan karena...

5 downloads 477 Views 1MB Size
1.

Pendahuluan

Penyadapan semakin marak terjadi belakangan ini. Masalah ini semakin besar apabila konten yang disadap adalah informasi rahasia suatu negara. Indonesia beberapa kali diberitakan disadap oleh pihak asing, hal ini menjadi pertanda bahwa sistem keamanan informasi di negara ini masih lemah. Untuk meningkatkan keamanan pertukaran informasi, diperlukan suatu metode yang menjaga akses ke informasi ini. Dengan kriptografi kita dapat menjaga kerahasian suatu informasi dari pihak yang tidak diinginkan. Untuk menunjang kriptografi dapat menggunakan fungsi-fungsi matematika. Fungsi matematika tersebut digunakan dalam proses Enkripsi dan Dekripsi suatu pesan untuk menjaga kerahasiaan data, keabsahan data, integritas data, serta autentikasi data. Berdasarkan latar belakang masalah, maka akan dilakukan penelitian yang membahas tentang teknik kriptografi simetris dengan beberapa fungsi matematika yaitu fungsi logaritma kuadrat dan fungsi bernoulli sebagai kunci sedangkan fungsi linear digunakan dalam putaran untuk proses enkripsi-dekripsi. Fungsi logaritma kuadrat digunakan karena memiliki bentuk non-linear dan juga merupakan fungsi transenden. Sedangkan fungsi bernoulli digunakan karena merupakan fungsi polinomial dan juga memiliki bentuk non-linear. Penelitian ini, diharapkan dapat menambah ragam teknik kriptografi dengan kunci simetris. 2.

Tinjauan Pustaka

Penelitian terdahulu yang berjudul Penggunaan “Fungsi Rasional, Logaritma Kuadrat, dan Polinomial Orde- dalam Modifikasi Kriptografi Caesar Cipher”. Penelitian ini memodifikasi Caesar cipher dengan menggunaan dua buah kunci yang digunakan dalam setiap putaran. Secara matematis dalam penulisan ini melakukan pergeseran karakter dalam ASCII [1]. Penelitian lain yang berjudul “Public key cryptography using Permutation P-Polynomials over Finite Fields”. Penelitian tersebut menggunakan permutasi ppolinomial untuk mendesain kunci kriptografi yang efisien [2]. Dari dua penelitian di atas penulis memiliki gagasan untuk merancang kriptografi menggunakan fungsi logaritma kuadrat dan fungsi Bernoulli, yang digunakan sebagai pembangkit kunci. Sedangkan fungsi linear digunakan pada proses enkripsi dan dekripsi pada setiap putaran. Pembangkit kunci yang pertama menggunakan fungsi logaritma kuadrat. Secara umum memiliki persamaan seperti berikut [3]: ( ) ( ) (1) Pembangkit kunci yang lain menggunakan fungsi Bernoulli yang memiliki bentuk seperti berikut [4]: ( )

∑( )

( )

Proses enkripsi disetiap putarannya menggunakan fungsi linear yang memiliki bentuk umum seperti berikut : ( ) ( ) (3)

1

Perhitungan matematika banyak digunakan dalam perancangan kriptografi, selain menggunakan Persamaan (1) (2) dan (3) juga digunakan proses Convert Between Base (CBB) yang secara umum diberikan pada defenisi berikut ini. Definisi 1 [5]. Konversi sembarang bilangan positif berbasis 10 basis β. Secara umum notasinya, ( ) (4) Definisi 2 [5]. Konversi dari urutan bilangan (list digit) dalam basis α ke basis β. Secara umum dinotasikan, ( ) (5) dengan jumlahan urutan bilangan (jumlahan ) mengikuti aturan, ( )



( )

dimana ( ) adalah nilai terakhir dari urutan bilangan .  dan adalah bilangan positif.  Nilai yang diperoleh merupakan kumpulan urutan bilangan dalam basis β. 3.

Perancangan Kriptografi

Dalam perancangan kriptografi simetris menggunakan fungsi logaritma kuadrat dan fungsi bernoulli dibutuhkan beberapa tahapan dalam menyusunan penelitian. Analisis Kebutuhan Pengumpulan bahan Perancangan Kriptografi Simetris Uji Hasil Perancangan Laporan Penelitian Gambar 1 Tahapan Penelitian

Tahapan penelitian pada Gambar 1, dapat dijelaskan sebagai berikut. Tahap Pertama : Analisis Kebutuhan perancangan kriptografi kunci simetris menggunakan fungsi logaritma kuadrat dan fungsi bernoulli, sehingga ditemukan kebutuhan apa saja yang diperlukan; Tahap Kedua : Pengumpulan bahan, yang meliputi pengumpulan referensi yang berkaitan dengan fungsi logaritma kuadrat dan fungsi bernoulli dan literatur yang berhubungan dengan proses enkripsi dan dekripsi; Tahap Ketiga : Perancangan Kriptografi Simetris, yaitu meliputi pembuatan flowchart untuk pengambilan keputusan, serta melakukan analisaanalisa hasil yang dapat diambil dari modifikasi yang telah dilakukan; Tahap

2

Keempat : Uji Hasil Perancangan, apabila perancangan kriptografi simetris sudah selesai dilakukan pengujian dan analisa; Tahap Kelima : Penulisan Laporan Hasil Penelitian yaitu mendokumentasikan proses penelitian yang sudah dilakukan dari tahap awal hingga akhir ke dalam tulisan, yang menjadi laporan hasil penelitian. Dalam perancangan kriptografi, terdapat dua proses pokok yaitu, enkripsi dan dekripsi. Proses enkripsi dijelaskan pada Gambar 2. Plaintext

*

ASCII

FLK 1 (

( )

+

( )

(

Linear )

Main key

·2

)

ASCII *

+ *

( )

*

FBer 1 (

= Jumlah

·3

)

*

FLk (

( )

+

( )

FBer 2 (

+

)

)

+7

+

FBer ( )

. . .

∑( )

. . .

. . .

FBer 4

·2

( )

FBer *

+

( )

FLK 4

+6

( )

*

∑( )

+

FLk (

( )

)

FLK 5

*

CBB

·5

( )

+

*

Gambar 2 Proses Enkripsi

3

+

Ciphertext

Proses enkripsi kriptografi kunci simetris pada Gambar 2 merupakan proses dimana plainteks dikonversi ke dalam kode ASCII, kemudian disubtitusi dalam algoritma linear menggunakan pembangkit kunci logaritma kuadrat dan fungsi bernoulli. Berikut dijelaskan tahap persiapan dan langkah-langkah secara umum dalam proses enkripsi kriptografi kunci simetris. a)

b)

c)

d)

e)

Menyiapkan plainteks Masukkan plainteks yang akan dienkripsi. n adalah jumlah plainteks. * + (7) Menyiapkan kunci Kunci yang dimasukkan diubah kebentuk bilangan ASCII kemudian setiap bilangannya dijumlahkan lalu dikali 2 dan hasilnya diproses dengan modulo 127 dengan m adalah jumlah inputan kunci sehingga. * + (8) * + (9) ( ) mod 127 (10) Menyiapkan fungsi linear Hasil dari nilai Persamaan (7) dimasukkan kedalam dengan = 2 dan = 7 kemudian diakhiri dengan proses modulo 127. Konstanta yang digunakan dari angka 1 sampai dengan 25 sehingga. ( ) ( ) (11) ( ) ( ) (12) Menyiapkan kunci logaritma kuadrat Hasil dari Persamaan (10) dimasukkan kedalam dimana b = 1 dan c = 2 dan diakhiri dengan proses modulo 127. Kunci logaritma kuadrat digunakan disetiap putaran dalam proses enkripsi dan dekripsi. ( ) ( ) (13) Menyiapkan fungsi bernoulli sebagai kunci Hasil dari Persamaan (10) dimasukkan kedalam dimana = (10) · 2 dan diakhiri dengan proses modulo 127. Kunci bernoulli digunakan disetiap putaran dalam proses enkripsi dan dekripsi. ( )

f)

∑( )

(

)

(15) Menyiapkan kunci tambahan yang diambil dari hasil kunci logaritma kuadrat dan kunci bernoulli yang digunakan disetiap putaran proses enkripsi dan dekripsi. Konstanta yang digunakan dari angka 1 sampai dengan 25 sehingga. (16)  Putaran pertama mengambil Persamaan (16) sebagai kunci. Dimana = Ɣ dan p = 2 sehingga (17)  Putaran pertama mengambil Persamaan (16) sebagai kunci. Dimana = β dan p = 3 sehingga

4

      

g)

(18) Putaran pertama mengambil Persamaan (16) sebagai kunci. Dimana = β dan p = 3 sehingga (19) Putaran kedua mengambil Persamaan (16) sebagai kunci. Dimana = Ɣ dan p = 4 sehingga (20) Putaran kedua mengambil Persamaan (16) sebagai kunci. Dimana = Ɣ dan p = 5 sehingga (21) Putaran kedua mengambil Persamaan (16) sebagai kunci. Dimana = β dan p = 9 sehingga (22) Putaran ketiga mengambil Persamaan (16) sebagai kunci. Dimana = β dan p = 2 sehingga (23) Putaran ketiga mengambil Persamaan (16) sebagai kunci. Dimana = Ɣ dan p = 6 sehingga (24) Putaran ketiga mengambil Persamaan (16) sebagai kunci. Dimana = Ɣ dan p = 5 sehingga (25)

Menyiapkan fungsi linear Setiap proses enkripsi menggunakan fungsi linear. Konstanta yang digunakan dari angka 1 sampai dengan 25 sehingga. ( ) ( )mod 127 (26)  Putaran pertama mengambil fungsi linear Persamaan (26) dan Persamaan ( ) sebagai kunci pembangkit yang dimasukkan dengan = dan = 5 lalu diakhiri dengan proses modulo 127 sehingga ( ) ( )mod 127 (27)  Putaran pertama mengambil fungsi linear Persamaan (26) dan Persamaan ( ) serta Persamaan ( ) sebagai kunci pembangkit yang dimasukkan dengan = dan = Ɣ lalu diakhiri dengan proses modulo 127 sehingga ( ) ( )mod 127 (28)  Putaran pertama mengambil fungsi linear Persamaan (26) dan Persamaan ( ) sebagai kunci pembangkit yang dimasukkan dengan = dan = 2 lalu diakhiri dengan proses modulo 127 sehingga ( ) ( )mod 127 (29)  Putaran kedua mengambil fungsi linear Persamaan (26) dan Persamaan ( ) sebagai kunci pembangkit yang dimasukkan dengan = dan = 5 lalu diakhiri dengan proses modulo 127 sehingga ( ) ( )mod 127 (30)

5



Putaran kedua mengambil fungsi linear Persamaan (26) dan Persamaan ( ) serta Persamaan ( ) sebagai kunci pembangkit yang dimasukkan dengan = dan = β lalu diakhiri dengan proses modulo 127 sehingga ( ) ( )mod 127 (31)



Putaran kedua mengambil fungsi linear Persamaan (26) dan Persamaan ( ) sebagai kunci pembangkit yang dimasukkan dengan = dan = 5 lalu diakhiri dengan proses modulo 127 sehingga ( ) ( )mod 127 (32)



Putaran ketiga mengambil fungsi linear Persamaan (26) dan Persamaan ( ) sebagai kunci pembangkit yang dimasukkan dengan = dan = 4 lalu diakhiri dengan proses modulo 127 sehingga ( ) ( )mod 127 (33) Putaran ketiga mengambil fungsi linear Persamaan (26) dan Persamaan ( ) serta Persamaan ( ) sebagai kunci pembangkit yang dimasukkan dengan = dan = β lalu diakhiri dengan proses modulo 127 sehingga ( ) ( )mod 127 (34)





h)

Putaran ketiga mengambil fungsi linear Persamaan (26) dan Persamaan ( ) sebagai kunci pembangkit yang dimasukkan dengan = dan = 17 lalu diakhiri dengan proses modulo 127 sehingga ( ) ( )mod 127 (35)

Menyiapkan Convert Between Base (CBB) yang diambil dari persamaan (5) bilangan basis yang disiapkan yaitu 416 karena bilangan basis harus lebih besar dari nilai sehingga ( ) (36)

Berikut dijelaskan tahap persiapan dan langkah-langkah secara umum dalam proses dekripsi kriptografi kunci simetris. a) Menyiapkan invers Convert Between Base (CBB) yang diambil dari persamaan (5) sehingga ( ) (37) b) Menyiapkan invers fungsi linear Setiap proses dekripsi menggunakan invers fungsi linear, bentuk secara umumnya yaitu, ( ) ( )mod 127 (38) 

Mengambil invers fungsi linear Persamaan (38) dan Persamaan ( ) sebagai kunci pembangkit yang dimasukkan dengan = dan = 17 lalu diakhiri dengan proses modulo 127 sehingga ( ) ( )mod 127 (39)

6

















Mengambil invers fungsi linear Persamaan (38) dan Persamaan ( ) serta Persamaan ( ) sebagai kunci pembangkit yang dimasukkan dengan = dan = β lalu diakhiri dengan proses modulo 127 sehingga ( ) ( )mod 127 (40) Mengambil invers fungsi linear Persamaan (38) dan Persamaan ( ) sebagai kunci pembangkit yang dimasukkan dengan = dan = 4 lalu diakhiri dengan proses modulo 127 sehingga ( ) ( )mod 127 (41) Mengambil invers fungsi linear Persamaan (38) dan Persamaan ( ) sebagai kunci pembangkit yang dimasukkan dengan = dan = 5 lalu diakhiri dengan proses modulo 127 sehingga ( ) ( )mod 127 (42) Mengambil invers fungsi linear Persamaan (38) dan Persamaan ( ) serta Persamaan ( ) sebagai kunci pembangkit yang dimasukkan dengan = dan = β lalu diakhiri dengan proses modulo 127 sehingga ( ) ( )mod 127 (43) Mengambil invers fungsi linear Persamaan (38) dan Persamaan ( ) dan = sebagai kunci pembangkit yang dimasukkan dengan = 5 lalu diakhiri dengan proses modulo 127 sehingga ( ) ( )mod 127 (44) Mengambil invers fungsi linear Persamaan (38) dan Persamaan ( ) sebagai kunci pembangkit yang dimasukkan dengan = dan = 2 lalu diakhiri dengan proses modulo 127 sehingga ( ) ( (45) )mod 127 Mengambil invers fungsi linear Persamaan (38) dan Persamaan ( ) serta Persamaan ( ) sebagai kunci pembangkit yang dimasukkan dengan = dan = Ɣ lalu diakhiri dengan proses modulo 127 sehingga ( ) ( )mod 127 (46) Mengambil invers fungsi linear Persamaan (38) dan Persamaan ( ) sebagai kunci pembangkit yang dimasukkan dengan = dan = 5 lalu diakhiri dengan proses modulo 127 sehingga ( ) ( )mod 127 (47)



a)

Mengambil invers fungsi linear Persamaan (38) dengan = 2 dan = 7 lalu diakhiri dengan proses modulo 127 sehingga ( ) ( )mod 127 ( ) Gambar 2 menjelaskan proses enkripsi, tahap-tahapnya sebagai berikut: Baris bilangan dari Persamaan (7) dimasukkan kedalam fungsi linear pada Persamaan (12), dimana setiap nilai dari Persamaan (7) dikalikan dengan (12) dan ditambah (12) untuk adalah jumlah bilangan plainteks, sehingga menghasilkan 7

b)

c)

d)

e)

f)

g)

h)

i)

j)

* + (49) Hasil dari Persamaan (49) dimasukkan kedalam fungsi linear Persamaan (27) dimana memanggil kunci pembangkit dari Persamaan (17) dan nilai dari Persamaan (27) untuk adalah jumlah bilangan plainteks, sehingga menghasilkan * + (50) Hasil dari Persamaan (50) dimasukkan kedalam fungsi linear Persamaan (28) dimana memanggil kunci pembangkit dari Persamaan (18) dan nilai dari Persamaan (28) untuk adalah jumlah bilangan plainteks, sehingga menghasilkan * + (51) Hasil dari Persamaan (51) dimasukkan kedalam fungsi linear Persamaan (29) dimana memanggil kunci pembangkit dari Persamaan (19) dan nilai dari Persamaan (29) untuk adalah jumlah bilangan plainteks, sehingga menghasilkan * + (52) Hasil dari Persamaan (52) dimasukkan kedalam fungsi linear Persamaan (30) dimana memanggil kunci pembangkit dari Persamaan (20) dan nilai dari Persamaan (30) untuk adalah jumlah bilangan plainteks, sehingga menghasilkan * + (53) Hasil dari Persamaan (53) dimasukkan kedalam fungsi linear Persamaan (31) dimana memanggil kunci pembangkit dari Persamaan (21) dan nilai dari Persamaan (31) untuk adalah jumlah bilangan plainteks, sehingga menghasilkan * + (54) Hasil dari Persamaan (54) dimasukkan kedalam fungsi linear Persamaan (32) dimana memanggil kunci pembangkit dari Persamaan (22) dan nilai dari Persamaan (32) untuk adalah jumlah bilangan plainteks, sehingga menghasilkan * + (55) Hasil dari Persamaan (55) dimasukkan kedalam fungsi linear Persamaan (33) dimana memanggil kunci pembangkit dari Persamaan (23) dan nilai dari Persamaan (33) untuk adalah jumlah bilangan plainteks, sehingga menghasilkan * + (56) Hasil dari Persamaan (56) dimasukkan kedalam fungsi linear Persamaan (34) dimana memanggil kunci pembangkit dari Persamaan (24) dan nilai dari Persamaan (34) untuk adalah jumlah bilangan plainteks, sehingga menghasilkan * + (57) Hasil dari Persamaan (57) dimasukkan kedalam fungsi linear Persamaan (35) dimana memanggil kunci pembangkit dari Persamaan (25) dan nilai dari Persamaan (35) untuk adalah jumlah bilangan plainteks, sehingga menghasilkan * + (58) 8

k)

Hasil dari Persamaan (58) dimasukkan kedalam Persamaan (36) untuk adalah jumlah bilangan cipherteks, sehingga menghasilkan * + (59)

Ciphertext

*

InvCBB

FLK 5 (

( )

+

Main key

·5

)

ASCII *

*

+

+ = Jumlah

InvFLK 4 ( )

(

+6

)

*

FLk (

( )

)

+ FBer ( )

InvFBer 4 ( ) (



·2

)

*

+

. . .

. . .

( )

InvFBer 2 (

. . .

+7

)

FBer *

+

( )

InvFBer 1



·3

( )

*

+

FLk (

( )

)

InvFLK 1 *

·2

( )

*

+

+

ASCII

InvLinear ( )

Gambar 3 Proses Dekripsi

9

Plaintex

Gambar 3 menjelaskan proses dekripsi, garis besar yang akan dijelaskan sebagai berikut: a) Hasil dari Persamaan (59) dimasukkan kedalam Persamaan (37) untuk adalah jumlah bilangan plainteks, sehingga menghasilkan * + (60) b) Hasil dari Persamaan (60) dimasukkan kedalam fungsi invers linear Persamaan (39) dimana memanggil kunci pembangkit dari Persamaan (25) dan nilai dari Persamaan (39) untuk adalah jumlah bilangan plainteks, sehingga menghasilkan * + (61) c) Hasil dari Persamaan (61) dimasukkan kedalam fungsi invers linear Persamaan (40) dimana memanggil kunci pembangkit dari Persamaan (25) dan nilai dari Persamaan (40) untuk adalah jumlah bilangan plainteks, sehingga menghasilkan * + (62) d) Hasil dari Persamaan (62) dimasukkan kedalam fungsi invers linear Persamaan (41) dimana memanggil kunci pembangkit dari Persamaan (25) dan nilai dari Persamaan (41) untuk adalah jumlah bilangan plainteks, sehingga menghasilkan * + (63) e) Hasil dari Persamaan (63) dimasukkan kedalam fungsi invers linear Persamaan (42) dimana memanggil kunci pembangkit dari Persamaan (25) dan nilai dari Persamaan (42) untuk adalah jumlah bilangan plainteks, sehingga menghasilkan * + (64) f) Hasil dari Persamaan (64) dimasukkan kedalam fungsi invers linear Persamaan (43) dimana memanggil kunci pembangkit dari Persamaan (25) dan nilai dari Persamaan (43) untuk adalah jumlah bilangan plainteks, sehingga menghasilkan * + (65) g) Hasil dari Persamaan (65) dimasukkan kedalam fungsi invers linear Persamaan (44) dimana memanggil kunci pembangkit dari Persamaan (25) dan nilai dari Persamaan (44) untuk adalah jumlah bilangan plainteks, sehingga menghasilkan * + (66) h) Hasil dari Persamaan (66) dimasukkan kedalam fungsi invers linear Persamaan (45) dimana memanggil kunci pembangkit dari Persamaan (25) dan nilai dari Persamaan (45) untuk adalah jumlah bilangan plainteks, sehingga menghasilkan * + (67) i) Hasil dari Persamaan (67) dimasukkan kedalam fungsi invers linear Persamaan (46) dimana memanggil kunci pembangkit dari Persamaan (25) dan nilai dari Persamaan (46) untuk adalah jumlah bilangan plainteks, sehingga menghasilkan * + (68)

10

j)

k)

l)

4.

Hasil dari Persamaan (68) dimasukkan kedalam fungsi invers linear Persamaan (47) dimana memanggil kunci pembangkit dari Persamaan (25) dan nilai dari Persamaan (47) untuk adalah jumlah bilangan plainteks, sehingga menghasilkan * + (69) Hasil dari Persamaan (69) dimasukkan kedalam fungsi invers linear Persamaan (48) dan nilai dari Persamaan (48) untuk adalah jumlah bilangan plainteks, sehingga menghasilkan * + (70) Persamaan ( ) diubah kedalam bentuk karakter ASCII sehingga diperoleh kembali plainteks. Hasil dan Pembahasan

Untuk menguji kriptografi kunci simetris, menggunakan logaritma kuadrat dan fungsi bernoulli, dilakukan proses enkripsi dan dekripsi. Proses dilakukan sesuai dengan langkah – langkah yang telah dilakukan pada perancangan. a) b) c)

d)

e)

Plainteks yang digunakan UKSW Kunci yang digunakan FTI08 Menyiapkan kunci yang yang akan dibangkitkan dengan fungsi logaritma kuadrat dan fungsi bernoulli.  Dengan mengambil Persamaan (8) maka menghasilkan bilangan ASCII * + (71)  Dengan mengambil Persamaan (9) maka ( ) (72)  Dengan mengambil Persamaan (10) maka (73) Fungsi logaritma kuadrat yang digunakan untuk pembangkit kunci yang diambil dari Persamaan (13)  Dengan mengambil Persamaan (13) dan masukkan dari Persamaan (73) maka ( ) ( ) (74)  Dengan mengambil nilai Persamaan (74) dan dikalikan 10 untuk setiap angka dibelakang koma, maka (75)  Dengan mengambil Persamaan (75) proses dilanjutkan dengan modulo 127 maka mod 127 = 32 (76) Fungsi bernoulli yang digunakan untuk pembangkit kunci yang diambil dari Persamaan (15)  Dengan mengambil Persamaan (15) dan masukkan dari Persamaan (73) maka (

)

(77)

11



Dengan mengambil Persamaan (77) proses dilanjutkan dengan modulo 127 maka mod 127 = 80 (78) f) Menyiapkan kunci yang digunakan disetiap putaran dengan mengambil dari nilai dari Persamaan (76) dan (78)  Dengan merujuk pada Persamaan (17) dan nilai dari Persamaan (76) dimana = 32 dan p = 2 sehingga (79)  Dengan merujuk pada Persamaan (18) dan nilai dari Persamaan (78) dimana = 80 dan p = 3 sehingga (80)  Dengan merujuk pada Persamaan (19) dan nilai dari Persamaan (78) dimana = 80 dan p = 7 sehingga (81)  Dengan merujuk pada Persamaan (20) dan nilai dari Persamaan (76) dimana = 32 dan p = 4 sehingga (82)  Dengan merujuk pada Persamaan (21) dan nilai dari Persamaan (76) dimana = 32 dan p = 5 sehingga (83)  Dengan merujuk pada Persamaan (22) dan nilai dari Persamaan (78) dimana = 80 dan p = 9 sehingga (84)  Dengan merujuk pada Persamaan (23) dan nilai dari Persamaan (78) dimana = 80 dan p = 2 sehingga (85)  Dengan merujuk pada Persamaan (24) dan nilai dari Persamaan (76) dimana = 32 dan p = 6 sehingga (86)  Dengan merujuk pada Persamaan (25) dan nilai dari Persamaan (76) dimana = 32 dan p = 5 sehingga (87) g) Menyiapkan fungsi linear Setiap proses enkripsi dan dekripsi menggunakan fungsi linear.  Mengambil fungsi linear dari Persamaan (12) dan diakhiri dengan proses modulo 127 sehingga ( ) ( ) (88)  Putaran pertama mengambil fungsi linear Persamaan (27) dan Persamaan ( ) sebagai kunci pembangkit yang dimasukkan dengan = dan = 5 lalu diakhiri dengan proses modulo 127 sehingga ( ) ( )mod 127 (89)  Putaran pertama mengambil fungsi linear Persamaan (28) dan Persamaan ( ) serta Persamaan ( ) sebagai kunci pembangkit yang dimasukkan dengan = dan = 32 lalu diakhiri dengan proses modulo 127 sehingga 12









( ) ( )mod 127 (90) Putaran pertama mengambil fungsi linear Persamaan (29) dan Persamaan ( ) sebagai kunci pembangkit yang dimasukkan dengan = dan = 2 lalu diakhiri dengan proses modulo 127 sehingga ( ) ( )mod 127 (91) Putaran kedua mengambil fungsi linear Persamaan (30) dan Persamaan ( ) sebagai kunci pembangkit yang dimasukkan dengan = dan = 5 lalu diakhiri dengan proses modulo 127 sehingga ( ) ( )mod 127 (92) Putaran kedua mengambil fungsi linear Persamaan (31) dan Persamaan ( ) serta Persamaan ( ) sebagai kunci pembangkit yang dimasukkan dengan = dan = 80 lalu diakhiri dengan proses modulo 127 sehingga ( ) ( )mod 127 (93) Putaran kedua mengambil fungsi linear Persamaan (32) dan Persamaan ( ) sebagai kunci pembangkit yang dimasukkan dengan = dan = 5 lalu diakhiri dengan proses modulo 127 sehingga ( ) ( )mod 127 (94)



h)

Putaran ketiga mengambil fungsi linear Persamaan (33) dan Persamaan ( ) sebagai kunci pembangkit yang dimasukkan dengan = dan = 4 lalu diakhiri dengan proses modulo 127 sehingga ( ) ( )mod 127 (95)  Putaran ketiga mengambil fungsi linear Persamaan (34) dan Persamaan ( ) serta Persamaan ( ) sebagai kunci pembangkit dan = 80 lalu diakhiri dengan yang dimasukkan dengan = proses modulo 127 sehingga ( ) ( )mod 127 (96)  Putaran ketiga mengambil fungsi linear Persamaan (35) dan Persamaan ( ) sebagai kunci pembangkit yang dimasukkan dengan = dan = 17 lalu diakhiri dengan proses modulo 127 sehingga ( ) ( )mod 127 (97) Menyiapkan invers fungsi linear Setiap proses dekripsi menggunakan invers fungsi linear, bentuk secara umumnya yaitu,  Mengambil invers fungsi linear Persamaan (39) dan Persamaan ( ) sebagai kunci pembangkit yang dimasukkan dengan = dan = 17 lalu diakhiri dengan proses modulo 127 sehingga ( ) ( )mod 127 (98)  Mengambil invers fungsi linear Persamaan (40) dan Persamaan ( ) serta Persamaan ( )sebagai kunci pembangkit yang dimasukkan 13

dengan = sehingga 













dan

= 80 lalu diakhiri dengan proses modulo 127

( ) ( )mod 127 (99) Mengambil invers fungsi linear Persamaan (41) dan Persamaan ( ) sebagai kunci pembangkit yang dimasukkan dengan = dan = 4 lalu diakhiri dengan proses modulo 127 sehingga ( ) ( )mod 127 (100) Mengambil invers fungsi linear Persamaan (42) dan Persamaan ( ) dan = sebagai kunci pembangkit yang dimasukkan dengan = 5 lalu diakhiri dengan proses modulo 127 sehingga ( ) ( )mod 127 (101) Mengambil invers fungsi linear Persamaan (43) dan Persamaan ( ) serta Persamaan ( ) sebagai kunci pembangkit yang dimasukkan dengan = dan = 80 lalu diakhiri dengan proses modulo 127 sehingga ( ) ( )mod 127 (102) Mengambil invers fungsi linear Persamaan (44) dan Persamaan ( ) dan = sebagai kunci pembangkit yang dimasukkan dengan = 5 lalu diakhiri dengan proses modulo 127 sehingga ( ) ( )mod 127 (103) Mengambil invers fungsi linear Persamaan (45) dan Persamaan ( ) sebagai kunci pembangkit yang dimasukkan dengan = dan = 2 lalu diakhiri dengan proses modulo 127 sehingga ( ) ( )mod 127 (104) Mengambil invers fungsi linear Persamaan (46) dan Persamaan ( ) serta Persamaan ( )sebagai kunci pembangkit yang dimasukkan dengan = dan = 32 lalu diakhiri dengan proses modulo 127 sehingga ( ) ( )mod 127 (105) Mengambil invers fungsi linear Persamaan (47) dan Persamaan ( ) sebagai kunci pembangkit yang dimasukkan dengan = dan = 5 lalu diakhiri dengan proses modulo 127 sehingga ( ) ( )mod 127 (106)



Mengambil invers fungsi linear Persamaan (48) dengan = 2 dan = 7 lalu diakhiri dengan proses modulo 127 sehingga ( ) ( )mod 127 ( ) i) Menyiapkan Convert Between Base (CBB) yang diambil dari persamaan (36) j) Menyiapkan invers Convert Between Base (CBB) yang diambil dari persamaan (37) Setelah proses persiapan selesai maka proses enkripsi dapat dimulai. Proses yang dilakukan dapat dijelaskan sebagai berikut:

14

a)

b)

c)

d)

e)

f)

g)

h)

i)

j)

k)

Merujuk pada Persamaan (7), maka diperoleh plainteks yang dikonversi menjadi urutan bilangan dalam ASCII * + (108) Baris bilangan dari Persamaan (108) dimasukkan kedalam fungsi linear pada Persamaan (88), dimana setiap nilai dari Persamaan (108) dikalikan dengan = 2 dan ditambah = 7 serta diakhiri dengan proses modulo 127 untuk adalah jumlah bilangan plainteks, sehingga menghasilkan * + (109) Hasil dari Persamaan (109) dimasukkan kedalam fungsi linear Persamaan (89) lalu memanggil kunci pembangkit dari Persamaan (79) untuk adalah jumlah bilangan plainteks, sehingga menghasilkan * + (110) Hasil dari Persamaan (110) dimasukkan kedalam fungsi linear Persamaan (90) lalu memanggil kunci pembangkit dari Persamaan (80) untuk adalah jumlah bilangan plainteks, sehingga menghasilkan * + (111) Hasil dari Persamaan (111) dimasukkan kedalam fungsi linear Persamaan (91) lalu memanggil kunci pembangkit dari Persamaan (81) untuk adalah jumlah bilangan plainteks, sehingga menghasilkan * + (112) Hasil dari Persamaan (112) dimasukkan kedalam fungsi linear Persamaan (92) lalu memanggil kunci pembangkit dari Persamaan (82) untuk adalah jumlah bilangan plainteks, sehingga menghasilkan * + (113) Hasil dari Persamaan (113) dimasukkan kedalam fungsi linear Persamaan (93) lalu memanggil kunci pembangkit dari Persamaan (83) untuk adalah jumlah bilangan plainteks, sehingga menghasilkan * + (114) Hasil dari Persamaan (114) dimasukkan kedalam fungsi linear Persamaan (94) lalu memanggil kunci pembangkit dari Persamaan (84) untuk adalah jumlah bilangan plainteks, sehingga menghasilkan * + (115) Hasil dari Persamaan (115) dimasukkan kedalam fungsi linear Persamaan (95) lalu memanggil kunci pembangkit dari Persamaan (85) untuk adalah jumlah bilangan plainteks, sehingga menghasilkan * + (116) Hasil dari Persamaan (116) dimasukkan kedalam fungsi linear Persamaan (96) lalu memanggil kunci pembangkit dari Persamaan (86) untuk adalah jumlah bilangan plainteks, sehingga menghasilkan * + (117) Hasil dari Persamaan (117) dimasukkan kedalam fungsi linear Persamaan (97) lalu memanggil kunci pembangkit dari Persamaan (87) untuk adalah jumlah bilangan plainteks, sehingga menghasilkan * + (118)

15

l)

) kemudian disubtitusikan ke dalam Persamaan (36), Pada Persamaan ( sehingga diperoleh cipherteks * +

Setelah proses enkripsi selesai dan mendapatkan cipherteks selanjutkan melakukan proses dekripsi untuk mengembalikan cipherteks menjadi plainteks. Proses dijelaskan sebagai berikut: a)

b)

c)

d)

e)

f)

g)

h)

i)

j)

Nilai dari cipherteks kemudian disubtitusikan ke dalam Persamaan (37), sehingga diperoleh * + (119) Hasil dari Persamaan (119) dimasukkan kedalam fungsi invers linear Persamaan (98) lalu memanggil kunci pembangkit dari Persamaan (87) untuk adalah jumlah bilangan plainteks, sehingga menghasilkan * + (120) Hasil dari Persamaan (120) dimasukkan kedalam fungsi invers linear Persamaan (99) lalu memanggil kunci pembangkit dari Persamaan (86) untuk adalah jumlah bilangan plainteks, sehingga menghasilkan * + (121) Hasil dari Persamaan (121) dimasukkan kedalam fungsi invers linear Persamaan (100) lalu memanggil kunci pembangkit dari Persamaan (85) untuk adalah jumlah bilangan plainteks, sehingga menghasilkan * + (122) Hasil dari Persamaan (122) dimasukkan kedalam fungsi invers linear Persamaan (101) lalu memanggil kunci pembangkit dari Persamaan (84) untuk adalah jumlah bilangan plainteks, sehingga menghasilkan * + (123) Hasil dari Persamaan (123) dimasukkan kedalam fungsi invers linear Persamaan (102) lalu memanggil kunci pembangkit dari Persamaan (83) untuk adalah jumlah bilangan plainteks, sehingga menghasilkan * + (124) Hasil dari Persamaan (124) dimasukkan kedalam fungsi invers linear Persamaan (103) lalu memanggil kunci pembangkit dari Persamaan (82) untuk adalah jumlah bilangan plainteks, sehingga menghasilkan * + (125) Hasil dari Persamaan (125) dimasukkan kedalam fungsi invers linear Persamaan (104) lalu memanggil kunci pembangkit dari Persamaan (81) untuk adalah jumlah bilangan plainteks, sehingga menghasilkan * + (126) Hasil dari Persamaan (126) dimasukkan kedalam fungsi invers linear Persamaan (105) lalu memanggil kunci pembangkit dari Persamaan (80) untuk adalah jumlah bilangan plainteks, sehingga menghasilkan * + (127) Hasil dari Persamaan (127) dimasukkan kedalam fungsi invers linear Persamaan (106) lalu memanggil kunci pembangkit dari Persamaan (79) untuk adalah jumlah bilangan plainteks, sehingga menghasilkan 16

* + (128) Hasil dari Persamaan (128) dimasukkan kedalam fungsi invers linear Persamaan (107) untuk adalah jumlah bilangan plainteks, sehingga menghasilkan * + (129) ) kemudian diubah ke dalam bentuk karakter sesuai ASCII Persamaan ( sehingga diperoleh plainteks UKSW.

k)

l)

Berdasarkan penjelasan diatas, terbukti bahwa perancangan kriptografi simetris menggunakan logaritma kuadrat dan fungsi bernoulli dapat melakukan proses enkripsi dan dekripsi, sehingga dapat dikatakan sebagai sebuah sistem kriptografi. Stinson [6], menyatakan bahwa sebuah kriptografi harus memenuhi 5 tuple P, C, K, E, D. Oleh karena itu akan ditunjukkan perancangan ini memenuhi kelima kondisi tersebut. 







P adalah himpunan berhingga dari plainteks. Rancangan kriptografi ini menggunakan plainteks berupa 127 karakter yang ekuivalen dengan ASCII, dan bilangan ASCII adalah sekumpulan karakter yang sebanding dengan jumlah bilangan yang semuanya terbatas dalam sebuah himpunan yang berhingga. Maka himpunan plainteks pada perancangan kriptografi simetris adalah himpunan berhingga. C adalah himpunan berhingga dari cihperteks. Cipherteks dihasilkan dalam elemen bit (bilangan 0 dan 1). Karena himpunan cipherteks hanya {0,1}, maka himpunan cipherteks yang dihasilkan pada perancangan kriptografi simetris merupakan elemen terbatas karena hanya menghasilkan elemen bit. K merupakan ruang kunci (Keyspace), adalah himpunan berhingga dari kunci. Penggunaan logaritma kuadrat bernoulli adalah fungsi dan kunci yang digunakan dalam proses kriptografi. Maka dari itu kunci yang digunakan dalam perancangan ini adalah ruang kunci. Untuk setiap , terdapat aturan enkripsi dan berkorespodensi dengan aturan dekripsi Setiap dan adalah fungsi sedemikian hingga ( ( )) untuk setiap plainteks Kondisi ke-4 ini secara menyeluruh, terdapat kunci yang dapat melakukan proses enkripsi sehingga merubah plainteks menjadi cipherteks dan dapat melakukan proses dekripsi yang merubah cipherteks ke plainteks. Sebelumnya telah dibuktikan dengan plainteks UKSW juga dapat melakukan proses enkripsi dan dekripsi dengan merubah cipherteks menjadi plainteks. Perancangan ini telah memenuhi tuple ini.

Berdasarkan penjelasan diatas, terbukti bahwa proses perancangan kriptografi menggunakan fungsi logaritma kuadrat dan bernoulli serta dapat melakukan proses enkripsi dan dekripsi dengan merubah plainteks ke cipherteks begitu sebaliknya, maka modifikasi kriptografi ini memenuhi syarat sebuah sistem kriptografi.

17

Aplikasi kriptografi kunci simetris dapat melakukan proses enkripsi dan dekripsi pada data teks yang menghasilkan cipherteks dalam bentuk bilangan bit biner. Aplikasi menggunakan logaritma kuadrat dan fungsi bernoulli sebagai pembangkit kunci pada proses enkripsi dan dekripsi. Setiap proses putaran menggunakan fungsi linier dan invers fungsi linear sebanyak tiga putaran dengan menggunakan kunci yang sudah dibangkitkan.

Gambar 4 Proses Enkripsi

Gambar 4 merupakan tampilan proses enkripsi dan dekripsi. Plainteks yang dimasukkan yaitu UKSW. Kunci dimasukkan kata FTI08 lalu proses enkripsi dimulai dengan menekan tombol “Enkripsi” sehingga menghasilkan cipherteks dalam bentuk bit biner. Proses dekripsi membutuhkan masukkan kunci yang sama pada proses enkripsi kemudian tekan tombol “Dekripsi”. Dalam inputan kunci tidak dapat menggunakan karakter spasi. Sedangkan panjang plainteks yang telah dicoba sampai sebanyak 2000 karakter, namun batasan inputan plainteks belum diketahui. Jumlah kunci yang dimaksukkan dapat melebihi jumlah plainteks. Berikut ini akan ditunjukkan grafik pengujian banyak pesan teks terhadap waktu dan memori. Hasil uji perancangan kriptografi kunci simetris ini dibandingkan dengan penelitian terdahulu yaitu perancangan kriptografi kunci simetris menggunakan akar kubik fungsi linear dan fungsi Chebyshev orde 2.

18

70 63,25

60

Memori (M)

50

43,6

63,25

43,6

40 30 25,75 25,75 25,75 25,75 15,55 15,55 15,55 20 15,5

25,75 15,55

10 0 0

200

400

600

Karakter Plainteks

KLB

800

1000

KAC

Gambar 5 Pengujian Banyak Pesan Teks terhadap Memori

8

5,5

6 Waktu (s)

7,5

7,3

7

5,5

5 4,4

4

3,53,6 3,7 3 2,23 2,232,27 2,3

3,9 2,6

2 1 0 0

200

400

600

Karakter Plainteks

KLB

800

1000

KAC

Gambar 6 Pengujian Banyak Pesan Teks terhadap Waktu

Berdasarkan Gambar 5 dan Gambar 6 terlihat bahwa ada perbedaan dalam penggunaan memori dan waktu. Pada perancangan kriptografi ini (KLB) terjadi peningkatan waktu dan memory yang signifikan pada inputan plainteks 400 sampai dengan 800, hal tersebut dikarenakan fungsi linear yang digunakan dalam setiap putaranya. Pada penelitian yang terdahulu (KAC) juga terjadi fenomena yang sama, tetapi alokasi waktu dan memory yang digunakan lebih banyak karena kunci CBB yang digunakan lebih besar dari kriptografi (KLB).

19

Tabel 1 Nilai Kemiringan Waktu dan Memory dengan Plainteks

Nilai Kemiringan Waktu dengan Plainteks Plainteks KLB KAC 10 - 50 0 0,0025 50 - 100 0,001 0,002 100 - 200 0,0003 0,002 200 - 400 0,0015 0,0025 400 - 800 0,0075 0,00725 800 - 100 0 0,001

Nilai Kemiringan Memory dengan Plainteks Plainteks KLB KAC 10 - 50 0 0 50 - 100 0 0 100 - 200 0 0 200 - 400 0 0 400 - 800 0,070125 0,09375 800 - 100 0 0

Berikut contoh perhitungan nilai kemiringan waktu dengan plainteks data pertama pada Tabel 1 adalah . Inputan plainteks dari 400 sampai dengan 800 pada (KLB) terdapat kemiringan 0,0075, sedangkan pada (KAC) sebesar 0,00725. Penggunaan waktu dan memory pada (KLB) lebih sedikit dibandingkan dengan (KAC). Meskipun pada (KLB) menggunakan fungsi bernoulli dan logaritma kuadrat yang menghasilkan nilai yang besar tetapi hasil tersebut dilakukan proses modulo 127 sehingga menjadi lebih kecil, dan nilai tersebut yang di masukkan dalam setiap putaran. 5.

Simpulan

Dari hasil penelitian kriptografi kunci simetris menggunakan, fungsi logaritma kuadrat dan fungsi Bernoulli sebagai kunci pembangkit dapat melakukan proses enkripsi dan dekripsi, sehingga dapat dikatakan sebagai sebuah sistem kriptografi karena sudah memenuhi 5 tuple P, C, K, E, D. Cipherteks yang dihasilkan dalam modifikasi berupa bilangan bit sehingga dapat disejajarkkan dengan metode kriptografi modern lainya yang menghasilkan cipherteks dalam bentuk bit biner. 6.

Daftar Pustaka

[1]

Rachmawati, M. V. & Wowor, A. D. 2013. Penggunaan Fungsi Rasional, Logaritma Kuadrat, dan Polinomial orde- dalam Modifikasi Kriptografi. Salatiga: Skripsi-S1 Sarjana Universitas Kristen Satya Wacana. Singh, R. P. & Sarma, B. K. 2013. Public key cryptography using Permutation P-Polynomials over Finite Fields. Guwahati: Indian Institute of Technology. Stewart, James. 2008. Kalkulus, Erlangga: Jakarta Maplesoft. 2012. Bernoulli: compute Bernoulli numbers and polynomials, Maple-16, Waterloo: Waterloo Maple Inc. Maplesoft. 2012. Convert/Base: Convert Between Base, Maple-16, Waterloo: Waterloo Maple Inc.

[2]

[3] [4] [5]

20

[6]

Stinson, D.R. 1995. Cryptography Theory and Practice. Florida: CRC Press, Inc.

21