1
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-
2
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 non-
repufiation [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
3
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
fungsi sedemikian hingga ( ( )) untuk setiap plainteks
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.
4
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.
Implementasi Kriptografi Simetis
Pengumpulan Bahan
Analisis Kebutuhan
Uji Hasil Implementasi
Penulisan Laporan
5
P
u
t
a
r
a
n
1
FL 1 f1(x)=(ax+b)mod127
C2={h1,..., hm}
FL 2 f2(x)=(ax+b)mod127
C3={k1,..., km}
ARCTAN 1 ( ) ( )
FPO5 1 ( ) ( )
Plainteks Ascii
C1={d1,..., do}
FL 3 f3(x)=(ax+b)mod127
C4={l1,..., lm}
FL 6 f4(x)=(ax+b)mod127
C7={r1,..., rm}
FL 5 f5(x)=(ax+b)mod127
C6={q1,..., qm}
ARCTAN 2 ( ) ( )
FPO5 2 ( ) ( )
P
u
t
a
r
a
n
2
FL 4 f6(x)=(ax+b)mod127
C5={o1,..., om}
CBB Cipherteks
FPO5 3 ( ) ( )
P
u
t
a
r
a
n
3
FL 8 f8(x)=(ax+b)mod127
C9={u1,..., um}
FL 9 f9(x)=(ax+b)mod127
C10={ ϑ1,..., ϑm}
ARCTAN 3 ( ) ( )
FL 7 f7(x)=(ax+b)mod127
C8={t1,..., tm}
Ascii
Mainkey
K={c1,..., cn}
Gambar 2 Proses Enkripsi
6
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)
dimana dan diperoleh
(17)
- Pada putaran kedua, kunci dibangkitkan berdasarkan Persamaan (13)
dimana dan diperoleh
(18)
7
- 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)
dimana dan diperoleh
(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)
dimana dan kemudian di- , diperoleh
( ) ( ) (23)
- Pada putaran pertama fungsi linear kedua diperoleh dari Persamaan (3)
dimana
dan kemudian di- ,
diperoleh
( ) ((
) ) (24)
- 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
( ) (
) (29)
- Pada putaran ketiga fungsi linear kedelapan diperoleh dari Persamaan
(3) dimana
dan
( ) ((
) ) (30)
- Pada putaran ketiga fungsi linear kesembilan diperoleh dari Persamaan
(3) dimana
dan
8
( ) ((
) ) (31)
g) Menyiapkan fungsi convert between base ( ) untuk mengubah ke
dalam bentuk bit secara umum.
Dimana adalah plainteks, adalah dan adalah 2
( ) (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 di- merujuk 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)
9
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)
10
P
u
t
a
r
a
n
3
ARCTAN 3 ( ) ( )
FPO5 3 ( ) ( )
Cipherteks CBB C11={ζ1,...,ζm}
FL 9 ( )=(ax-b)mod127
P10={E1,..., Em}
FL 8 ( )=(ax-b)mod127
P9={F1,..., Fm}
FL 7 ( )=(ax-b)mod127
P8={G1,..., Gm}
FPO5 2 ( ) ( )
ARCTAN 2 ( ) ( )
P
u
t
a
r
a
n
2
FL 6 ( )=(ax-b)mod127
P7={H1,..., Hm}
FL 5 ( )=(ax-b)mod127
P6={I1,..., Im}
FL 4 ( )=(ax-b)mod127
P5={J1,..., Jm}
P2={e1,..., em} P3={M1,..., Mm}
P1={O1,..., Om} ASCII Plainteks
P
u
t
a
r
a
n
1
ARCTAN 1 ( ) ( )
FPO5 1 ( ) ( )
FL 3 ( )=(ax-b)mod127
P4={L1,..., Lm}
FL 2 ( )=(ax-b)mod127
FL 1 ( )=(ax-b)mod127
Ascii
Mainkey
K={Z1,..., Zn}
Gambar 3 Proses Dekripsi
11
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)
( ) (
) (56)
b) Menyiapkan Invers Fungsi convert between base ( ) untuk mengubah
ke dalam bentuk plainteks kembali.
Dimana adalah cipherteks, adalah 2 dan adalah ( ) (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 * + (60)
12
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
13
a) Merujuk pada Persamaan (14) dimana dan diperoleh
(68)
b) Merujuk pada Persamaan (15) dimana dan diperoleh
(69)
c) Merujuk pada Persamaan (16) dimana dan diperoleh
(70)
d) Merujuk pada Persamaan (17) dimana dan diperoleh
(71)
e) Merujuk pada Persamaan (18) dimana dan diperoleh (72)
f) Merujuk pada Persamaan (19) dimana dan diperoleh
(73) g) Merujuk pada Persamaan (20) dimana dan (74)
h) Merujuk pada Persamaan (21) dimana dan diperoleh
(75)
i) Merujuk pada Persamaan (22) dimana dan diperoleh
(76)
- Menyiapkan fungsi linear
a) Merujuk pada Persamaan (23) dimana ( ) dan diperoleh
( ) ( ) (77)
b) Merujuk pada Persamaan (24) dimana ( ) dan diperoleh diperoleh
( ) ((
) ) (78)
c) Merujuk pada Persamaan (25) dimana ( ) dan diperoleh diperoleh
( ) ( ) (79)
d) Merujuk pada Persamaan (26) dimana ( ) dan diperoleh diperoleh
( ) ( ) (80)
e) Merujuk pada Persamaan (27) dimana ( ) dan diperoleh diperoleh
( ) ( ) (81)
f) Merujuk pada Persamaan (28) dimana ( ) dan diperoleh diperoleh
( ) ( ) (82)
g) Merujuk pada Persamaan (29) dimana ( ) dan diperoleh diperoleh
14
( ) (
) (83)
h) Merujuk pada Persamaan (30) dimana ( ) dan diperoleh diperoleh
( ) ((
) ) (84)
i) Merujuk pada Persamaan (31) dimana ( ) dan diperoleh diperoleh
( ) ((
) ) (85)
- Menyiapkan invers fungsi linear
a. Merujuk pada Persamaan (48) dimana ( ) dan diperoleh
( ) (
( ) ) (86)
b. Merujuk pada Persamaan (49) dimana ( ) dan diperoleh
( ) (
) (87)
c. Merujuk pada Persamaan (50) dimana ( ) dan diperoleh
( ) (
) (88)
d. Merujuk pada Persamaan (51) dimana ( ) dan diperoleh
( ) (
) (89)
e. Merujuk pada Persamaan (52) dimana ( ) dan diperoleh
( ) (
) (90)
f. Merujuk pada Persamaan (53) dimana ( ) dan diperoleh
( ) (
) (91)
g. Merujuk pada Persamaan (54) dimana ( ) dan diperoleh
( ) (
) (92)
h. Merujuk pada Persamaan (55) dimana ( ) dan diperoleh
( ) (
( )
) (93)
i. Merujuk pada Persamaan (56) dimana ( ) dan diperoleh
( ) (
) (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
15
* + (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)
16
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
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 enkripsi-
dekripsi sehingga secara umum menjadi sebuah kriptografi dan memenuhi syarat-
0111011001010100001000001100
0011010001110011110010010111
0000011100011
17
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
18
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.
Gambar 6 Pengujian Banyak Pesan Teks terhadap Memori
Gambar 7 Pengujian Banyak Pesan Teks terhadap Waktu
23 25 25,57 27
63,65 63,7 63,8
0
10
20
30
40
50
60
70
0 200 400 600 800 1000
Me
mo
ri (
M)
Karakter Plainteks
0,8 0,9 0,96
1,1
1,3 1,5
1,74
0
0,2
0,4
0,6
0,8
1
1,2
1,4
1,6
1,8
2
0 200 400 600 800 1000
Wak
tu (
s)
Karakter Plainteks
19
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 Plainteks Memori Kenaikan Memori
1 4 23 0,0208
2 100 25 0,0057
3 200 25,57 0,0143
4 300 27 0,1222
5 600 63,65 0,0002
6 800 63,70 0,0005
7 1000 63,80
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 Plainteks Waktu Kenaikan Waktu
1 4 0,8 0,0010
2 100 0,9 0,0006
3 200 0,96 0,0007
4 400 1,1 0,001
5 600 1,3 0,001
6 800 1,5 0,0012
7 1000 1,74
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
20
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.
[2] 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.
[3] 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.
[4] Munir, R., 2006. Kriptografi. Informatika: Bandung.
[5] Bruce Schneier, 1996, Applied Cryptograp by: Protocols, Algorithms, and
Source Code in C, USA: John Wiley & Sons, Inc.
[6] 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
[7] 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.
[8] Stinson, D.R., 1995, Cryptography Theory and Practice, Florida: CRC
Press, Inc.