• Tidak ada hasil yang ditemukan

Implementasi Super Enkripsi Menggunakan Algoritma Tritmius Dan Double transposition Cipher Pada Pengamanan File Berbasis Android

N/A
N/A
Protected

Academic year: 2017

Membagikan "Implementasi Super Enkripsi Menggunakan Algoritma Tritmius Dan Double transposition Cipher Pada Pengamanan File Berbasis Android"

Copied!
18
0
0

Teks penuh

(1)

BAB 2

LANDASAN TEORI

2.1 Kriptografi

2.1.1 Pengertian Kriptografi

Perubahan besar yang mempengaruhi keamanan adalah pengenalan sistem terdistribusi dan penggunaan jaringan dan fasilitas komunikasi untuk membawa data antara pengguna terminal dan komputer dan antara komputer dan komputer. Tindakan keamanan jaringan diperlukan untuk melindungi data selama transmisi (Shrivastava, 2016). Tindakan tersebut dinamakan kriptografi.

Kriptografi berasal dari bahasa Yunani. Menurut bahasa tersebut kata kriptografi dibagi menjadi dua, yaitu kripto dan graphia. Kripto berarti secret (rahasia) dan graphia berarti writing (tulisan). Menurut terminologinya kriptografi adalah ilmu dan seni untuk menjaga keamanan pesan ketika pesan dikirim dari suatu tempat ke tempat lain. Dalam perkembangannya, kriptografi juga digunakan untuk mengindentifikasi pengiriman pesan dengan tanda tangan digital dan keaslian pesan dengan sidik jari digital (fingerprint). (Ariyus, 2008).

Berikut ini adalah istilah-istilah yang digunakan dalam bidang kriptografi : a. Plaintext adalah pesan yang hendak dikirim (berisi data asli).

b. Ciphertext adalah pesan yang terenkripsi (tersandi) yang merupakan hasil dari enkripsi.

c. Enkripsi adalah proses pengubahan plaintext menjadi ciphertext.

d. Dekripsi adalah kebalikan dari enkripsi yakni mengubah ciphertext menjadi plaintext, sehingga berupa data awal atau asli.

(2)

2.1.2 Algoritma Kriptografi

Algoritma dalam kriptografi merupakan sekumpulan aturan (fungsi matematis yang digunakan) untuk proses enkripsi dan proses dekripsi. Dalam beberapa metode kriptografi terdapat perbedaan antara fungsi enkripsi dan fungsi dekripsi.

Konsep matematis yang mendasari algoritma adalah relasi antara himpunan, yaitu relasi antara himpunan yang berisi elemen-elemen ciphertext. Enkripsi dan dekripsi merupakan fungsi yang memetakan elemen-elemen antara kedua himpunan tersebut. Misalkan himpunan plaintext dinotasikan P dan himpunan elemen ciphertext dinotasikan C, maka fungsi E memetakan himpunan P ke himpunan C.

E(P) = C

Dan fungsi dekripsi memetakan himpunan C ke himpunan P D(C) = P

Karena fungsi dekripsi D mengembalikan himpunan C menjadi himpunan P asal, maka algoritma kriptografi harus memenuhi persamaan

D(E(P)) = P

Tingkat keamanan suatu algoritma dalam kriptografi seringkali diukur dari kuantitas proses yang dilakukan dalam suatu fungsi, baik itu fungsi enkripsi maupun fungsi dekripsi. Proses tersebut juga dapat dihubungkan dengan sumber data yang dibutuhkan, Menunjukkan semakin kuat algoritma kriptografi tersebut.

(3)

2.1.3 Tujuan Kriptografi

Berikut adalah tujuan adanya kriptografi (Munir, 2006) : 1. Kerahasiaan Data (Confidentiality)

Dengan adanya kriptografi, kerahasiaan data dapat ditingkatkan. Data penting yang dimiliki hanya akan dapat dibuka atau dibaca oleh orang-orang tertentu yang memiliki akses untuk membukanya.

2. Integritas (Integrity)

Data yang benar atau asli tanpa ada rekayasa dari pihak ketiga atau pihak yang tidak memiliki akses terhadap data tersebut.

3. Autentikasi (Authentication)

Autentikasi dilakukan untuk membuktikan data yang dikirim adalah data asli atau data yang benar. Autentikasi mencegah adanya data palsu.

4. Nir-penyangkalan (Non-Repudation)

Nir-penyangkalan adalah salah satu tujuan kriptografi. Dengan ini si pengirim tidak dapat menolak bahwa pesan tersebut benar berasal dari si pengirim.

2.1.4 Jenis-jenis Algoritma Kriptografi

Algoritma kriptografi dibagi dua, yaitu algoritma simetri (menggunakan satu kunci), algoritma asimetri (menggunakan dua kunci berbeda untuk proses enkripsi dan dekripsi)

2.1.4.1 Algoritma Simetris

Dimana kunci yang digunakan pada proses enkripsi dan dekripsi adalah kunci yang sama. Dalam kriptografi kunci simetris dapat diasumsikan bahwa si penerima dan pengirim pesan telah terlebih dahulu berbagi kunci sebelum pesan dikirimkan. Keamanan dari sistem ini terletak pada kerahasiaan kuncinya.

(4)

Contoh algoritma simetris, yaitu : Trithemius, Double Transposition Cipher,DES (Data Encryption Standard), AES (Advanced Encryption Standard).(Kamil, 2016) Proses dari skema kriptografi simetris dapat dilihat pada gambar 2.1.

Gambar 2.1. Skema Algoritma Simetris (Kamil, 2016)

Kelebihan kriptografi simetris adalah (Kamil, 2016) :

a. Proses enkripsi atau dekripsi kriptografi simetris membutuhkan waktu yang singkat.

b. Ukuran kunci simetris relative lebih pendek.

c. Otentikasi pengiriman pesan langsung dari ciphertext yang diterima, karena kunci hanya diketahui oleh penerima dan pengirim saja.

Kelemahan kriptografi simetris adalah (Kamil, 2016) :

a. Kunci simetris harus dikirim melalui saluran komunikasi yang aman, dan kedua entitas yang berkomunikasi harus menjaga kerahasiaan kunci.

b. Kunci harus sering diubah, setiap kali melaksanakan komunikasi. Apabila kunci tersebut hilang atau lupa, maka pesan tersebut tidak dapat dibuka.

2.1.4.2 Algoritma Asimetris

Berbeda dengan kriptografi kunci simetris, kriptografi kunci public memiliki dua buah kunci yang berbeda pada proses enkripsi dan dekripsinya. Dimana kunci yang digunakan untuk proses enkripsi atau sering disebut public key dan dekripsi atau sering disebut private key menggunakan kunci yang berbeda. Entitas pengirim akan mengenkripsi dengan menggunakan kunci public, sedangkan entitas penerima mendekripsi menggunakan kunci private (Kamil, 2016).

(5)

Gambar 2.2. Skema Algoritma Asimetris Kamil, 2016)

Kelebihan kriptografi asimetris adalah (Kamil,.2016) :

a. Hanya kunci private yang perlu dijaga kerahasiaannya oleh setiap entitas yang berkomunikasi. Tidak ada kebutuhan mengirim kunci private sebagaimana kunci simetri.

b. Pasangan kunci private dan kunci public tidak perlu diubah dalam jangka waktu yang sangat lama.

c. Dapat digunakan dalam pengaman pengiriman kunci simetris.

Kelemahan kriptografi asimetris adalah (Kamil, 2016) :

a. Proses enkripsi dan dekripsi umumnya lebih lambat dari algortima simetri, karena menggunakan bilangan yang besar dan operasi bilangan yang besar.

b. Ukuran ciphertext lebih besar dari plaintext.

c. Ukuran kunci relatif lebih besar daripada ukuran kunci simetris.

2.2 Super Enkripsi

Algoritma kriptografi memberikan keamanan namun tidak menjamin keamanan 100 persen (Mathur, 2015), sehingga diajukan solusi yang dirancang untuk meningkatkan keamanan tersebut, melalui kombinasi penggunaan algoritma kriptografi yang berbeda untuk mengenkripsi pesan. (Araújo, 2015)

Multiple encryption,dimana salah satu contohnya adalah double enkripsi (super enkripsi) adalah proses enkripsi yang dilakukan sebanyak dua kali atau lebih. Pertama enkripsi plaintext menjadi ciphertext, kemudian enkripsi ciphertext itu, mungkin menggunakan cipher lain dan kunci.(Ritter, 2007).

(6)

Trithemius Cipher adalah salah satu polyalphabetic sandi yang didesain agar lebih mudah digunakan. Daripada menggunakan kombinasi acak dari huruf alfabet, Trithemius menggunakan sebuah tabel khusus Trithemius (Mollin, 2005).

Tabel 2.1. Tabel Trithemius (Mollin, 2005)

a b c d e f g h i k l m n o p q r s t u w x y z a a b c d e f g h i k l m n o p q r s t u w x y z b b c d e f g h i k l m n o p q r s t u w x y z a c c d e f g h i k l m n o p q r s t u w x y z a b d d e f g h i k l m n o p q r s t u w x y z a b c e e f g h i k l m n o p q r s t u w x y z a b c d f f g h i k l m n o p q r s t u w x y z a b c d e g g h i k l m n o p q r s t u w x y z a b c d e f h h i k l m n o p q r s t u w x y z a b c d e f g i i k l m n o p q r s t u w x y z a b c d e f g h k k l m n o p q r s t u w x y z a b c d e f g h i l l m n o p q r s t u w x y z a b c d e f g h i k m m n o p q r s t u w x y z a b c d e f g h i k l n n o p q r s t u w x y z a b c d e f g h i k l m o o p q r s t u w x y z a b c d e f g h i k l m n p p q r s t u w x y z a b c d e f g h i k l m n o q q r s t u w x y z a b c d e f g h i k l m n o p r r s t u w x y z a b c d e f g h i k l m n o p q s s t u w x y z a b c d e f g h i k l m n o p q r t t u w x y z a b c d e f g h i k l m n o p q r s u u w x y z a b c d e f g h i k l m n o p q r s t w w x y z a b c d e f g h i k l m n o p q r s t u x x y z a b c d e f g h i k l m n o p q r s t u w y y z a b c d e f g h i k l m n o p q r s t u w x z z a b c d e f g h i k l m n o p q r s t u w x y

(7)

itu akan bergeser ke kiri sebanyak 1 kali. Tabel memiliki 24 baris dan kolom 24 yang terdiri dari 24 huruf dalam alfabet Latin kecuali huruf j dan v (Mollin, 2005).

Pada proses enkripsi, huruf berikutnya pada plaintext akan digantikan oleh huruf yang relevan dari baris berikutnya pada tabel. Setelah menggunakan baris terakhir, salah satu harus pindah kembali ke baris pertama. Ini berarti bahwa semua huruf pada plaintext berubah sesuai dengan jumlah posisi yang ditentukan oleh baris aktual. Oleh karena itu huruf pertama dienkripsi tanpa pergeseran, huruf kedua dengan pergeseran ditentukan oleh baris kedua (jadi oleh satu posisi), huruf ketiga dengan pergeseran yang ditentukan oleh baris ketiga (jadi oleh dua posisi) dan seterusnya.

Atau, dapat dihitung menggunakan rumus :

Dimana, C : Ciphertext P : Plaintext K : Kunci

n : jumlah huruf yang digunakan

(8)

5. 6.

Sehingga, diperoleh Ciphertext : T B O D W F

Berikut adalah contoh proses enkripsi dengan menggunakan Algoritma Trithemius:

Sehingga, diperoleh kembali Plaintext : T A M A R A

(9)

2.4 Double Transposition Cipher

Double Transposition Cipher adalah salah satu cipher manual yang digunakan dalam Perang Dunia II oleh kedua belah pihak yang sedang berperang. Cipher ini bahkan lebih aman dibandingkan Double Playfair Cipher.

Cipher ini terdiri dari dua putaran kolom tranposisi, dengan menggunakan 2 buah kunci yang berbeda. Setelah kunci pada putaran pertama ditentukan, kemudian setiap huruf pada kunci diberi nomor sesuai urutan abjad, dan plaintext dibaca per kolom berdasarkan urutan nomornya. Dimana, arah urutan harus ditentukan terlebih dahulu apakah kiri-ke-kanan, atau kanan-ke-kiri, untuk mempermudah apabila terdapat huruf yang sama pada kunci.

Ciphertext yang dihasilkan dari putaran pertama, dienkripsi lagi di putaran kedua dengan cara yang sama, namun menggunakan kunci yang berbeda. Ciphertext yang dihasilkan dari putaran yang kedua, kemudian dibagi ke dalam blok. Dimana, masing-masing blok terdiri dari 5 huruf untuk mempermudah proses transmisi (Salomon, 2005) .

Salah satu syarat proses enkripsi dengan menggunakan cipher ini adalah, tabel yang kita gunakan harus terisi penuh.(Bauer, 2013). Agar tabel yang digunakan bisa terisi penuh, digunakan padding character.

Berikut adalah contoh proses enkripsi dengan menggunakan Double Transposition Cipher :

Plaintext : TUGAS AKHIR KUNCI 1 : JEJE

KUNCI 2 : TAMARA

Enkripsi pertama dengan menggunakan KUNCI 1 : JEJE 3 1 4 2

J E J E T U G A S A K H I R X Q Ciphertext 1 : UAR AHQ TSI GKX

(10)

6 1 4 2 5 3 T A M A R A

U A R A H Q T S I G K X

Ciphertext 2 : AS AG QX RI HK UT

Yang kemudian akan ditransmisikan, menjadi : ASAGQ XRIHK UT

Sedangkan untuk contoh proses dekripsi dengan menggunakan Double Transposition Cipher, dimulai dengan menggunakan KUNCI 2 terlebih dahulu, yaitu TAMARA. Dimana, jumlah baris pada tabel ditentukan dari hasil pembagian panjang ciphertext dengan kunci. (Salomon, 2005). Lalu, ciphertext dimasukkan ke dalam tabel berdasarkan jumlah penggalannya sesuai dengan urutan abjad pada kunci yang digunakan.

Ciphertext : ASAGQXRIHKUT 12 Kunci : TAMARA 6

Sehingga, 12 : 6 = 2

6 1 4 2 5 3

T A M A R A U A R A H Q T S I G K X

Hal yang sama dilakukan dengan menggunakan KUNCI 1 yaitu JEJE, sehingga diperoleh hasil sebagai berikut :

3 1 4 2

J E J E T U G A S A K H I R X Q

(11)

2.5. Kompleksits Algoritma

Sebuah masalah dapat mempunyai banyak algoritma penyelesaian. Contoh: masalah pengurutan (sort), ada puluhan algoritma pengurutan. Sebuah algoritma tidak saja harus benar, tetapi juga harus mangkus (efisien). Algoritma yang bagus adalah algoritma yang mangkus (efficient). Kemangkusan algoritma diukur dari waktu (time) eksekusi algoritma dan kebutuhan ruang (space) memori.

Algoritma yang mangkus ialah algoritma yang meminimumkan kebutuhan waktu dan ruang. Kebutuhan waktu dan ruang suatu algoritma bergantung pada ukuran masukan (n), yang menyatakan jumlah data yang diproses. Kemangkusan algoritma dapat digunakan untuk menilai algoritma yang bagus dari sejumlah algoritma penyelesaian masalah (Wibowo, 2013). Besaran yang digunakan untuk menjelaskan model pengukuran waktu dan ruang ini adalah kompleksitas algoritma (Azizah, 2013). Ada dua macam kompleksitas algoritma, yaitu kompleksitas waktu dan kompleksitas ruang. Kompleksitas waktu, T(n), diukur dari jumlah tahapan komputasi yang dibutuhkan untuk menjalankan algoritma sebagai fungsi dari ukuran masukan (n). Dengan menggunakan besaran kompleksitas waktu/ruang algoritma, kita dapat menentukan laju peningkatan waktu (ruang) yang diperlukan algoritma dengan meningkatnya ukuran masukan (n) (Wibowo, 2013).

Kompleksitas waktu asimptotik terdiri dari tiga macam, yaitu (Demaine, 2005): 1. Ω-notation atau Big- Ω (lower bounds)

(12)

Gambar 2.3. Grafik Notasi Asimptotik 

Gambar 2.3. menunjukan notasi  menjadi batas bawah dari suatu fungsi f(n) agar berada dalam suatu faktor konstan. Dinyatakan f(n) = (g(n)) jika terdapat konstanta positif dan c sedemikian sehingga pada dan di kanan , nilai f(n) selalu berada tepat pada cg(n) atau di atas cg(n) (Azizah, 2013).

Gambar 2.4. Grafik Notasi Asimptotik 

(13)

sehingga pada dan di kanan , nilai f(n) selalu berada tepat pada g(n), tepat pada g(n), atau di antara g(n) dan g(n) (Azizah, 2013).

Gambar 2.5. Grafik Notasi Asimptotik O

Gambar 2.5. menunjukan notasi O menjadi batas atas dari suatu fungsi f(n) agar berada dalam suatu faktor konstan. Dinyatakan f(n) = O(g(n)) jika terdapat konstanta positif dan c sedemikian sehingga pada dan di kanan , nilai f(n) selalu berada tepat pada cg(n) atau di bawah cg(n). Komplesitas waktu algoritma biasanya dihitung dengan menggunakan notasi O(g(n)), dibaca “big-O dari g(n)” (Azizah, 2013).

2.6 Android

Android adalah sistem operasi untuk telepon selular yang berbasis linux dan juga berbasisopen source yang menyediakan platform terbuka bagi para pengembang untuk menciptakan aplikasi baru (Wulandari, 2013). Android awalnya dikembangkanoleh Android, Inc., dengan dukungan finansial dari Google, yang kemudian membelinya padatahun 2005. Sistem operasi ini dirilis secara resmi pada tahun 2007, bersamaan dengan didirikannya Open Handset Alliance, konsorsium dari perusahaan-perusahaan perangkat keras, perangkat lunak, dan telekomunikasi yang bertujuan untuk memajukan standar terbuka perangkat seluler. Android adalah sistem operasi dengan sumber terbuka, dan Google merilis kodenya di bawah Lisensi Apache.

(14)

dilakukan untuk menilai keamanan aplikasi mobile. Android, sebagai platform mobile yang dominan dan juga target utama ancaman malware mobile, telah banyak diminati (Sadeghi, 2017).

Kode dengan sumber terbuka dan lisensi perizinan padaAndroid memungkinkan perangkat lunak untuk dimodifikasi secara bebas dan didistribusikan oleh para pembuat perangkat, operator nirkabel, dan pengembang aplikasi. Selain itu,Android memiliki sejumlah besar komunitas pengembang aplikasi yang memperluas fungsionalitas perangkat, umumnya ditulis dalam versi kustomisasi bahasa pemrograman (Wulandari, 2013).

Sejak April 2009, versi Android dikembangkan dengan nama kode yang dinamai berdasarkan makanan pencuci mulut dan penganan manis. Masing-masing versi dirilis sesuai urutan alfabet.

Berikut adalah rangkaian perjalanan android 1. Kerjasama Android Inc. dengan Google Inc. 2. 2007 - 2008 Produk awal Android

3. Android Versi 1.1

4. Android Versi 1.5 (Cupcake) 5. Android Versi 1.6 (Donut) 6. Android Versi 2.0/2.1 (Eclair) 7. Android Versi 2.2 (Froyo) 8. Android Versi 2.3 (Gingerbread) 9. Android Versi 3.0 (Honeycomb) 10. Android Versi 4.0 (ICS)

(15)

Gambar 2.6 Gambar Logo Android

2.7 Penelitian yang Relevan

Berikut ini beberapa penelitian terdahulu tentang kriptografi yang berkaitan dengan penelitian yang akan dilakukan oleh penulis :

(16)
(17)

tersebut tidak menjamin keamanan 100 persen. Sehingga, tidak hanya enkripsi, tapi juga transmisi data melalui jaringan yang

Dengan penetrasi internet dan pesatnya perkembangan teknologi informasi, transmisi teks dan citra yang aman ini mendapat banyak perhatian. Metode enkripsi tradisional hanya bisa menjaga keamanan

informasi. Namun,

(18)

Gambar

Gambar 2.1. Skema Algoritma Simetris (Kamil, 2016)
Tabel 2.1. Tabel Trithemius (Mollin, 2005)
tabel berdasarkan jumlah penggalannya sesuai dengan urutan abjad pada kunci yang
Gambar 2.3.  Grafik Notasi Asimptotik 
+3

Referensi

Dokumen terkait

Pada jurnal ini akan membahas teknik enkripsi dan dekripsi pada algoritma vigenere cipher berdasarkan tabel ACII menggunakan bahasa pemrograman java.. Algoritma vigenere cipher

Block cipher merupakan algoritma yang berbasis kunci simetris dengan melakukan enkripsi/dekripsi pada tiap block-block data plain/cipher teks, dimana blok merupakan

Pada penelitan ini dibuat sebuah rancangan sistem berupa implementasi algoritma kriptografi vernam cipher berbasis FPGA yang dapat melakukan proses enkripsi/dekripsi

Salah satu cara mengamankan pesan chatting dapat dilakukan dengan menggunakan metode Vigenere Cipher dan Cipher Block Chainning (CBC) dengan proses enkripsi dan dekripsi.

Algoritma kriptografi klasik yang akan digunakan untuk proses penyandian data ini adalah Zig-zag Cipher dan algoritma modern yang akan digunakan adalah RC4 +.. Zig-zag Cipher

RC4 + Cipher yang digunakan pada proses enkripsi, kolom C2 adalah hasil enkripsi kedua yang diperoleh dengan menggunakan algoritma RC4 + Cipher. Rata-rata yang diperoleh

Pada penelitian ini akan dilakukan enkripsi- dekripsi citra dengan Algoritma Affine Cipher dan enkripsi-dekripsi kunci dengan Algoritma RSA-CRT, parameter yang akan di

Dengan menerapkan Kriptografi Affine Cipher sebagai enkripsi dan dekripsi pesan dan AES-256 sebagai enkripsi dan dekripsi file yang berupa format .pdf aplikasi dibangun berbasis