1 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 p-polinomial 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 :
2
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.
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 analisa-analisa hasil yang dapat diambil dari modifikasi yang telah dilakukan; Tahap
Pengumpulan bahan
Perancangan Kriptografi Simetris
Uji Hasil Perancangan
3
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.
Gambar 2 Proses Enkripsi
4
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) Menyiapkan plainteks
Masukkan plainteks yang akan dienkripsi. n adalah jumlah plainteks.
(7)
b) 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)
c) 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) d) 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) e) 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.
∑
(15) f) 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)
5
(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)
g) 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
6
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)
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)
h) 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
7
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 sebagai kunci pembangkit yang dimasukkan dengan = dan = 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
mod 127 (45)
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)
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: a) Baris bilangan dari Persamaan (7) dimasukkan kedalam fungsi linear pada
8
(49)
b) 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)
c) 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)
d) 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)
e) 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)
f) 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)
g) 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)
h) 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)
i) 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)
j) 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
9
k) Hasil dari Persamaan (58) dimasukkan kedalam Persamaan (36) untuk adalah jumlah bilangan cipherteks, sehingga menghasilkan
(59)
Gambar 3 Proses Dekripsi
InvFLK 1
InvLinear
Plaintex ASCII
FLk
. . .
. . .
InvFBer 2
InvFBer 1
+7
FLk
·2 ·3
Ciphertext InvCBB
FLK 5
InvFBer 4
InvFLK 4
Main key ASCII
= Jumlah
·2 +6 ·5
∑
FBer
∑
FBer
10
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
11
j) 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)
k) Hasil dari Persamaan (69) dimasukkan kedalam fungsi invers linear Persamaan (48) dan nilai dari Persamaan (48) untuk adalah jumlah bilangan plainteks, sehingga menghasilkan
(70) l) Persamaan diubah kedalam bentuk karakter ASCII sehingga diperoleh
kembali plainteks.
4. 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) Plainteks yang digunakan UKSW b) Kunci yang digunakan FTI08
c) 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)
d) 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) e) Fungsi bernoulli yang digunakan untuk pembangkit kunci yang diambil dari
Persamaan (15)
Dengan mengambil Persamaan (15) dan masukkan dari Persamaan (73) maka
12
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)
13
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)
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 yang dimasukkan dengan = dan = 80 lalu diakhiri 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)
h) 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)
14
dengan = dan = 80 lalu diakhiri dengan proses modulo 127 sehingga
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 sebagai kunci pembangkit yang dimasukkan dengan = dan = 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 sebagai kunci pembangkit yang dimasukkan dengan = dan = 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)
15
a) Merujuk pada Persamaan (7), maka diperoleh plainteks yang dikonversi menjadi urutan bilangan dalam ASCII
(108)
b) 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)
c) 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)
d) 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)
e) 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)
f) 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)
g) 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)
h) 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)
i) 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)
j) 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)
k) Hasil dari Persamaan (117) dimasukkan kedalam fungsi linear Persamaan (97) lalu memanggil kunci pembangkit dari Persamaan (87) untuk adalah jumlah bilangan plainteks, sehingga menghasilkan
16
l) Pada Persamaan kemudian disubtitusikan ke dalam Persamaan (36), sehingga diperoleh cipherteks
Setelah proses enkripsi selesai dan mendapatkan cipherteks selanjutkan melakukan proses dekripsi untuk mengembalikan cipherteks menjadi plainteks. Proses dijelaskan sebagai berikut:
a) Nilai dari cipherteks kemudian disubtitusikan ke dalam Persamaan (37), sehingga diperoleh
(119)
b) 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)
c) 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)
d) 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)
e) 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)
f) 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)
g) 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)
h) 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)
i) 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)
17
(128)
k) Hasil dari Persamaan (128) dimasukkan kedalam fungsi invers linear Persamaan (107) untuk adalah jumlah bilangan plainteks, sehingga menghasilkan
(129)
l) Persamaan kemudian diubah ke dalam bentuk karakter sesuai ASCII sehingga diperoleh plainteks UKSW.
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.
18
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.
19
Gambar 5 Pengujian Banyak Pesan Teks terhadap Memori
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).
15,5 15,55 15,55 15,55 15,55
43,6 43,6
25,75 25,75 25,75 25,75 25,75
63,25 63,25
0 10 20 30 40 50 60 70
0 200 400 600 800 1000
M
e
m
o
ri
(
M
)
Karakter Plainteks KLB KAC
2,23 2,23 2,27 2,3 2,6
5,5 5,5
3,5 3,6 3,7 3,9
4,4
7,3 7,5
0 1 2 3 4 5 6 7 8
0 200 400 600 800 1000
Waktu
(
s)
20
Tabel 1 Nilai Kemiringan Waktu dan Memory dengan Plainteks
Nilai Kemiringan Waktu dengan Plainteks
Nilai Kemiringan Memory dengan Plainteks
Plainteks KLB KAC Plainteks KLB KAC
10 - 50 0 0,0025 10 - 50 0 0
50 - 100 0,001 0,002 50 - 100 0 0
100 - 200 0,0003 0,002 100 - 200 0 0
200 - 400 0,0015 0,0025 200 - 400 0 0
400 - 800 0,0075 0,00725 400 - 800 0,070125 0,09375
800 - 100 0 0,001 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.
[2] Singh, R. P. & Sarma, B. K. 2013. Public key cryptography using
Permutation P-Polynomials over Finite Fields. Guwahati:Indian Institute of
Technology.
[3] Stewart, James. 2008. Kalkulus, Erlangga: Jakarta
[4] Maplesoft. 2012. Bernoulli: compute Bernoulli numbers and polynomials, Maple-16, Waterloo: Waterloo Maple Inc.
21