1. Pendahuluan Sebuah kerahasian informasi sangatlah penting dalam layanan email, dengan adanya isu yang memberitahukan tentang National Security Agency (NSA) yang menyadap aliran informasi pengguna sangat merugikan beberapa pihak. Contoh yang terjadi pada Yahoo baru-baru ini yang dikabarkan menjadi salah satu korban penyadapan, ini menjelaskan bahwa kurangnya keamanan yang dibuat sehingga berdampak buruk. Oleh karena itu pentingnya digunakan sebuah keamanan seperti yang dilakukan Yahoo dengan mengenkripsi webmail secara default adalah tindakan yang baik untuk mengatasi penyadapan [1]. Untuk mendapat kerahasiaan pada saat sender mengirim email ke tujuan memerlukan sebuah tindak keamanan dari awal pengiriman dengan mengenkripsi pesan teks tersebut dengan menggunakan kriptografi. Agar membuat kriptografi tersebut menjadi lebih susah utuk dipecahkan dibutuhkan kunci sebagai enkripsi dan dekripsi dimana pada saat pesan dikirim terlebih dahulu dikunci dan membukanya kembali dengan kunci yang sama. Sehubungan dengan latar belakang tersebut, maka akan dirancang sebuah teknik kriptografi simetris dengan menggunakan fungsi polinomial orde-5, dan fungsi Arctan sebagai kunci dalam proses enkripsi dan dekripsi. Proses enkripsi dan dekripsi dirancang sebanyak tiga putaran dan cipherteks yang dihasilkan dalam bentuk elemen bit. Hasil perancangan ini dapat digunakan sebagai alat untuk mengamankan pesan rahasia, terutama dalam karakter teks. 2. Tinjauan Pustaka Penelitian sebelumnya yang berjudul Perancangan Kriptografi Kunci Simetris Menggunakan Fungsi Bessel dan Fungsi Legendre. Pada penelitian ini membahas mengenai merancang sebuah kriptografi kunci simetris menggunakan fungsi Bessel dan fungsi Legendre yang menghasilkan bilangan pecahan desimal. Bilangan pecahan desimal memiliki keunikan tersendiri karena memiliki sisa bagi. Selain itu chipertext dirancang dalam bentuk bit sehingga mempersulit kriptanalis untuk dapat mengkritanalisis pesan rahasia. Hasil rancangan ini dapat menjadi alternatif dimana banyak kriptografi yang dapat dikriptanalis [2]. Penelitian lainnya dengan judul Rancangan Algoritma Kriptografi Simetri Dengan Menggunakan Derivasi Algoritma Klasik Subtitusi. Penelitian ini membahas mengenai rancangan algoritma kriptografi kunci simetris dengan menggunakan derivasi algoritma kriptografi klasik, yaitu algoritma subtitusi abjad-tunggal dan algoritma Caesar Cipher. Algoritma ini diharapkan dapat menambah tingkat keamanan dari algoritma kriptografi klasik, yang sangat rentan terhadap exhaustive key search, pendekatan analisa frekuensi dan metode Kasiski, terutama jika pesan yang disandikan adalah pesan panjang. Selain bertujuan untuk meningkatkan keamanan, algoritma ini juga dirancang sedemikian sehingga faktor kesederhanaan dari algoritma subtitusi klasik tetap terjaga, sehingga praktis dan mudah diaplikasikan [3]. Perbedaan penelitian ini dengan penelitian sebelumnya adalah merancang sebuah teknik kriptografi yang baru dengan menggunakan fungsi polinomial orde-
1
5 dan fungsi Arctan pada kunci simetris dalam proses enkripsi dan dekripsi, selain itu perancangan simetris menggunakan fungsi tambahan yaitu fungsi linear yang akan digunakan dalam proses perputaran satu sampai putaran tiga. Dalam setiap putaran akan dibangkitkan tiga kunci dengan menggunakan fungsi Arctan dan polinomial orde-5, perancangan sistem ini bertujuan untuk keamanan data, terutama dalam karakter teks. Kriptografi (cryptography) berasal dari Bahasa Yunani: “cryptos” artinya “secret” (rahasia), sedangkan “graphein” artinya “writing” (tulisan). Jadi, kriptografi berarti “secret writing” (tulisan rahasia). Ada beberapa definisi kriptografi yang telah dikemukakan di dalam berbagai literatur. Definisi yang dipakai di dalam buku-buku yang lama (sebelum tahun 1980-an) menyatakan bahwa kriptografi adalah ilmu dan seni untuk menjaga kerahasiaan pesan dengan cara menyandikannya ke dalam bentuk yang tidak dapat dimengerti lagi maknanya. Definisi ini mungkin cocok pada masa lalu di mana kriptografi digunakan untuk keamanan komunikasi penting seperti komunikasi di kalangan militer, diplomat, dan mata-mata. Namun saat ini kriptografi lebih dari sekedar privacy, tetapi juga untuk tujuan data integrity, authentication, dan nonrepufiation [4]. Berdasarkan kunci yang digunakan, algoritma kriptografi dapat dibedakan atas dua jenis yaitu algoritma simetrik (symmetric) dan asimetrik (asymmetric). Kriptografi kunci simetris disebut juga kunci rahasia yang menggunakan satu kunci untuk proses enkripsi dan dekripsi [5]. Perancangan teknik kriptografi ini merupakan kriptografi kunci simetris yang menggunakan fungsi Polinomial orde-5 dan fungsi Arctan. Sebuah polinomial dalam satu variabel dengan koefisien konstanta memiliki bentuk seperti pada Persamaan (1). ( ) (1) Pangkat tertinggi pada suatu polinominal menunjukkan orde atau derajat dari polinomial tersebut. Pada Persamaan (1) merupakan variabel yang akan digunakan dalam perhitungan untuk menghasilkan bilangan yang akan digunakan sebagai kunci polinomial. Nilai yang digunakan pada koefisien dan konstanta adalah nilai yang ditentukan sendiri, untuk bilangan lainnya belum dilakukan penelitian secara dalam. 0 adalah angka yang tidak dapat digunakan pada koefisien dan konstanta. Fungsi kedua yang digunakan dalam perancangan ini menggunakan fungsi Arctan memiliki dua variabel dengan koefisien konstanta memiliki bentuk seperti Persamaan (2). (
)
(
√
)
(2)
Pada Persamaan (2) memiliki dua variabel yaitu dan dimana variabel tersebut akan digunakan dalam perhitungan untuk menghasilkan bilangan yang akan digunakan sebagai kunci Arctan. Pemilihan fungsi Arctan dan Polinomial orde-5 sebagai kunci karena fungsi tersebut merupakan fungsi transenden. Linear telah terpecahkan dengan kriptanalis brute-force attack sehingga fungsi yang digunakan yaitu fungsi Arctan dan Polinomial orde-5, dimana kedua fungsi ini termasuk fungsi transenden yang
2
memiliki bentuk non-linear dengan ini fungsi yang digunakan dapat mempersulit kriptanalis untuk memecahkannya. Perancangan teknik kriptografi ini menggunakan fungsi linear sebagai fungsi tambahan untuk proses perputaran satu sampai putaran tiga dengan menggunakan fungsi polinomial orde-5 dan Arctan sebagai kunci. Fungsi linear merupakan sebuah Persamaan aljabar yang setiap sukunya mengandung konstanta dengan variabel yang berpangkat satu. Eksistensi dan keunikan dari Persamaan linear yaitu hubungan matematis tersebut dapat digambarkan sebagai garis lurus dalam koordinat kartesius [6]. Secara umum diberikan pada Persamaan (3). ( ) (3) Perancangan Kriptografi melibatkan banyak proses perhitungan, selain menggunakan kedua kunci pada Persamaan (1) dan Persamaan (2) juga digunakan Convert Between Base ( ) yang secara umum diberikan pada definisi sebagai berikut : Definisi 1. Konversi sembarang bilangan positif s berbasis 10 ke basis. Secara umum notasinya [7]. ( ) (4) Definisi 2. Konversi dari urutan bilangan (list digit) dalam basis ke basis . Secara umum dinotasikan [7], ( ) (5) Dengan jumlahan urutan bilangan (jumlahan ) mengikuti aturan, ( ) ∑ (6) dimana ( ) adalah nilai terakhir dari urutan bilangan . dan adalah bilangan positif. Nilai yang diperoleh merupakan kumpulan urutan bilangan dalam basis . Setelah perancangan ini dapat melakukan proses enkripsi-dekripsi sehingga secara umum menjadi sebuah kriptografi dan memenuhi syarat-syarat sebagai sistem kriptografi. Selanjutnya menjelaskan secara rinci bagaimana perancangan ini memenuhi sebuah sistem kriptografi. Untuk merancang sebuah kriptografi harus memenuhi 5 tuple yaitu [7]. P adalah himpunan berhingga dari plainteks C adalah himpunan berhingga dari cipherteks K merupakan ruang kunci/keyspace, adalah himpunan berhingga dari kunci Untuk setiap , terdapat aturan enkripsi dan berkorespondensi dengan aturan dekripsi Setiap dan adalah ( )) untuk setiap plainteks fungsi sedemikian hingga ( 3.
Metode Penelitian
Penelitian yang dilakukan, diselesaikan melalui tahapan penelitian yang terbagi dalam lima tahapan, yaitu Pengumpulan Bahan, Analisis Kebutuhan, Implementasi Kriptografi Simetris, Uji Hasil Implementasi, Penulisan Laporan, seperti ditunjukkan pada Gambar 1.
3
Pengumpulan Bahan
Analisis Kebutuhan
Implementasi Kriptografi Simetis
Uji Hasil Implementasi
Penulisan Laporan Gambar 1 Tahapan Penelitian
Tahapan penelitian pada Gambar 1, dijelaskan sebagai berikut. Tahap pertama: pengumpulan bahan, yaitu melakukan pengumpulan bahan yang berkaitan dengan penelitian yang akan dilakukan terhadap permasalahan yang ada misalnya mendapatkan data dan literatur yang terkait dengan proses enkripsi dan dekripsi pada data teks menggunakan kriptografi simetris, fungsi linear, fungsi polinomial orde-5, dan fungsi Arctan melalui dokumen dan referensi yang tersedia; Tahap kedua: analisis kebutuhan, yaitu menganalisis kebutuhan apa saja yang diperlukan dalam memulai penelitian perancangan kriptografi simetris dengan menggunakan fungsi linear sebagai proses putaran, fungsi polinomial orde-5, dan fungsi Arctan sebagai kunci; Tahap ketiga: implementasi kripografi simetris, yaitu mengimplementasi kriptografi menggunakan kriptografi simetris dengan menggunakan fungsi polinomial orde-5 dan fungsi Arctan yang akan digunakan dalam proses enkripsi dan dekripsi; Tahap keempat: uji hasil implementasi, apabila implementasi teknik kriptografi sudah selesai, maka akan dilakukan pengujian serta analisis terhadap perancangan kriptografi; Tahap kelima: laporan penelitian, yaitu mendokumentasikan proses penelitian yang sudah dilakukan dari tahap awal hingga akhir ke dalam tulisan yang nantinya akan menjadi laporan hasil penelitian. Dalam perancangan ini dilakukan dua proses yaitu proses enkripsi dan dekripsi. Proses enkripsi pada perancangan kriptografi ini dilakukan dengan melakukan proses sebanyak tiga kali ditunjukkan dalam Gambar 2.
4
Plainteks
Ascii
C1={d1,..., do}
(
ARCTAN 1
P u t a r a n
)
(
)
FL 1
FL 2
FL 3
f1(x)=(ax+b)mod127
f2(x)=(ax+b)mod127
f3(x)=(ax+b)mod127
C4={l1,..., lm}
C3={k1,..., km}
C2={h1,..., hm}
1 FPO5 1 ( )
( (
ARCTAN 2
P u t a r a n
) )
(
)
FL 4
FL 5 f5(x)=(ax+b)mod127
FL 6 f4(x)=(ax+b)mod127
f6(x)=(ax+b)mod127
C5={o1,..., om}
C6={q1,..., qm}
C7={r1,..., rm}
2 FPO5 2 ( )
( (
ARCTAN 3
P u t a r a n
) )
(
)
FL 7
FL 8
FL 9
f7(x)=(ax+b)mod127
f8(x)=(ax+b)mod127
f9(x)=(ax+b)mod127
C10={ ϑ1,..., ϑm}
C9={u1,..., um}
C8={t1,..., tm}
3 FPO5 3 ( ) K={c1,..., cn}
(
)
Ascii Cipherteks Mainkey
Gambar 2 Proses Enkripsi
5
CBB
Gambar 2 merupakan proses enkripsi pada perancangan yang dilakukan. Tahap persiapan dan langkah-langkah proses enkripsi dan dekripsi implementasi simetris secara garis besar, dijelaskan sebagai berikut. Tahap Persiapan a) Menyiapkan Plainteks Siapkan plainteks yang akan dienkripsi. * + (7) Dimana m adalah banyaknya karakter Plainteks. b) Menyiapkan kunci utama (Mainkey). Mainkey didapat dari karakter kunci utama diubah menjadi bilangan ASCII, kemudian bilangan-bilangan tersebut dijumlahkan dan diperoleh * + (8) ( ) (9) (10) Dimana n adalah banyaknya karakter Mainkey. c) Menyiapkan Fungsi Arctan, digunakan sebagai kunci proses perputaran satu sampai putaran tiga dan proses convert between base ( ). Hasil Persamaan (9) digunakan untuk nilai dan hasil Persamaan (10) digunakan untuk nilai . ( ) ( ) (11) d) Menyiapkan Fungsi Polinomial Orde-5, digunakan sebagai kunci proses perputaran satu sampai putaran tiga. Dimana , , dan . ( ) ( ) (12) e) Menyiapkan kunci tambahan sampai yang dibangkitkan dari kunci Arctan dan polinomial orde-5 untuk proses enkripsi dan dekripsi (13) Dimana adalah banyaknya kunci yang dibangkitkan pada perputaran satu sampai putaran tiga. - Pada putaran pertama, kunci dibangkitkan berdasarkan Persamaan (13) dimana dan diperoleh (14) - Pada putaran pertama, kunci dibangkitkan berdasarkan Persamaan (13) dimana dan diperoleh (15) - Pada putaran pertama, kunci dibangkitkan berdasarkan Persamaan (13) dimana dan diperoleh (16) - Pada putaran kedua, kunci dibangkitkan berdasarkan Persamaan (13) dan diperoleh dimana (17) - Pada putaran kedua, kunci dibangkitkan berdasarkan Persamaan (13) dimana dan diperoleh (18)
6
-
Pada putaran kedua, kunci dibangkitkan berdasarkan Persamaan (13) dimana dan diperoleh (19) - Pada putaran ketiga, kunci dibangkitkan berdasarkan Persamaan (13) dimana dan diperoleh (20) - Pada putaran ketiga, kunci dibangkitkan berdasarkan Persamaan (13) dimana dan diperoleh (21) - Pada putaran ketiga, kunci dibangkitkan berdasarkan Persamaan (13) dan diperoleh dimana (22) f) Menyiapkan Fungsi Linear yang berbeda, digunakan untuk proses perputaran satu sampai putaran tiga pada proses enkripsi. - Pada putaran pertama fungsi linear satu diperoleh dari Persamaan (3) dan kemudian di, diperoleh dimana ) ( ) ( (23) - Pada putaran pertama fungsi linear kedua diperoleh dari Persamaan (3) dan kemudian di, dimana diperoleh ( ) -
-
-
-
-
)
(24)
(
)
(29)
Pada putaran ketiga fungsi linear kedelapan diperoleh dari Persamaan (3) dimana dan ( )
-
)
Pada putaran pertama fungsi linear ketiga diperoleh dari Persamaan (3) dimana dan kemudian di, diperoleh ) ( ) ( (25) Pada putaran kedua fungsi linear keempat diperoleh dari Persamaan (3) dimana dan kemudian di, diperoleh ) (26) ( ) ( Pada putaran kedua fungsi linear kelima diperoleh dari Persamaan (3) diman dan kemudian di, diperoleh ) ( ) ( (27) Pada putaran kedua fungsi linear keenam diperoleh dari Persamaan (3) diman dan kemudian di, diperoleh ) ( ) ( (28) Pada putaran ketiga fungsi linear ketujuh diperoleh dari Persamaan (3) diman dan ( )
-
((
((
)
)
(30)
Pada putaran ketiga fungsi linear kesembilan diperoleh dari Persamaan (3) dimana dan
7
( )
((
)
)
(31)
g) Menyiapkan fungsi convert between base ( ) untuk mengubah ke dalam bentuk bit secara umum. dan adalah 2 Dimana adalah plainteks, adalah ( ) (32) Proses Enkripsi Setelah tahap persiapan selesai dilakukan maka selanjutnya adalah proses enkripsi, dijelaskan sebagai berikut : a) Plainteks ( ) dikonversi ke dalam kode ASCII merujuk pada Persamaan (7) diperoleh * + (33) Dimana m adalah banyaknya karakter plainteks. b) Kunci utama (Mainkey) dikonversi ke dalam bilangan ASCII dan dijumlahkan merujuk pada Persamaan (9), diperoleh ( ) (34) c) Mainkey dimerujuk pada Persamaan (10), diperoleh ( ) (35) d) Merujuk pada Persamaan (11) maka diperoleh hasil dari Arctan yang akan digunakan dalam proses perputaran satu sampai putaran tiga dan proses convert between base ( ). ( ) (36) e) Hasil dari Persamaan (36) disubtitusikan dengan Persamaan (12) diperoleh hasil dari polinomial orde-5 yang kemudian akan digunakan di dalam proses perputaran satu sampai putaran tiga. ( ) (37) f) Hasil dari Persamaan (33) disubtitusikan dengan Persamaan (14) kemudian disubtitusikan ke dalam fungsi linear pertama, merujuk pada Persamaan (23) dimana m adalah banyaknya karakter plainteks, diperoleh * + (38) g) Hasil dari Persamaan (38) disubtitusikan dengan Persamaan (15) kemudian disubtitusikan ke dalam fungsi linear kedua, merujuk pada Persamaan (24) dimana m adalah banyaknya karakter plainteks, diperoleh * + (39) h) Hasil dari Persamaan (39) disubtitusikan dengan Persamaan (16) kemudian disubtitusikan ke dalam fungsi linear ketiga, merujuk pada Persamaan (25) dimana m adalah banyaknya karakter plainteks, diperoleh * + (40) i) Hasil dari Persamaan (40) disubtitusikan dengan Persamaan (16) dan Persamaan (17) kemudian disubtitusikan ke dalam fungsi linear keempat, merujuk pada Persamaan (26) dimana m adalah banyaknya karakter plainteks, diperoleh * + (41)
8
j) Hasil dari Persamaan (41) disubtitusikan dengan Persamaan (18) kemudian disubtitusikan ke dalam fungsi linear kelima, merujuk pada Persamaan (27) dimana m adalah banyaknya karakter plainteks, diperoleh * + (42) k) Hasil dari Persamaan (42) disubtitusikan dengan Persamaan (19) kemudian disubtitusikan ke dalam fungsi linear keenam, merujuk pada Persamaan (28) dimana m adalah banyaknya karakter plainteks, diperoleh * + (43) l) Hasil dari Persamaan (43) disubtitusikan dengan Persamaan (19) dan Persamaan (20) kemudian disubtitusikan ke dalam fungsi linear ketujuh, merujuk pada Persamaan (29) dimana m adalah banyaknya karakter plainteks, diperoleh * + (44) m) Hasil dari Persamaan (44) disubtitusikan dengan Persamaan (21) kemudian disubsitusikan ke dalam fungsi linear kedelapan, merujuk pada Persamaan (30) dimana m adalah banyaknya karakter plainteks, diperoleh * + (45) n) Hasil dari Persamaan (45) disubtitusikan dengan Persamaan (22) kemudian disubtitusikan ke dalam fungsi linear kesembilan, merujuk pada Persamaan (31) dimana m adalah banyaknya karakter plainteks, diperoleh * + (46) Hasil dari proses terakhir diambil kemudian dijadikan sebagai ( ) yang akan dilakukan proses convert between base ( ), dimana ( ) dan ( )dimana m adalah banyaknya karakter plainteks, sehingga diperoleh cipherteks * + (47)
9
Cipherteks
C11={ζ1,...,ζm}
CBB Mainkey
K={Z1,..., Zn}
Ascii
ARCTAN 3
P u t a r a n
(
)
(
)
FL 7
FL 8
FL 9
( )=(ax-b)mod127
( )=(ax-b)mod127
( )=(ax-b)mod127
P8={G1,..., Gm}
P9={F1,..., Fm}
P10={E1,..., Em}
3 FPO5 3 ( )
(
ARCTAN 2
P u t a r a n
) (
)
(
)
FL 6
FL 5
FL 4 ( )=(ax-b)mod127
P5={J1,..., Jm}
( )=(ax-b)mod127
( )=(ax-b)mod127
P6={I1,..., Im}
P7={H1,..., Hm}
2 FPO5 2 ( )
(
ARCTAN 1
P u t a r a n
) (
)
(
)
FL 1
FL 2
FL 3 ( )=(ax-b)mod127
P4={L1,..., Lm}
( )=(ax-b)mod127
( )=(ax-b)mod127
P3={M1,..., Mm}
P2={e1,..., em}
1 FPO5 1 ( )
(
)
ASCII
Plainteks
Gambar 3 Proses Dekripsi
10
P1={O1,..., Om}
Gambar 3 menunjukkan proses dekripsi dari perancangan kriptografi simetris ini. Proses dekripsi merupakan proses kebalikan dari proses enkripsi dimana cipherteks yang diperoleh dikonversi balik menggunakan polinomial orde-5 dan Arctan, kemudian dikonversi ke dalam kode ASCII sehingga output yang dihasilkan berupa teks yang berkorespodensi dengan cipherteks. Tahap persiapan dan langkah-langkah proses dekripsi yang dirancang, dijelaskan sebagai berikut. Tahap Persiapan a) Menyiapkan invers fungsi linear Selanjutnya untuk proses dekripsi memerlukan invers linear, inver fungsi linear dari Persamaan (23) sampai persamaan (31), sebagai berikut ( ) ( ( ) ) (48) ( )
(
)
(49)
( )
(
)
(50)
( )
(
( )
(
( )
(
( )
(
( )
(
)
(51) )
(52) )
(53)
) (
(54) )
)
(55)
( )
( ) b) Menyiapkan Invers Fungsi convert between base ( ke dalam bentuk plainteks kembali. Dimana adalah cipherteks, adalah 2 dan adalah ( )
(56) ) untuk mengubah
(57)
Proses Dekripsi Setelah tahap persiapan selesai dilakukan maka selanjutnya adalah proses dekripsi, dijelaskan sebagai berikut : a) merujuk pada Persamaan (47) diambil kemudian disubtitusikan kembali ke dalam proses ( ), dimana basis sebagai ( ) dan sebagai ( ) dimana m adalah banyaknya karakter cipherteks, sehingga diperoleh *
+
(58)
b) Setelah diperoleh invers dari fungsi linear, maka hasil dari Persamaan (58) disubtitusikan dengan invers fungsi linear kesembilan pada Persamaan (48) dimana m adalah banyaknya karakter cipherteks, diperoleh *
+
(59)
c) Hasil dari Persamaan (59) disubtitusikan ke dengan invers fungsi linear kedelapan pada Persamaan (49) dimana m adalah banyaknya karakter cipherteks, diperoleh *
+
11
(60)
d) Hasil dari Persamaan (60) disubtitusikan ke dengan invers fungsi linear ketujuh pada Persamaan (50) dimana m adalah banyaknya karakter cipherteks, diperoleh *
+
(61)
e) Hasil dari Persamaan (61) disubtitusikan ke dengan invers fungsi linear keenam pada Persamaan (51) dimana m adalah banyaknya karakter cipherteks, diperoleh *
+
(62)
f) Hasil dari Persamaan (62) disubtitusikan ke dengan invers fungsi linear kelima pada Persamaan (52) dimana m adalah banyaknya karakter cipherteks, diperoleh *
+
(63)
g) Hasil dari Persamaan (63) disubtitusikan ke dengan invers fungsi linear keempat pada Persamaan (53) dimana m adalah banyaknya karakter cipherteks, diperoleh *
+
(64)
h) Hasil dari Persamaan (64) disubtitusikan ke dengan invers fungsi linear ketiga pada Persamaan (54) dimana m adalah banyaknya karakter cipherteks, diperoleh *
+
(65)
i) Hasil dari Persamaan (65) disubtitusikan ke dengan invers fungsi linear kedua pada Persamaan (55) dimana m adalah banyaknya karakter cipherteks, diperoleh *
+
(66)
j) Hasil dari Persamaan (66) disubtitusikan ke dengan invers fungsi linear pertama pada Persamaan (56) dimana m adalah banyaknya karakter cipherteks, diperoleh *
+
(67)
k) Hasil dari Persamaan (67) diubah ke dalam bentuk karakter sesuai ASCII sehingga diperoleh plainteks. 4.
Hasil dan Pembahasan
Proses enkripsi dan dekripsi dilakukan untuk menguji perancangan kriptografi kunci simetris menggunakan fungsi Arctan dan Polinomial Orde-5. Proses yang dilakukan sesuai dengan langkah-langkah secara umum yang dijelaskan pada tahap perancangan. - Menyiapkan plainteks yang akan digunakan adalah “FTI” - Menyiapkan Kunci Utama (Mainkey) Mainkey yang digunakan untuk proses enkripsi adalah “fti” - Menyiapkan fungsi Arctan menunjuk pada Persamaan (11) sebagai pembangkit kunci pertama. - Menyiapkan fungsi Polinomial orde-5 menunjuk pada Persamaan (12) kemudian disubtitusikan dengan hasil Arctan sebagai pembangkit kunci kedua. - Menyiapkan kunci yang dibangkitkan dengan Arctan dan Polinomial orde-5 12
a) Merujuk pada Persamaan (14) dimana diperoleh
dan (68)
b) Merujuk pada Persamaan (15) dimana diperoleh
dan (69)
c) Merujuk pada Persamaan (16) dimana
dan
diperoleh (70) dan
d) Merujuk pada Persamaan (17) dimana diperoleh
(71) e) Merujuk pada Persamaan (18) dimana diperoleh
dan (72)
f) Merujuk pada Persamaan (19) dimana
dan
diperoleh (73)
g) Merujuk pada Persamaan (20) dimana
dan (74)
h) Merujuk pada Persamaan (21) dimana diperoleh
dan (75)
i) Merujuk pada Persamaan (22) dimana
dan
diperoleh (76)
- Menyiapkan fungsi linear a) Merujuk pada Persamaan (23) dimana diperoleh ( )
(
((
(
) dan
(
) dan
(
)
(
(
) dan )
f) Merujuk pada Persamaan (28) dimana diperoleh diperoleh ( )
(
(
(
) dan
)
g) Merujuk pada Persamaan (29) dimana diperoleh diperoleh
13
(
(77)
(78)
)
e) Merujuk pada Persamaan (27) dimana diperoleh diperoleh ( )
) dan )
d) Merujuk pada Persamaan (26) dimana diperoleh diperoleh ( )
(
)
c) Merujuk pada Persamaan (25) dimana diperoleh diperoleh ( )
) dan )
b) Merujuk pada Persamaan (24) dimana diperoleh diperoleh ( )
(
) dan
(79)
(80)
(81)
(82)
( )
(
)
(
h) Merujuk pada Persamaan (30) dimana diperoleh diperoleh ( )
((
)
((
)
(
(
(85)
(
)
(
)
(
(
(
) dan )
(90)
(
) dan
(
)
(
(
(91) ) dan
)
(92)
(
i. Merujuk pada Persamaan (56) dimana diperoleh ( )
) dan (89)
(
(
(88)
)
h. Merujuk pada Persamaan (55) dimana diperoleh ( )
) dan
(
g. Merujuk pada Persamaan (54) dimana diperoleh ( )
(87)
(
f. Merujuk pada Persamaan (53) dimana diperoleh ( )
) dan )
e. Merujuk pada Persamaan (52) dimana diperoleh ( )
(86)
(
d. Merujuk pada Persamaan (51) dimana diperoleh ( )
) dan )
c. Merujuk pada Persamaan (50) dimana diperoleh ( )
) dan
)
b. Merujuk pada Persamaan (49) dimana diperoleh ( )
(84)
(
- Menyiapkan invers fungsi linear a. Merujuk pada Persamaan (48) dimana diperoleh ( )
) dan
)
i) Merujuk pada Persamaan (31) dimana diperoleh diperoleh ( )
(83)
(
( )
) dan
)
(93) (
) dan )
(94) Proses yang dilakukan sesuai dengan langkah-langkah yang dijelaskan pada tahap perancangan berikut: a) Merujuk pada Persamaan (7), plainteks yang digunakan adalah FTI, kemudian dikonversi ke dalam kode ASCII, maka diperoleh
14
* + (95) b) Kunci utama (Mainkey) dikonversi ke dalam bilangan ASCII dan dijumlahkan, merujuk pada Persamaan (9) diperoleh ( ) (96) c) Mainkey di, merujuk pada Persamaan (10) diperoleh ( ) (97) d) Merujuk pada Persamaan (36) menggunakan fungsi dalam Persamaan (11) dimana dan , maka diperoleh ( ) (98) e) Merujuk pada Persamaan (37) menggunakan fungsi dalam Persamaan (12) dimana 1360337377, maka diperoleh ( ) (99) f) Hasil dari Persamaan (95) disubtitusikan dengan Persamaan (68) kemudian disubtitusikan ke dalam fungsi linear pertama, merujuk pada Persamaan (77) dimana m adalah banyaknya karakter plainteks, diperoleh * + (100) g) Hasil dari Persamaan (100) disubtitusikan pada Persamaan (69) kemudian disubtitusikan ke dalam fungsi linear kedua pada Persamaan (78), sehingga diperoleh * + (101) h) Hasil dari Persamaan (101) disubtitusikan pada Persamaan (70) kemudian disubtitusikan ke dalam fungsi linear ketiga pada Persamaan (79), sehingga diperoleh * + (102) i) Hasil dari Persamaan (102) disubtitusikan pada Persamaan (70) dan Persamaan (71) kemudian disubtitusikan ke dalam fungsi linear keempat pada Persamaan (80), sehingga diperoleh * + (103) j) Hasil dari Persamaan (103) disubtitusikan pada Persamaan (72) kemudian disubtitusikan ke dalam fungsi linear kelima pada Persamaan (81), sehingga diperoleh * + (104) k) Hasil dari Persamaan (104) disubtitusikan pada Persamaan (73) kemudian disubtitusikan ke dalam fungsi linear keenam pada Persamaan (82), sehingga diperoleh * + (105) l) Hasil dari Persamaan (105) disubtitusikan pada Persamaan (73) dan Persamaan (74) kemudian disubtitusikan ke dalam fungsi linear ketujuh pada Persamaan (83), sehingga diperoleh * + (106) m) Hasil dari Persamaan (106) disubtitusikan pada Persamaan (75) kemudian disubtitusikan ke dalam fungsi linear kedelapan pada Persamaan (84), sehingga diperoleh * + (107)
15
n) Hasil dari Persamaan (107) disubtitusikan pada Persamaan (76) kemudian disubtitusikan ke dalam fungsi linear kesembilan pada Persamaan (85), sehingga diperoleh = {106, 70, 62} (108) o) Merujuk pada Persamaan (32), maka diperoleh 0111011001010100001000001100 0011010001110011110010010111 0000011100011
Setelah cipherteks diketahui, maka selanjutnya adalah melakukan proses dekripsi. Proses yang dilakukan sesuai dengan langkah-langkah yang dijelaskan pada tahap perancangan. a) Merujuk pada Persamaan (57), maka diperoleh * + (109) b) Mengikuti Persamaan (59) dengan menggunakan invers fungsi linear kesembilan pada Persamaan (86), maka diperoleh * + (110) c) Hasil dari Persamaan (110) disubtitusikan ke dalam invers fungsi linear kedelapan pada Persamaan (87) diperoleh * + (111) d) Hasil dari Persamaan (111) disubtitusikan ke dalam invers fungsi linear ketujuh pada Persamaan (88) diperoleh * + (112) e) Hasil dari Persamaan (112) disubtitusikan ke dalam invers fungsi linear keenam pada Persamaan (89) diperoleh * + (113) f) Hasil dari Persamaan (113) disubtitusikan ke dalam invers fungsi linear kelima pada Persamaan (90) diperoleh * + (114) g) Hasil dari Persamaan (114) disubtitusikan ke dalam invers fungsi linear keempat pada Persamaan (91) diperoleh * + (115) h) Hasil dari Persamaan (115) disubtitusikan ke dalam invers fungsi linear ketiga pada Persamaan (92) diperoleh * + (116) i) Hasil dari Persamaan (116) disubtitusikan ke dalam invers fungsi linear kedua pada Persamaan (93) diperoleh * + (117) j) Hasil dari Persamaan (117) disubtitusikan ke dalam invers fungsi linear pertama pada Persamaan (94) diperoleh * + (118) k) kemudian diubah ke dalam bentuk karakter sesuai ASCII sehingga diperoleh plainteks FTI. Secara keseluruhan perancangan ini dapat melakukan proses enkripsidekripsi sehingga secara umum menjadi sebuah kriptografi dan memenuhi syarat-
16
syarat sebagai sistem kriptografi. Bagian selanjutnya menjelaskan secara rinci bagaimana perancangan ini memenuhi sebuah sistem kriptografi. Sebuah kriptografi harus memenuhi 5 tuple P, C, K, E, D. Oleh karena itu akan ditunjukkan perancangan ini memenuhi kelima kondisi tersebut [7]. 1. P adalah himpunan berhingga dari plainteks. Rancangan kriptografi ini menggunakan plainteks berupa karakter yang ekuivalen dengan ASCII. Bilangan ASCII adalah sekumpulan karakter yang ekuivalen dengan sejumlah bilangan yang semuanya terbatas dalam sebuah himpunan yang berhingga. Maka dari itu jelas bahwa plainteks dari perancangan ini adalah himpunan berhingga. 2. C adalah himpunan berhingga dari cipherteks. Cipherteks dihasilkan dalam elemen bit binner (bilangan 0 dan 1). Cipherteks perancangan ini juga merupakan elemen terbatas karena himpunan cipherteks hanya {0,1}, maka cipherteks kunci simetris menggunakan fungsi Polinomial orde-5 dan fungsi Arctan adalah himpunan berhingga. 3. K merupakan ruang kunci (Keyspace), adalah himpunan berhingga dari kunci. Penggunaan kunci KunciPolinomial orde-5 dan KunciArctan adalah fungsi dan kunci tambahan lain seperti Mainkey juga berupa fungsi. Maka dari itu kunci yang digunakan juga himpunan berhingga. 4. Untuk setiap , terdapat aturan enkripsi dan berkorespondensi 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. Gambar 4 menjelaskan tampilan proses enkripsi. Untuk memperoleh cipherteks maka harus di input plainteks serta kunci dan memilih button Enkripsi untuk diproses.
Gambar 4 Tampilan Proses Enkripsi
Gambar 5 menjelaskan tampilan proses dekripsi. Dimana cipherteks yang dihasilkan dari proses enkripsi digunakan dalam proses dekripsi untuk mengembalikan pesan ke bentuk semula dengan menggunakan nilai kunci yang
17
sama seperti yang digunakan pada proses enkripsi, selanjutnya pilih button Dekripsi agar diproses untuk memperoleh plainteks kembali.
Gambar 5 Tampilan Proses Dekripsi
Setelah aplikasi selesai dibuat, dilakukan pengujian banyak pesan terhadap memori dan waktu yang dibutuhkan ditunjukkan pada Gambar 6 dan Gambar 7. 70
63,65
63,7
63,8
600
800
1000
Memori (M)
60 50 40 25
30
25,57
27
23
20 10 0 0
200
400
Karakter Plainteks
Waktu (s)
Gambar 6 Pengujian Banyak Pesan Teks terhadap Memori
2 1,8 1,6 1,4 1,2 1 0,8 0,8 0,6 0,4 0,2 0 0
1,74 1,3
1,5
1,1 0,9
0,96
200
400
600
800
1000
Karakter Plainteks
Gambar 7 Pengujian Banyak Pesan Teks terhadap Waktu
18
Hasil pengujian pada Gambar 6 dan Gambar 7, menunjukkan perbandingan karakter input memori dan waktu terhadap banyak karakter plainteks dimana banyaknya karakter plainteks yang diberikan akan mempengaruhi kebutuhan memory dan waktu. Misalnya untuk input karakter berjumlah 1000 maka memory yang dibutuhkan adalah 63,80 Mb, sedangkan pada perbandingan waktu dari input karakter 0 sampai 1000 maka waktu yang dibutuhkan 1000 karakter adalah 1,74s. Jadi semakin banyak karakter plainteks akan membutuhkan waktu dan ruang memory yang semakin banyak. Tabel 1 Kenaikan Memori Pada Proses Enkripsi-Dekripsi
No 1 2 3 4 5 6 7
Plainteks Memori 4 23 100 25 200 25,57 300 27 600 63,65 800 63,70 1000 63,80
Kenaikan Memori 0,0208 0,0057 0,0143 0,1222 0,0002 0,0005
Pada Tabel 1 terlihat secara detail dimana terjadi kenaikan memori yang diperlukan untuk mengenkripsi dan dekripsi banyak pesan teks yang di input, dimana pada saat pesan teks yang di input sebanyak 4 karakter memerlukan memori 23Mb, dan saat pesan teks yang di input sebanyak 100 karakter memerlukan memori 25Mb. Hasil dari analisis yang didapat bahwa kenaikan memori yang diperlukan dari 4 karakter pesan teks sampai 100 karakter pesan teks adalah 0,0208Mb. Kemudian untuk seterusnya penggunaan memori terlihat terus meningkat, sehingga pada grafik menggambarkan memori yang dibutuhkan akan bertambah jika jumlah pesan teks yang di input lebih banyak, ditunjukkan pada Gambar 6. Tabel 2 Kenaikan Waktu Pada Proses Emkripsi-Dekripsi
No 1 2 3 4 5 6 7
Plainteks 4 100 200 400 600 800 1000
Waktu 0,8 0,9 0,96 1,1 1,3 1,5 1,74
Kenaikan Waktu 0,0010 0,0006 0,0007 0,001 0,001 0,0012
Pada Tabel 2 terlihat secara detail dimana terjadi kenaikan waktu yang diperlukan untuk mengenkripsi dan dekripsi banyak pesan teks yang di input, dimana pada saat pesan teks yang di input sebanyak 4 karakter memerlukan waktu 0,8s, dan saat pesan teks yang di input sebanyak 100 karakter memerlukan waktu 0,9s. Hasil dari analisis yang didapat bahwa kenaikan waktu yang diperlukan dari 4 19
karakter pesan teks sampai 100 karakter pesan teks adalah 0,0010s. Kemudian untuk seterusnya penggunaan waktu terlihat terus meningkat, sehingga pada grafik menggambarkan waktu yang dibutuhkan akan bertambah jika jumlah pesan teks yang di input lebih banyak, ditunjukkan pada Gambar 7. 5.
Simpulan
Perancangan kriptografi simetris yang menggunakan dua fungsi sebagai kunci untuk setiap proses dengan mengaplikasikan polinomial orde-5 dan Arctan sebagai kunci, menggunakan sembilan fungsi linear tambahan yang berbeda untuk proses perputaran, dan membangkitkan sembilan kunci menggunakan fungsi polinomial orde-5 dan Arctan yang pada masing-masing putaran dibangkitkan tiga kunci, berhasil menjadi sebuah teknik kriptografi, dan dapat dikategorikan sebagai kriptografi modern karena menghasilkan cipherteks dalam elemen bit. Secara keseluruhan, perancangan ini dapat digunakan sebagai alat untuk mengamankan pesan rahasia, terutama dalam karakter teks. 6.
Daftar Pustaka
[1]
Kompas.com, 2013, Musim Sadap, Bos Cantik Yahoo Siapkan "Payung" ,http://tekno.kompas.com/read/2013/11/19/1459093/Musim.Sadap.Bos.Cant ik.Yahoo.Siapkan.Payung., Diakses pada tanggal 14 Maret 2013. Gomies, F. E & Wowor, A. D, 2013. Perancangan Kriptografi Kunci Simetris Menggunakan Fungsi Bessel dan Fungsi Legendre. Salatiga:Skripsi-S1 Sarjana Universitas Kristen Satya Wacana. Putri, Sila Wiyanti, 2006, Rancangan Algoritma Kriptografi Simetri Dengan Menggunakan Derivasi Algoritma Klasik Subtitusi, Bandung: Institut Teknologi Bandung, http://informatika.stei.itb.ac.id. Diakses pada tanggal 20 Juli 2013. Munir, R., 2006. Kriptografi. Informatika: Bandung. Bruce Schneier, 1996, Applied Cryptograp by: Protocols, Algorithms, and Source Code in C, USA: John Wiley & Sons, Inc. Sutojo, T., Bowo N., Erna, Z.A., dkk., 2010, Teori dan Aplikasi Aljabar Linear dan Matriks dengan Implementasi Aljabar Linear dan Matriks Menggunkan Matlab., Semarang : Andi Wowor, A. D, Pakereng, M. A. Ineke, dan Sembiring, Irwan, 2011. Modifikasi Teknik Kriptografi Hill Cipher Menggunakan Fungsi Rasional dan Konversi Basis Bilangan pada Proses Enkripsi-Dekripsi. Tesis : Magister Sistem Informasi Universitas Kristen Satya Wacana. Stinson, D.R., 1995, Cryptography Theory and Practice, Florida: CRC Press, Inc.
[2]
[3]
[4] [5] [6]
[7]
[8]
20