• Tidak ada hasil yang ditemukan

PENERAPAN ALGORITMA KRIPTOGRAFI RC6, VIGENERE DAN CAESAR PADA APLIKASI

N/A
N/A
Protected

Academic year: 2023

Membagikan "PENERAPAN ALGORITMA KRIPTOGRAFI RC6, VIGENERE DAN CAESAR PADA APLIKASI"

Copied!
10
0
0

Teks penuh

(1)

1

PENERAPAN ALGORITMA KRIPTOGRAFI RC6, VIGENERE DAN CAESAR PADA APLIKASI

NOTES BERBASIS ANDROID

Septiyono Adi Putro1, Ali Akbar Rismayadi2, Abdurahman Fauzi3

1Teknik Informatika, Universitas BSI E-mail : [email protected]

2Teknik Informatika, Universitas BSI E-mail : [email protected]

3Teknik Informatika, Universitas BSI E-mail : [email protected]

Abstract

Abstract - In this digital era, the development of technology, especially smartphones, is so sophisticated and widespread. Every circle of society such as parents, teenagers and even children have used Android smartphones. Inside android smartphone many applications are often used by users, one of them notes application is to facilitate the users save a note. But if only rely on the default notes from android itself, the contents of the notes are written only to the extent saved without any security. The purpose of this research is to make the security of Notes application with cryptography algorithm method RC6, Vigenere and Caesar. Cryptography is a technique for maintaining data confidentiality by means of an encryption process whereby this process transforms the contents of the data into a form that is almost unrecognized as the initial data and decryption transforms back the disguised shape into initial data. This method used because it can provide security to the contents of Notes by encrypting contents of Notes that have been made by the user. So the contents of Notes saved in the database is not legible and very safe to store Notes that are important or confidential. And also adds double information security, that is by login the password and password timeout so that users can keep the contents of Notes secret better. Result of the questionnaire in this research, positive appreciation by respondents was 87%. It can be concluded the existence this Notes can provide benefits for users in the security on this Notes.

Keywords: Notes, RC6, Vigenere, Caesar, Encryption

Abstrak - Di era digital ini, perkembangan teknologi khususnya smartphone begitu canggih dan tersebar luas. Setiap kalangan masyarakat seperti orang tua, remaja bahkan anak-anak telah menggunakan smartphone android. Di dalam smartphone android banyak aplikasi yang sering digunakan oleh pengguna, salah satunya aplikasi notes yaitu untuk memudahkan para pengguna menyimpan sebuah catatan. Namun jika hanya mengandalkan aplikasi notes bawaan dari android itu sendiri, isi dari catatan yang ditulis hanya sebatas tersimpan tanpa suatu pengamanan. Tujuan penelitian ini adalah membuat pengamanan pada aplikasi notes dengan metode algoritma kriptografi RC6, Vigenere dan Caesar. Kriptografi adalah teknik untuk menjaga kerahasiaan data dengan cara proses enkripsi dimana proses ini mengubah isi data menjadi bentuk yang hampir tidak dikenali sebagai data awalnya dan dekripsi mengubah kembali bentuk tersamar tersebut menjadi data awal. Metode ini digunakan karena dapat memberikan keamanan pada isi notes dengan cara mengenkripsi isi notes yang telah dibuat oleh user. Sehingga isi notes yang tersimpan pada database aplikasi notes tidak dapat terbaca dan sangat aman untuk menyimpan notes yang bersifat penting atau rahasia. Dan juga menambahkan pengamanan informasi ganda yaitu dengan cara login password dan password timeout sehingga user dapat merahasiakan isi notes lebih baik. Berdasarkan hasil kuesioner pada penelitian ini, mendapatkan apresiasi positif oleh responden sebesar 87%. Dapat diambil kesimpulan bahwa dengan adanya aplikasi Notes ini dapat memberikan manfaat bagi user dari segi keamanan yang ada pada aplikasi Notes ini.

Key kunci: Notes, RC6, Vigenere, Caesar, Enkripsi

(2)

1. Pendahuluan

Beberapa dekade terakhir terjadi perkembangan teknologi secara pesat dan masif sehingga berpengaruh pada kebutuhan hidup manusia. Salah satu teknologi paling berpengaruh yang hampir tidak pernah lepas dari setiap kegiatan kita dan selalu dibawa kemana pun yaitu smartphone. Smartphone merupakan kombinasi telepon genggam dengan fungsional dan personal digital assistant (PDA) yang memungkinkan pengguna untuk menyimpan dan membalas email, mengakses internet, mengirim dan menerima pesan, bermain games, file multimedia, fitur GPS dan berbagai fitur lainnya(Kharisma & Rachman, 2017).

Sistem operasi smartphone memiliki berbagai macam platform diantaranya Android, iOS dan Windows Phone. Salah satu fasilitas yang dimiliki oleh smartphone android dan hampir setiap pengguna smartphonepasti pernah memakainya yaitu notes. Notes merupakan aplikasi bawaan smartphone kegunaannya untuk menulis data penting agar pengguna smartphone tidak lupa apabila ada sesuatu yang penting seperti kata sandi, nomor pin dan lainnya.

Akan tetapi isi dariNotes yang telah ditulis hanya sebatas tersimpan tanpa suatu pengamanan. Jadi, orang lain dapat dengan mudah membaca isi dari Notes yang telah tersimpan tanpa sepengetahuan kita (Rachman, 2018).

Salah satu metode dalam pengamanan data atau informasi adalah menggunakan metode enkripsi. Enkripsi adalah proses dimana informasi atau data yang akan disimpan diubah menjadi bentuk yang hampir tidak dikenali sebagai informasi awalnya dengan menggunakan algoritma tertentu. Dekripsi adalah kebalikan dari enkripsi yaitu mengubah kembali bentuk tersamar tersebut menjadi informasi awal.

Sebuah pesan atau data yang masih asli dan belum mengalami penyandian dikenal istilah plaintext. Kemudian setelah disamarkan dengan suatu cara penyandian, maka plaintext ini disebutciphertext. Proses penyamaran dari plaintext ke ciphertext disebut enkripsi dan proses pengembalian dari ciphertext menjadi plaintext kembali disebut dekripsi (Pabokory, Astuti, &

Kridalaksana, 2015).

Metode enkripsi yang digunakan dalam penilitian ini adalah enkripsi RC6,Vigenere danCaesarmerupakan algoritma kriptografi yang dapat digunakan untuk mengamankan

data. Kriptografi adalah ilmu sekaligus seni untuk menjaga kerahasiaan pesan, data atau informasi dengan cara menyamarkannya menjadi bentuk tersandi yang tidak mempunyai makna. Dengan membuat algoritma berlapis diyakini akan membuat data dan informasi tersebut memilikilevelkemanan lebih tinggi (Basuki, Paranita, & Hidayat, 2016).

Berdasarkan latar belakang masalah yang telah dikemukakan, maka permasalahan yang dapat dirumuskan : 1. Bagaimana meningkatkan keamanan

pada isiNotesyang akan disimpan?

2. Bagaimana menerapkan algoritma kriptografi RC6, Vigenere dan Caesar pada aplikasinotesberbasisandroid?

Tujuan dari penelitian ini dimaksudkan untuk membuat aplikasi notes berbasis androiddengan kerahasiaan isi notes lebih terjaga karena data atau informasi yang dibuat akan dienkripsi dengan algoritma kriptografi RC6,VigeneredanCaesar. A. Tinjauan Pustaka

(Rachman, 2018), dalam jurnalnya yang berjudul “Perancangan AplikasiMemo Menggunakan Algoritma Kriptografi Caesar Cipher dan RSA Berbasis Android”

membahas mengenkripsi dan mendekripsi data yang tersimpan di aplikasi Memo. Algoritma kriptografi yang digunakan untuk melakukan enkripsi adalah algoritmaCaesar Cipher dan RSA. Setelah menggunakan aplikasi ini data yang tersimpan di Memo tidak dapat dibaca dan disalahgunakan oleh orang lain.

(Laurentinus, 2017), dalam jurnalnya yang berjudul “Implementasi Kriptografi dan Kompresi SMS Menggunakan Algoritma RC6 dan Algoritma Huffman Berbasis Android” membahas mengenkripsi, mendekripsi dan kompresi isi pesan pada aplikasi sms. Algoritma kriptografi yang digunakan untuk melakukan enkripsi adalah algoritma RC6 dan algoritma untuk melakukan kompresi data adalah algoritma Huffman. Setelah menggunakan aplikasi ini isi pesan tersebut tidak dapat dibaca dan setelah proses enkripsi isi sms tersebut akan dikompresi agar hasil hurufnya menjadi sedikit.

(Alawiyah & Hikmah, 2016), dalam jurnalnya yang berjudul “Modifikasi KriptografiHill CipherKunci Matriks Persegi Panjang Menggunakan Fungsi XOR dan Fungsi XNOR” membahas memodifikasi algoritmahill cipherdengan matriks persegi panjang menggunakan operasi biner

(3)

dengan menambahkan fungsi logika X-OR dan XNOR. Dengan penambahan fungsi logika X-OR dan XNOR, kripnatalis sulit menemukan persemaan linier untuk menemukanplaintextdan matriks kuncinya.

B. Algoritma RC6

Algoritma RC6 merupakan salah satu kandidat Advanced Encryption Standard (AES) yang diajukan oleh RSA Security Laboratiorieskepada NIST. Dirancang oleh Renald L Rivest, M.J.B. Robshaw, R. Sidney dan Y.L. Yin, algoritma ini adalah pengembangan dari algoritma RC5 dan telah memenuhi semua persyaratan yang diajukan oleh NIST. RC6 adalah algoritma yang menggunakan ukuran blok hingga 128 bit, dengan ukuran kunci yang digunakan bervariasi antara 128, 192 dan 256 bit (Laurentinus, 2017).

C. AlgoritmaVigenere

Algoritma Vigenere adalah suatu algoritma yang tergolong ke dalam algoritma subtitusi abjad majemuk. Ini artinya setiap huruf yang sama dalam plaintext tidak dipetakan atau disubtitusi oleh satu huruf.

Melainkan di subtitusi oleh huruf berlainan bergantung dari kunci yang digunakan yang melakukan enkripsi. Vigenere Cipher merupakan bentuk sederhana dari sandi subtitusi polialfabetik. Algoritma ini ditemukan oleh diplomat sekaligus kriptologis dari Prancis, Blaise de vigenere pada tahun 1856, tetapi algoritma ini baru dikenal luas 200 tahun kemudian (Basuki, Paranita, & Hidayat, 2016).

D. AlgoritmaCaesar

Algoritma Caesar merupakan teknik penyandian pertama di dunia dengan menggunakan teknik subtitusi. Algoritma klasik ini juga dikenal dengan algoritma ROT3. Pada awalnya teknik ini digunakan oleh Julius Caesar untuk berkomunikasi dengan tentaranya di garis depan. Agar pesannya aman, Caesar melindungi data yang dikirim dengan melakukan pergeseran pada setiap huruf dalam pesannya atau pun mengubah huruf menjadi angka (Rachman, 2018).

2. Metode Penelitian

Dalam melakukan penelitian diperlukan metode penelitian, dalam metode tersebut dilakukan beberapa tahapan untuk mendapatkan hasil yang baik. Sehingga

penelitian ini dapat berjalan dengan lancar.

Tahapan-tahapan tersebut adalah perencanaan, analisis, desain, implementasi dan hasil

A. Perencanaan

Penulis menerapkan enkripsi pada isi Notes untuk mengamankan data yang akan disimpan dengan menggunakan algoritma RC6,VigeneredanCaesar.

B. Analisis

Dalam langkah ini merupakan analisa terhadap kebutuhan sistem. Pengumpulan data dalam tahap ini penulis melakukan sebuah penelitian, wawancara dan study literatur.

C. Desain

Penulis menggunakan algoritma RC6, VigeneredanCaesar sebagai desain untuk keamanan enkripsi yang akan digunakan pada aplikasinotes.Android studio sebagai software untuk membuat aplikasi berbasis android serta database dengan menggunakanSQLite.

D. Implementasi

Penulis menggunakan bahasa pemrograman java untuk membuat aplikasi Notes berbasis Android, dengan minimal Versi 4.4 atauKitkat.

3. Hasil dan Pembahasan

3.1. Analisis Kebutuhan Non-Fungsional Kebutuhan Non-fungsional adalah jenis kebutuhan yang menjelaskan tentang kebutuhan diluar sistem seperti kebutuhan operasional, performance, keamanan, politik dan budaya. Adapun kebutuhan operasional aplikasi notes algoritma kriptografi RC6, Vigenere dan Caesar ini adalah sebagai berikut :

Kebutuhan perangkat keras perangkat keras yang digunakan penulis dalam pembuatan aplikasi notes kriptografi RC6, Vigenere dan Caesar ini adalah sebagai berikut :

1. Processor Intel® Core™ i7-860 CPU

@2.8GHz x 8 2. Memory RAM 12GB

3. Graphic NVIDIA GeForce GTS 250 Kebutuhan minimal device yang digunakan untuk menjalankan aplikasinotes algoritma kriptografi RC6, Vigenere dan Caesar adalah sebagai berikut :

1. Processor ARM Cortex (ARMv7) single core 1.6GHz

(4)

2. Sistem operasiandroid 4.4 (kitkat).

3. Memory RAM 512MB 4. Graphic Adreno 206

Perangkat lunak yang digunakan dalam pembuatan aplikasi notes algoritma kriptografi RC6, Vigenere dan Caesar ini adalah sebagai berikut :

1. Sistem operasi Windows 10 Pro 64bit.

2. Android Studio.

3. Android Software Development Kit (SDK).

4. Android Development Tools (ADT).

3.2. Perancangan UML A. Use Case Diagram

Use Case diagrammerupakan metode berbasis teks yang menjelaskan apa yang akan dilakukan oleh sistem yang akan dibangun dan siapa yang berinteraksi dengan sistem dan menggambarkan serta mendokumentasikan proses yang kompleks. Adapun use case diagram aplikasi notes algoritma kriptografi RC6, Vigenere dan Caesar adalah sebagai berikut.

Gambar 1.Use Case Diagram B. Activity Diagram

Activity diagram menggambarkan berbagai alur aktifitas dalam sistem yang sedang dirancang, dan bagaimana mereka berakhir. Adapun activity diagram aplikasi

notes algoritma kriptografi RC6, Vigenere danCaesaradalah sebagai berikut.

Gambar 2.Activity diagram menu notes C. Sequence Diagram

Sequence diagram digunakan untuk menggambarkan interaksi antara objek dalam dan sekitar sistem (termasuk pengguna,displaydan sebagainya) berupa message yang digambarkan terhadap waktu. Adapun sequence diagram aplikasi notes algoritma kriptografi RC6, Vigenere danCaesaradalah sebagai berikut.

Gambar 3.Sequence diagram menu notes D. Deployment Diagram

Deployment diagram menggambarkan arsitektur fisik dari perangkat keras dan perangkat lunak sistem, menunjukkan hubungan komputer dengan perangkat (nodes) satu sama lain dan jenis hubungannya. Adapundeployment diagram

(5)

aplikasi notes algoritma kriptografi RC6, Vigenere dan Caesar adalah sebagai berikut.

Gambar 4.Deployment diagramaplikasi notes

3.3. Perancangan Algoritma

Pada sistem enkripsi aplikasi notesini diterapkan algoritma enkripsi yaitu RC6, Vigenere dan Caesar. Dalam rancangan algoritma yang akan dibangun, penulis memilih algoritma RC6 untuk proses pertama enkripsi, setelah berhasil dienkripsi menggunakan algoritma RC6, dilakukan proses kedua yaitu menggunakan algoritma Vigenere untuk dienkripsi kembali. Setelah berhasil dienkripsi menggunakan algoritma Vigenere maka proses terakhir yaitu dienkripsi kembali menggunakan algoritma Caesar. Dan untuk dekripsinya, kebalikan dari proses enkripsi dimana algoritma Caesar yang pertama dekripsi, dilanjutkan proses dekripsi kedua menggunakan algoritma Vigenere dan terakhir di dekripsi kembali menggunakan algoritma RC6.

A. Algoritma RC6

Tahap pertama menggunakan Algoritma RC6, yang merupakan algoritma sederhana, fungsi yang digunakan merupakan fungsi yang sederhana dan hanya mengandalkan prinsip teknik cipher berulang (iterated cipher) untuk keamanan.

Tampilan hasil enkripsi dan data hasil enkripsi yang diterima setiap karakternya memiliki panjang 8 bit, sedangkan sebagian telepon seluler hanya dapat menampilkan karakter dengan panjang 7 bit. Dengan demikian dalam penerapan algoritma RC6 pada isi Notes yang akan dienkripsi diubah kedalam nilai ASCII, dimana nilai karakter dalam tabel ASCII ditambah tabel karakter specialadalah 0 sampai dengan 255, artinya satu karakter ASCII akan diwakili oleh 8 bit, dimana 28 = 256. Sehingga, dalam 1 blok plaintext (32 bit) akan menyimpan 4 karakter dan setiap kali iterasi, maka akan diambil 16 karakter dari plaintext. Apabila panjang plaintextatau panjang kunci kurang dari 16

karakter, maka akan dilakukan padding, yaitu dengan menambah bit “0” (nol) di akhir teks, sehingga panjang teks mencukupi 16 karakter. Layar pada sebagian besar telepon selular hanya dapat menampilkan karakter dengan panjang 7 bit dan isinotes yang telah terenkripsi akan berbentuk binary, sehingga layar tidak akan menampilkan dengan semestinya. Oleh karena itu pada aplikasi yang dibangun, untuk menampilkan pesan yang telah terenkripsi, ditambah informasi karakter yang terdapat isi notes tersebut dengan heksadesimal agar dapat ditampilkan dilayar dan informasinya lebih terbaca.

Algoritma RC6 yang digunakan dalam proses pertama enkripsi di aplikasi notes akan dibangun dengan w sebesar 32 bit, r sebesar 20 kali putaran dan panjang kunci beragam lebih dari 1 karakter (8 bit). Berikut ini merupakan pseudocode enkripsi dan dekripsi algoritma RC6 :

1. Algoritma Pembangkit Sub Kunci Kamus

Type Word32 : 32 bit (tipe data 32 bit) Kunci : String { kunci yang dimasukkan oleh pengguna}

I, j, c, s, v : integer A :integer

B : Integer

S : array [0..43] of word 32 L : array [0..43] of word 32 Function

ROTL (X:Word32; y: integer) – Word 32 {fungsi untuk merotasi bit

sebanyak variable kedua}

Algoritma Input (kunci) S(0) – b7e15163 For I – 1 to 43 do S[i] – s[i-1] + 9e3779b9 Endfor

A – B – I – j – 0 V – 44

If {c>v} then v – c v v*3

For s – 1 to v do

A – S[i] – ROTL ((S[i] + A + B). 3 S – L[j] = ROTL (L[j] + A + B, A + B) I – (i+1) mod 44

J – (j+1) mod c Endfor

2. Algoritma Baca File Masukan Proses Enkripsi

(6)

Prosedur

Baca_Masukan_proses_Enkripsi {Input : Field masukan belum dibaca}

{Output : Field masukan dibaca per 16 karakter dan ditampung dalam

buffer. Pada proses ini pesan, filed nya adalah isi pesan }

Kamus

Field_masukan ; string Buff : array [0..15] of char i : integer

algoritma

Input (field_masukan) i – 0

while (I <=15) and not (EOF) do Read (field_masukan, Buff [i]) Endwhile

3.1 Prosedur Whitening_awal

{input : blok kedua dan keempat belum dijumlahkan dengan sub kunci}

{output : blok kedua dan keempat yang telah dijumlahkan dengan sub

kunci}

Kamus

Type word32 : 32 bit (tipe data sebesar 32 bit)

I : word32 array [0..3] (blok enkripsi/planteks)

E : Array [0..43] of word 32 (sub kunci) Algoritma

K[1] – X[1] + S[0]

K[3] – X[3] + S[1]

3.2 Algoritma Iterasi Prosedur Iterasi

{input : keempat blok setelah whitening awal belum diproses}

{Output : keempat blok yang telah diproses dan saling dipertukarkan}

Kamus

Type word32 : 32 bit {tipe data sebesar 32 bit}

X : word array [0..3] {blok enkripsi/planteks}

Function

ROTL(X : Word32; Y : integer} – word32 {merotasi bit kekiri sebanyak variable kedua}

Temp : word32 U, t : word32 I : integer Algoritma

For I – 1 to 20 do

t – ROTL ( (X[1]*(2*X[1]+1)), 5) u – ROTL ( (X[3]*(2*X[3]+1)), 5)

X[0] – (ROTL ( (X[0] XOR t), u)) + S[2*i}

X[2] – (ROTL ( (X[2] XOR u), t)) + S[2*I + 1]

Temp – X[0]

X[1] – X[1]

X[2] – X[2]

X[3] – Temp End for

3.3 Algoritma Whitening Akhir Prosedur Whitening_akhir

{input : blok pertama dan ketiga belum dijumlahkan dengan sub kunci}

Output : blok pertama dan ketiga yang telah dijumlahkan dengan sub kunci}

Kamus

Type word32 : 32 bit (tipe data sebesar 32 bit)

X : word32 array [0..3] blok enkripsi/planteks

S : Array [0..43] of word 32 (sub kunci) Algoritma

X[0] – X[0] + S[42]

X[2] – X[0] + S[43]

4. Algoritma Baca File Masukan Proses Dekripsi

Prosedur

Baca_File_Masukan_Proses_Dekripsi {input : Field masukan berupa chiperteks}

(output : Field pada isi pesan yang berupa chiperteks dibaca per 16 karakter

dan ditampung dalam buffer}

Kamus

Field_masukan : string Buff : array [0..15]

i : integer Algoritma

Input (field_masukan) i – 0

while (i <= 15) and not (field_masukan.EOF) do

Read (isi_kolom, Buff [i]) Endwhile

5. Algoritma Dekripsi Prosedur Dekripsi

{input : keempat blok belum diproses}

{output : keempat blok yang telah diproses dans aling dipertukarkan}

Kamus

Type word32 : 32 bit {tipe data sebesar 32 bit}

X : word32 array [0..3] {blok dekripsi/ciperteks}

Function

ROTL (X:word32; Y:integer) – word32 {merotasi bit kekiri sebanyak variable kedua}

(7)

Temp : word32 u, t :word32 I : integer Algoritma

X[2] – X[2] – S[43]

X[0] – X[0] – S[42]

For I – 20 down to 1 do Temp – X[3]

X[3] – X[2]

X[2] – X[1]

X[1] – X[0]

u – ROTL ( (X[3]*(2*X(3)+1)), 5) t – ROTL ( (X[1]*(2*X[1]+1}}, 5)

X[2] – (ROTL (X[2] – S(2*1+1]), t) XOR u) X[0] – (ROTL (X[0] – S[2*i]), u) XOR t) End for

X[3] – X[3] – S[1]

X[1] – X[1] – S[0]

B. AlgoritmaVigenere

Tahap kedua menggunakan algoritma Vigenere dimana proses ini mengenkripsi dari hasil algoritma RC6. Kunci pada kriptografi Vigenere adalah sebuah kata bukan sebuah huruf. Kata kunci ini akan dibuat berulang sepanjang plaintext, sehingga jumlah huruf pada kunci akan sama dengan jumlah huruf pada plaintext. Pergeseran setiap huruf padaplaintextakan ditentukan oleh huruf pada kunci yang mempunyai posisi yang sama dengan huruf pada plaintext. Cara pertama yang dilakukan yaitu ubah plaintext ke dalam urutan bilangan integer lalu konversikan urutan bilangan ke dalam karakter dengan mengacu pada tabel konversi ASCII pada gambar dibawah ini :

Gambar 5. Tabel ASCII

Berikut ini merupakan pseudocode enkripsi dan dekripsi algoritmaVigenere:

//proses enkripsi Deklarasi

Key, newKey, plaintext : string;

i, j : integer;

Dekripsi input (key);

input (plaintext);

for (int i ← 0; i < plaintext.length)do j ← i mod key.length();

newKey ← key(j);

end for;

write(newKey);

karakter [i] ← plaintext;

key ← get(key.plaintext)-97;

for (int i ← 0; i < karakter.length)do ciphertext←(char) (((256((karakter[i]+‘

’)+key(i)+‘ ‘)) mod 256+’ ’);

end for

write (ciphertext);

//proses dekripsi Deklarasi

Key, newKey, ciphertext : string;

i, j : integer;

Dekripsi input (key);

input (ciphertext);

for (int i ← 0; i < ciphertext.length)do j ← i mod key.length();

newKey ← key.charAt(j);

end for;

write(newKey);

karakter [i] ← ciphertext;

key ← get(key. ciphertext)-97;

for (int i ← 0; i < karakter.length)do plaintext ← (char) (((256+((karakter[i] – ‘

’)-key.charAt(i) – ‘ ‘)) mod 256)+’ ’);

end for

write (plaintext);

C. AlgoritmaCaesar

Tahap terakhir menggunakan algoritma Caesardimana proses ini mengenkripsi dari hasil algoritma RC6 dan algoritmaVigenere. Caesar Cipher merupakan sistem persandian klasik berbasis substitusi yang sederhana. Enkripsi dan dekripsi pada sistem persandian caesar menggunakan operasi shift. Dalam algoritma ini tiap huruf disubtitusi dengan huruf dengan jarak yang telah ditentukan dalam susunan abjad yang sama. Berikut ini merupakan pseudocode enkripsi dan dekripsi algoritmaCaesar:

(8)

//proses enkripsi Deklarasi

key : integer;

ciphertext : string;

Dekripsi input key;

input plaintext;

karakter [i] ← plaintext;

for (int i ← 0; i < karakter.length)do ciphertext←(char)(((karakter[i]-‘’) + key));

end for;

write (ciphertext);

//proses dekripsi Deklarasi

key : integer;

ciphertext : string;

Dekripsi input (key);

input (ciphertext);

karakter [i] ← ciphertext;

for (int i ← 0; i < karakter.length)do plaintext←(char)(((karakter[i]-‘’) - key));

end for

write (plaintext);

D. Penggabungan Algoritma

Berikut adalah class penggabungan algoritma RC6,VigeneredanCaesar.

public class NotesXCrypto { //proses enkripsi

public String Encrypt(String content) {

DatabaseHandler db =

NotesXApplication.getDatabase();

String

key=GenerateKey(db.getPassword());

RC6 rc=new RC6();

VigenereCipher vg=new

VigenereCipher();

CaesarCipher cs=new

CaesarCipher();

String EncryptedContent;

String rc6=rc.encrypt(content,key);

String vigenere=vg.encrypt(rc6,key);

String

caesar=cs.encrypt(vigenere,key.length())

;

EncryptedContent= caesar;

return EncryptedContent;

//proses dekripsi}

public String Decrypt(String cipher,String Key) {

if ( cipher==null ){

return cipher;

}

if (cipher.equals("\n" +

"\n" +

"\n" +

"\n" +

"\n") ){

return cipher;

}

DatabaseHandler db =

NotesXApplication.getDatabase();

String key=GenerateKey(Key);

RC6 rc=new RC6();

VigenereCipher vg=new

VigenereCipher();

CaesarCipher cs=new

CaesarCipher();

String DecryptedContent;

String

caesar=cs.decrypt(cipher,key.length());

String

vigenere=vg.decrypt(caesar,key);

String rc6=rc.decrypt(vigenere,key);

DecryptedContent= rc6;

return DecryptedContent;

//generate kunci}

public String GenerateKey( String s) { final String MD5 = "MD5";

try {

// Create MD5 Hash

MessageDigest digest = java.security.MessageDigest.getInstance (MD5);

digest.update(s.getBytes());

byte messageDigest[] = digest.digest();

// Create Hex String

StringBuilder hexString = new StringBuilder();

for (byte aMessageDigest : messageDigest) {

String h =

Integer.toHexString(0xFF &

aMessageDigest);

while (h.length() < 2) h = "0" + h;

hexString.append(h);

} return

hexString.toString().substring(0,16);

} catch (Exception e) {

Log.e("Generate Key", e.getMessage());

}

return "";

} }

3.4. Implementasi A. Tampilan Aplikasi

(9)

Berikut beberapa tampilan aplikasi notesyang telah dirancang.

Gambar 6.Login

Gambar 7. Halaman utama

Gambar 8. Menu membuatnoteteks biasa

Gambar 9. Menu membuatnote formkartu

Gambar 10. Menu membuatnote form login

Gambar 11. MenuNotes

Gambar 12. Menu Pengaturan B. Hasil enkripsi

Berikut ini merupakan hasil enkripsi dari algoritma RC6, Vigenere dan Caesar pada aplikasinotes.

(10)

Gambar 13. Hasil enkripsi didatabase notes

4. Kesimpulan

Berdasarkan uraian yang telah dibahas sebelumnya mengenai penerapan algoritma kriptografi RC6,VigeneredanCaesarpada aplikasi notes berbasis android, baik secara teoritis maupun penerapannya, maka penulis dapat mengambil kesimpulan sebagai berikut :

1. Aplikasi Notes ini memiliki fitur pengamanan informasi ganda yaitu login password, password timeoutdan enkripsi isinotes sehingga user dapat merahasiakan isinoteslebih baik.

2. Aplikasi Notes ini menerapkan metode algoritma RC6, Vigenere dan Caesar untuk enkripsi isi notes. Sehingga isi notes yang tersimpan pada database aplikasi notes ini tidak dapat terbaca dan sangat aman untuk menyimpan notes yang bersifat penting atau rahasia.

Berikut beberapa saran yang dapat dipergunakan sebagai pertimbangan untuk pengembangan aplikasi pada penelitian selanjutnya.

1. Aplikasi Notes ini membutuhkan pengembangan kembali agar bisa menyimpan catatan berupa gambar maupun suara.

2. Selanjutnya dapat menggunakan metode enkripsi lain yang lebihmodern dari metode enkripsi yang digunakan saat ini.

3. Notes yang dienkripsi baru sebatas teks saja, untuk kedepannya perlu dibuat enkripsi untuk penyimpanan gambar maupun suara.

4. AplikasiNotesini membutuhkan proses enkripsi tambahan ketika user

melakukan share note dan dibuatkannya menu khusus untuk mendekripsi hasil terimashare note. 5. Aplikasi Notes ini diperlukannya fitur

lupa password dan menambahkan beberapa menu seperti reminder dan to-do list.

5. Referensi

Alawiyah, T., & Hikmah, A. B. (2016).

MODIFIKASI KRIPTOGRAFI HILL CIPHER KUNCI MATRIKS PERSEGI PANJANG MENGGUNAKAN FUNGSI XOR DAN FUNGSI XNOR.Indonesian Journal on Computer and Information Technology,1(1), 68–82.

Basuki, A., Paranita, U., & Hidayat, R.

(2016). PERANCANGAN APLIKASI

KRIPTOGRAFI BERLAPIS

MENGGUNAKAN ALGORITMA

CAESAR, TRANSPOSISI,

VIGENERE, DAN BLOK CIPHER BERBASIS MOBILE. Seminar Nasional Teknologi Informasi Dan Multimedia,1(2), 31–35.

Kharisma, R. S., & Rachman, M. A. F.

(2017). PEMBUATAN APLIKASI

NOTES MENGGUNAKAN

ALGORITMA KRIPTOGRAFI

POLYALPHABETIC SUBTITUTION CIPHER KOMBINASI KODE ASII DAN

OPERASI XOR BERBASIS

ANDROID.Jurnal Teknologi Informasi, 35, 1–7.

Laurentinus. (2017). IMPLEMENTASI KRIPTOGRAFI DAN KOMPRESI SMS MENGGUNAKAN ALGORITMA RC6

DAN ALGORITMA HUFFMAN

BERBASIS ANDROID. Jurnal Ilmiah Informatika Global,8(1), 36–42.

Pabokory, F. N., Astuti, I. F., & Kridalaksana, A. H. (2015). IMPLEMENTASI KRIPTOGRAFI PENGAMANAN DATA PADA PESAT TEKS, ISI FILE DOKUMEN, DAN FILE DOKUMEN

MENGGGUNAKAN ALGORITMA

ADVANCED ENCRYPTION

STANDARD. Jurnal Informatika Mulawarman,10(1), 20–31.

Rachman, M. A. F. (2018). PERANCANGAN APLIKASI MEMO MENGGUNAKAN

ALGORITMA KRIPTOGRAFI

CAESAR CIPHER DAN RSA

BERBASIS ANDROID. Seminar Nasional Inovasi Dan Aplikasi Teknologi Di Industri, 121–127.

Referensi

Dokumen terkait

Solution for uranium nuclei Using a program that executes the specified algorithm, a model prob- lem was solved that demonstrates the possible effects in scattering on a non-spherical

The combined application of bacteriocin and Asam Sunti extract on fresh lettuce had the best reduction in total bacteria in isolates LL1.2 bacteriocin only and LL3.11 ratio 2:1 by 97%..