• Tidak ada hasil yang ditemukan

Implementasi Algoritma Hill Cipher 3x3 dan Rabin Public Key pada Pengiriman Short Message Service (SMS)

N/A
N/A
Protected

Academic year: 2017

Membagikan "Implementasi Algoritma Hill Cipher 3x3 dan Rabin Public Key pada Pengiriman Short Message Service (SMS)"

Copied!
108
0
0

Teks penuh

(1)

A-1

public class Splash extends Activity { protected int splash_ = 1000; @Override

protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);

this.requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.activity_splash);

//getSupportActionBar().hide();

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); setSplash();

public class BuatPesan extends Activity {

EditText nomorKontak, text, hasilencrypt, kunci_p_enk, kunci_q_enk, kuncihill_enk, hasilencryptkunci;

TextView pubkey, nilaiK; // contact picker

private static final int CONTACT_PICKER_RESULT = 1001;

private long waktumulaihill, waktuakhirhill, selisihhill, waktumulairabin; // phonecontact

public void doLaunchContactPicker(View view) {

Uri uri = ContactsContract.CommonDataKinds.Phone.CONTENT_URI;

(2)

Intent contactPickerIntent = new Intent(Intent.ACTION_PICK, uri); startActivityForResult(contactPickerIntent, CONTACT_PICKER_RESULT); }

protected void onActivityResult(int requestCode, int resultCode, Intent data) {

(3)

A-3

public void onCreate(final Bundle savedInstanceState) { super.onCreate(savedInstanceState);

this.setTitle("Encrypt Message"); setContentView(R.layout.buatpesan);

final Button send = (Button) findViewById(R.id.send); final Button encrypt = (Button) findViewById(R.id.encrypt);

final Button encryptkunci = (Button) findViewById(R.id.encryptkunci); text = (EditText) findViewById(R.id.smsBox);

nomorKontak = (EditText) findViewById(R.id.nomorHp); hasilencrypt = (EditText) findViewById(R.id.hasilEncrypt);

hasilencryptkunci = (EditText) findViewById(R.id.hasilEncryptkunci); kunci_p_enk = (EditText) findViewById(R.id.kunci_p_enk);

kunci_q_enk = (EditText) findViewById(R.id.kunci_q_enk); kuncihill_enk = (EditText) findViewById(R.id.KunciHill_enk); pubkey = (TextView) findViewById(R.id.pubkey);

(4)

} else if (!q.matches("[0-9]*")) { " + duration + "ms", Toast.LENGTH_LONG).show();

}

(5)

A-5

(6)

3. LihatPesan.java

public class LihatPesan extends Activity {

private static final Charset UTF8_CHARSET = Charset.forName("UTF-8"); final int tipe_enkripsi=128;

private long

selisihhill,waktuawalhill,waktuakhirhill,selisihrabin,waktuawalrabin,waktuakhirrab in,selisihtotal;

TextView number, date, msg,hasilDekripsi;

Button forward, hapus,dekripsi,dekripsikunci,btndekriphill;

EditText kunci_p_dek,kunci_q_dek,nilai_k,kuncihill_Dek,hasildekkuncihill; public boolean pil_rad=true;

@Override

protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);

setContentView(R.layout.lihatpesan); this.setTitle("Decrypt Message");

number = (TextView) findViewById(R.id.tvNumber); date = (TextView) findViewById(R.id.tvDate); msg = (TextView) findViewById(R.id.tvMsg);

hasilDekripsi = (TextView) findViewById(R.id.hasildekrip); dekripsi = (Button) findViewById(R.id.dekripsiBtn); forward = (Button) findViewById(R.id.btFrd);

btndekriphill=(Button) findViewById(R.id.btnDekripkunci); hapus = (Button) findViewById(R.id.hapus);

kunci_p_dek = (EditText) findViewById(R.id.kunci_p_dek); kunci_q_dek = (EditText) findViewById(R.id.kunci_q_dek);

hasildekkuncihill=(EditText) findViewById(R.id.hasildekkuncihill); kuncihill_Dek = (EditText) findViewById(R.id.kuncihill_dek); nilai_k = (EditText)findViewById(R.id.k_values);

kuncihill_Dek.setText(SimpanKunci.getCipherkey()); nilai_k.setText(SimpanKunci.getKkey());

(7)
(8)

long Sfinal = Long.parseLong(SS);

(9)

A-9 tidak memenuhi GCD atau tidak memenuhi syarat inversi modulo ");}

}

number.setText(i.getStringExtra("no")); date.setText(i.getStringExtra("date")); msg.setText(i.getStringExtra("msg"));

forward.setOnClickListener(new OnClickListener() { @Override

(10)

String id_thread_hapus = i

(11)

A-11

public String singlebin(String x){ String n="";

Intent link = new Intent(LihatPesan.this, DataPesan.class); Intent i = getIntent();

link.putExtra("tipepesan", i.getStringExtra("asal")); startActivity(link);

public class MainActivity extends Activity { //Button tentang, bantuan;

@Override

protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);

this.requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.activity_main);

((Button) findViewById(R.id.btnPesanbaru)).setOnClickListener(new OnClickListener() {

((Button) findViewById(R.id.btnPesankeluar)).setOnClickListener(new OnClickListener() {

public void onClick(View v) {

Intent click = new Intent(MainActivity.this, DataPesan.class); click.putExtra("tipepesan", "sent");

(12)

startActivity(click); }

});

((Button) findViewById(R.id.btnPesanmasuk)).setOnClickListener(new OnClickListener() {

((Button) findViewById(R.id.btnBantuan)).setOnClickListener(new OnClickListener() {

((Button) findViewById(R.id.btnTentang)).setOnClickListener(new OnClickListener() {

((Button) findViewById(R.id.btnKeluar)).setOnClickListener(new OnClickListener() {

(13)

A-13

String[] columns = new String[] { "address", "body", "date" };

int[] to = new int[] { R.id.pengirim, R.id.isipesan, R.id.waktu };

public boolean setViewValue(View view, Cursor cursor, int columnIndex) {

(14)
(15)

A-15

// jika di pesan di klik, maka akan dialihkan ke lihat pesan secara full // Get the cursor, positioned to the corresponding row in the

// result set

Cursor cursor = (Cursor) listView.getItemAtPosition(position);

(16)
(17)

A-17

public void keytomatrix(String key, int len) { keymatrix = new int[len][len];

public void linetomatrix(String line) { linematrix = new int[line.length()]; for (int i = 0; i < line.length(); i++) {

linematrix[i] = (tabelEnc.getIndex(line.charAt(i))); }

}

(18)
(19)

A-19

public void matrixtoinvkey(int inv[][], int n) {

(20)

8. SimpanKunci.java

public class SimpanKunci {

private static String cipherkey="", Kkey = ""; public static void setCipherkey(String c){ cipherkey += c + " ";

}

public static String getCipherkey(){ return cipherkey;

}

public static void setKkey(String c){ Kkey += c + " ";

(21)

A-21

10. bantuan.java

import android.app.Activity; import android.os.Bundle;

public class bantuan extends Activity { @Override

protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);

setContentView(R.layout.bantuan); this.setTitle("Help");

} }

11. tentang.java

import android.app.Activity; import android.os.Bundle;

public class tentang extends Activity { @Override

protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);

setContentView(R.layout.tentang); this.setTitle("About");

} }

(22)

D

AFTAR

R

IWAYAT

H

IDUP

CURRICULUM VITAE

I. DATA PRIBADI /Personal Identification

Nama Lengkap : Fitri Rahmadhani

Tempat/Tgl. Lahir : Medan / 28 Februari 1995

Jenis Kelamin : Perempuan

Agama : Islam

Kebangsaan : Indonesia

Alamat : Jalan AR Hakim Gg.Nangka No.42 A Medan Area, Medan, Sumatera Utara, Indonesia 20216

Telepon : +6285277328530

Moto Hidup : Bermanfaat bagi Orang Lain

Email : fitri.rahmadhani80@gmail.com

II. KEMAMPUAN / Capabilities

Bahasa : Bahasa Indonesia, Bahasa Inggris

Bahasa Pemrograman : C#, PHP, Java for Mobile

Database : MySQL

Lainnya : HTML, CSS, Photoshop, Ms. Office, Adobe Flash

III. PENDIDIKAN FORMAL / Formal Education

 [ 2012 – 2016 ] S1 Ilmu Komputer, Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara

 [ 2009 – 2012 ] SMA Swasta Eria Medan

 [ 2006 – 2009 ] SMP Swasta Al Washliyah Medan

 [ 2000 – 2006 ] SD Swasta Nurhasanah Medan IV. PENDIDIKAN NON-FORMAL / Informal Education

 [ 2001 – 2006 ] Ta’limul Qur’an Lil Aulad (TQA) Al- Fauzi, Medan

 [ 2011 – 2012 ] Ganesha Operation, Medan. V. PRESTASI / Achievements

1) Delegasi dari Indonesia di Young ICT Leaders Forum, Busan, Korea Selatan [2015]

2) Pengajar Muda Gerakan USU Mengajar [2014]

3) Finalis Desain ARTechno Universitas Sumatera Utara [2014]

4) Juara 2 Desain Poster “Islamic Booming” Aladiyansyah Expo Universitas Sumatera Utara [2014]

5) Juara 2 Desain Poster “Keep Health Tooth” Mukernas FKG Nasional [2014]

6) Juara 3 Fotografi “Healhty Smile” Mukernas FKG Nasional [2014]

7) Honorable Participant Of SGC English Universitas Sumatera Utara [2014]

8) Juara 3 Menulis Puisi untuk Ibu Universitas Sumatera Utara [2013]

(23)

B - 2

VI. PENGALAMAN KERJA / Working Experience

1) Desainer Grafis di Mitra Jaya Solusindo, Medan [2016]

2) Asisten Laboratorium di Ilmu Komputer Laboratory Center (IKLC) Fasilkom-TI USU, Medan [2013-2016]

3) Volunteer Desain di WWF Indonesia [2016]

VII. PENGALAMAN BERBICARA / Speaking Experience

1) Pemateri Animasi di Al-Khuwarizmi Academy Al-Khuwarizmi USU, Universitas Sumatera Utara [2015]

2) Pemateri Animasi di IMILKOM Goes to School, Universitas Sumatera Utara [2015]

3) Instruktur di Training Islam Ceria dan Kreatif (TRICK), UKMI Al-Khuwarizmi Fasilkom-TI Universitas Sumatera Utara [2014]

VIII. PELATIHAN DAN SEMINAR / Trainings & Workshop

1) Peserta Pelatihan “Builiding Strong Indonesia Digitalpreneur with Distruptive Mindset” by Indigo in DiLo, Medan [2016]

2) Peserta Seminar Bukalapak [2015]

3) Peserta Pelatihan Design Top Coder Universitas Sumatera Utara [2015]

4) Peserta Seminar dan Workshop Windows Phone Microsoft Indonesia [2014]

5) Peserta Seminar Nasional Literasi Informasi (SENARAI) Fasilkom-TI Universitas Sumatera Utara [2014]

6) Peserta Training Junior Multimedia dan Fundamental Graphical from KOMINFO [2014]

7) Peserta Workshop Desain Grafis [2013]

8) Peserta Seminar Kongres Nasional ILP2MI (Ikatan Lembaga Penalaran dan Penelitian Mahasiswa Indonesia) Universitas Sumatera Utara [2013]

9) Peserta Training Islam Ceria dan Kreatif, UKMI Al-Khuwarizmi, Medan [2013]

10) Peserta Pelatihan Dasar Organisasi IMILKOM USU [2013]

11) Peserta Pelatihan dan Kesekretariatan IMILKOM USU [2013]

12) Peserta Seminar Smartfren Library “Kulik Lebih Jauh lagi Teknologi Rev B” Universitas Sumatera Utara [2012]

13) Peserta Seminar One Day Building Line Follower Robot Universitas Sumatera Utara [2012]

14) Peserta Training Ramadhan UKMI AlKhuwarizmi Universitas Sumatera Utara [2012]

15) Peserta Training dan Workshop Linux KSL (Kelompok Studi Linux) Universitas Sumatera Utara [2012]

16) Peserta Seminar “Perempuan dan Ruang Publik” Universitas Sumatera Utara dan Universitas Paramadina [2012]

17) Peserta Pesantren Kilat Ramadhan, SMA Swasta Eria Medan [2010;2011]

XI. PENGALAMAN ORGANISASI / Organizational Experiences

1) Sekretaris Relawan TIK (Indonesian ICT Volunteers) Komisariat USU [2013 – Sekarang]

2) Manager Digital Marketing Communication AIESEC [2015 – 2016]

3) Sekretaris Jenderal Pemerintahan Mahasiswa (PEMA) Fasilkom-TI Universitas Sumatera Utara [2015 – 2016]

4) Bendahara Smart Generation Community (SGC) Universitas Sumatera Utara [2014 – 2015]

5) Sekretaris Komisi Pemilihan Umum (KPU) Universitas Sumatera Utara [2014-2015]

6) Sekretaris Bidang Syiar UKMI Al-Khuwarizmi Universitas Sumatera Utara [2014-2015]

7) Divisi Blogger Sahabat Beasiswa Untuk Negeri [2013-2014]

8) Bendahara Kelompok Studi Linux (KSL) Universitas Sumatera Utara [2012 – 2013]

9) Koordinator Bidang Budi Pekerti Siswa OSIS SMA Eria Medan [2011-2012]

(24)

X. PENGALAMAN KEPANITIAAN / Committee Experiences

1) Anggota Publikasi dan Dokumentasi di Penyambutan Mahasiswa Baru Ilmu Komputer Universitas Sumatera Utara [2014]

2) Sekretaris di Science Competition se-Sumatera Utara [2014]

3) Anggota Publikasi dan Dokumentasi Pekan Olahraga dan Seni (PORSENI) IMILKOM USU [2014]

4) Bendahara di Pesta Akbar Mentoring Universitas Sumatera Utara [2014]

5) Wakil Sekretaris ARTechno Universitas Sumatera Utara [2014]

6) Sekretaris Training Islam Ceria dan Kreatif (TRICK) IX UKMI Al Khuwarizmi Universitas Sumatera Utara [2013]

7) Tim Kreatif di Dakwah Expo 6 Universitas Sumatera Utara [2013]

8) Panitia Pelaksana pada Pelatihan Sistem Informasi Geografis di S1 Ilmu Komputer USU [2013]

9) Anggota Acara di Kuliah Umum Indonesia-Jepang Universitas Sumatera Utara [2013]

10) Tim Kreatif di Al Khuwarizmi Festival Universitas Sumatera Utara [2013]

11) Anggota Konsumsi di Dies Natalis S1 Ilmu Komputer ke-11 Universitas Sumatera Utara [2012]

XI. PENGABDIAN / Social Volunteer

1) Pengabdian SLB Yayasan Pembinaan Anak Cacat (YPAC) Relawan TIK Sumatera Utara [2016]

2) Pengabdian Masyarakat SMATerpadu Al-Bukhari Muslim Medan [2016]

3) Pengabdian Masyarakat SMP Negeri 1 Binjai Sumatera Utara [2016]

4) Gerakan 1001 Al Quran UKMI Ad Dakwah Universitas Sumatera Utara [2015]

5) Bakti Sosial Panti Asuhan Bani Adam UKMI Al Khuwarizmi Universitas Sumatera Utara [2014]

6) Pengabdian Masyarakat SMA Pakam dan Tanjung Morawa Sumatera Utara [2014]

7) Bakti Sosial Gunung Sinabung Relawan TIK Sumut [2014]

8) Pengabdian Masyarakat TK Uswatun Hasanah Medan Relawan TIK Sumatera Utara [2013]

XI. PROJEK YANG TELAH DIKERJAKAN / Portofolio Project

1) Website “Sewa Kost” Projek Pemrograman Internet

2) IKLC Portal Projek Pemrograman Visual dengan C#

3) Animasi Company Profile UKMI Al Khuwarizmi Projek Pengajaran Berbantuan Komputer

4) Aplikasi Chef’s Key Projek Mobile Programming

5) Website “Desa Jatikusuma Namorambe” Projek Sistem Manajemen Database Lanjutan 6) Website KOM A Directory Projek Sistem Informasi

7) Interface Design Game Faster Android Projek Kinyu Dev

8) Interface Design Portal IKLC for Mobile Projek IKLC Dev

XIV. LAINNYA / Others

1) Penerima Beasiswa Peningkatan Prestasi Akademik Fasilkom-TI USU [2013 – 2014]

2) Peserta Olimpiade Nasional Kimia di SMA Negeri 4 Medan [2011]

(25)

DAFTAR PUSTAKA

Ambler, S. W. 2005. The Elements of UML™ 2.0 Style. Cambridge University Press: Cambridge.

Ariyus, D. 2008. Pengantar Ilmu Kriptografi: Teori, Analisis dan Implementasi. ANDI: Yogyakarta

Entprise, Jubilee. 2010. Step By Step Ponsel Android. PT Elex Media Komputindo: Jakarta

Fauzana, 2013. Analisis dan perancangan sistem autentikasi pengguna pada web menggunakan metode multiple-key RSA. Skripsi. Universitas Sumatera Utara. Galbraith, Steven D. 2012. Mathematics of Public Key Cryptography. Cambridge

University Press: New York.

Gaspersz, Vincent. 1997. Manajemen Kualitas: Penerapan konsep-konsep kualitas dalam manajemen bisnis total. Gramedia Pustaka Utama: Jakarta.

Harahap, A.A. 2014. Implementasi Sistem Keamanan Data Menggunakan Steganografi Teknik Pemetaan Titik Hitam dengan Pencarian Sekuensial dan Rabin Cryptosystem. Skripsi. Universitas Sumatera Utara.

Kromodimoeljo, S. 2010. Teori dan Aplikasi Kriptografi. SPK IT Consulting: Jakarta. Lipschutz, S. & Lipson, M. L. 2007. Schaum’s Outline of: Theory and problems of

discrete mathematics. McGraw-Hill: New York.

Mollin, Richard. A. 2007.An Introduction to Cryptography 2nd Ed. Taylor & Francis Group, LLC. United State of America.

Munir, R. 2006. Kriptografi. Informatika: Bandung.

Nasution, R. N. N. 2015. Implementasi Algoritma Hill Cipher dan RSA pada Enkripsi Hybrid Pesan SMS di Android. Skripsi. Medan. Universitas Sumatera Utara.

Paar, C. & Pelzl, J. 2010. Understanding Cryptography. Springer-Verlag: Berlin. Rosen, K. H. 2012. Discrete Mathematics and Its Applications. 7th Edition. McGraw-

Hill: New York.

(26)

Sadikin, R. 2012. Kriptografi untuk Keamanan Jaringan dan Implementasinya dalam Bahasa Java. ANDI: Yogyakarta.

Schneier, B. 1996. Applied Cryptography: Protocols, Algorithms and Source Code in C. 2nd Edition. John Wiley & Sons, Inc: New Jersey

Simamora, Jonathan. 2015. Implementasi Algoritma One Time Pad dan Algoritma Hill Cipher pada SMS. Skripsi. Medan. Universitas Sumatera Utara.

Stallings, W. 2011. Cryptography and Network Security: Principles and practice. 5th Edition. Pearson Education, Inc.: USA.

Verma. A & Gakhar.A. 2015. Design and Development of Algorithm Using Chemical Cryptography. Journal of Computer Science 643-648. (Online) www.sciencedirect.com/science/article/pii/S1877050915021948 (Diakses 13 Maret 2016)

Wandani, H. 2012. Implementasi sistem keamanan data dengan menggunakan teknik steganografi end of file (EOF) dan Rabin public key cryptosystem. Skripsi. Universitas Sumatera Utara.

(27)

BAB 3

ANALISIS DAN PERANCANGAN SISTEM

3.1. Analisis Sistem

Analisis sistem merupakan salah satu tahapan dalam perancangan sebuah sistem. Analisis sistem bertujuan untuk memahami dan mendeskripsikan dengan jelas apa yang harus dilakukan dalam proses perancangan sebuah sistem. Secara umum analisis sistem terbagi atas analisis masalah, analisis kebutuhan dan analisis proses. Analisis masalah bertujuan untuk memahami kelayakan masalah. Analisis kebutuhan dilakukan untuk menjelaskan fungsi-fungsi yang ditawarkan dan yang mampu dikerjakan sistem. Sedangkan analisis proses untuk memodelkan tingkah laku sistem.

3.1.1. Analisis masalah

Masalah yang akan diselesaikan dengan menggunakan sistem ini adalah bagaimana mengamankan pesan teks dan mengamankan kunci pesan tersebut dari pihak-pihak yang tidak berwenang (pihak ketiga). Masalah utama didalam penelitian ini adalah bagaimana menerapkan algortima Hill Cipher dan Algoritma Rabin Public Key dalam pengamanan data teks berbasis Android.

Masalah pada penelitian ini diidentifikasikan dengan menggunakan diagram Ishikawa. Diagram Ishikawa atau yang sering dikenal dengan Cause and Effect

Diagram adalah diagram yang digunakan untuk memahami dan mengidentifikasi serta

menggambarkan beberapa masalah yang terjadi pada sistem dan akibat yang ditimbulkan oleh masalah.

Permasalahan pada penelitian ini secara umum dapat ditunjukkan pada diagram Ishikawa yaitu pada Gambar 3.1.

(28)

Gambar 3.1 Diagram Ishikawa Analisis Masalah

Diagram Ishikawa diusulkan pertama kali oleh Kaoru Ishikawa dari Jepang. Diagram ini merupakan pendekatan terstruktur yang memungkinkan dilakukan suatu analisis lebih terperinci dalam menemukan penyebab-penyebab suatu masalah, ketidaksesuaian dan kesenjangan yang ada. Selanjutnya, diagram ini dapat digunakan dalam diskusi dengan brainstorming untuk mengidentifikasi mengapa suatu masalah terjadi (Gaspersz, 1997).

Pada Gambar 3.1, dapat disimpulkan bahwa permasalahannya adalah muncul rasa curiga atau ingin tahu dari pihak ketiga terhadap kerahasian sebuah pesan yang disebabkan faktor perubahan ciphertext dan penggunaan menggunakan satu kunci yang tidak aman dalam mengirimkan pesan kepada orang lain.

Solusi yang dapat ditawarkan adalah dengan mengunci ciphertext dengan algortima Hill Cipher serta mengunci cipherkey dengan algoritma Rabin Public Key dalam

pengiriman pesan.

3.1.2. Analisis kebutuhan

Didalam analisis kebutuhan ini terdapat dua kebutuhan yaitu kebutuhan fungsional dan kebutuhan non fungsional.

3.1.2.1. Kebutuhan fungsional

(29)

30

1. Fungsi Pembangkit Kunci

Untuk melakukan enkripsi dan dekripsi sistem membutuhkan pembangkit kunci untuk memudahkan pengguna dalam menentukan kunci yang akan digunakan. Pada sistem, kunci yang dibangkitkan dimasukkan langsung oleh pengguna. 2. Fungsi Enkripsi

Fungsi enkripsi pada sistem digunakan untuk membuat plaintext menjadi ciphertext. Sebelum melakukan enkripsi, sistem terlebih dahulu melakukan

enkripsi kunci. 3. Fungsi Dekripsi

Fungsi dekripsi pada sistem digunakan untuk membuat ciphertext menjadi plaintext. Namun, sebelum melakukan dekripsi pesan, pengguna sudah memiliki

kunci yang sesuai sehingga pengguna dapat melakukan dekripsi ciphertext menjadi plaintext.

3.1.2.2. Kebutuhan nonfungsional

Kebutuhan non-fungsional adalah mendeskripsikan fitur, karakteristik dan batasan lainnya seperti performa, penggunaan, model penyimpanan data, dokumentasi, kontrol, dan ekonomi. Terdapat beberapa hal yang menjadi syarat kebutuhan non-fungsional antara lain:

1. Performa

Sistem yang dibangun dapat menampilkan dan menyimpan hasil dari fungsi kriptografi yang dilakukan oleh sistem.

2. Mudah dipelajari dan digunakan

Sistem yang dibangun memiliki tampilan yang user friendly dan tampilan yang sederhana.

3. Dokumentasi

Sistem yang dibangun memiliki panduan penggunaan. 4. Manajemen Kualitas

Sistem yang dibangun akan memiliki kualitas yang baik yaitu pada proses kriptografi cepat.

5. Kontrol

Sistem yang dibangun akan menampilkan pesan error untuk setiap input yang tidak sesuai.

(30)

6. Keamanan

Dalam hal ini sistem mengamankan kunci yang digunakan.

3.1.3. Analisis proses

Pada penelitian ini sistem yang dibangun menggunakan algoritma Hill Cipher untuk melakukan proses enkripsi dan dekripsi pesan dan Rabin Public Key dalam melakukan proses enkripsi dan dekripsi kunci pesan.

Pada awalnya, pengirim mengirim pesan lalu dan setelah itu dienkripsi oleh algortima Hill Cipher. Setelah pesan dienkripsi, pengirim memasukkan kunci Hill, kunci P dan Q dimana kunci P dan Q merupakan bilangan prima dan dienkripsi menggunakan algoritma Rabin. Pencarian greatest common divisor menggunakan algoritma extended Euclidean. Untuk membangkitkan kunci pada algoritma Rabin Cryptosystem, digunakan algoritma Fermat untuk menemukan bilangan prima atau

menentukan keprimaan suatu bilangan. Setelah semua proses dilakukan, pesan akan dikirim kepada penerima. Proses selanjutnya adalah penerima menerima pesan yang telah dienkripsi oleh pengirim. Setelah pesan masuk, penerima memasukkan kunci P dan Q untuk dekripsi kunci Hill yang telah diinputkan pengirim. Setelah kunci didekripsi, maka pesan dapat didekripsi dan pesan asli dapat diketahui oleh penerima.

3.2. Pemodelan (UML)

Unified Modeling Language (UML) digunakan sebagai bahasa spesifikasi standar suatu

model yang berfungsi untuk membantu merancang sebuah sistem. Pemodelan sistem dilakukan untuk menunjukkan dan mendeskripsikan gambaran dari sistem yang akan dibangun. Pada penelitian ini dilakukan pemodelan dengan menggunakan UML untuk mendesain serta merancang sistem. Model UML yang digunakan dalam penelitian ini antara lain adalah usecase diagram, activity diagram serta sequence diagram.

3.2.1. Use-Case Diagram

Diagram usecase digunakan untuk menggambarkan hubungan antara aktor dengan fungsi atau layanan yang disediakan oleh sistem (Ambler, 2005).

(31)

32

tersedia pada sistem dihubungkan oleh garis lurus menyatakan bahwa aktor tersebut melakukan inisiasi atau mengajukan permintaan terhadap suatu usecase. Hubungan yang menyatakan suatu usecase dapat dilaksanakan dengan syarat yaitu kelakuan yang harus terpenuhi (include) digambarkan oleh garis putus-putus dengan tanda panah terbuka. Pada hubungan include, yang menjadi syarat dari suatu usecase adalah usecase pada pangkal tanda panah. Diagram usecase pada penelitian ini dapat dilihat pada Gambar 3.2.

Gambar 3.2 Diagram Use-Case

Pada Gambar 3.2 terdapat actor yang mempunyai peran yaitu sebagai pengirim atau penerima. Actor (pengirim pesan) mengenkripsikan pesan terlebih dahulu dengan algoritma Hill Cipher setelah plaintext dienkripsikan menjadi ciphertext lalu kunci dari Hill Cipher dienkripsikan dengan algoritma Rabin. Kemudian Actror (penerima)

membutuhkan kunci Rabin untuk mendeksripsikan Ciphertext Hill dan didekripsi lagi dengan kunci Hill Cipher menjadi Plaintext kunci Hill Cipher yang digunakan untuk mendeksripsikan pesan yang sebenarnya.

Berikut ini merupakan tabel narrative usecase yang dapat dilihat pada Tabel 3.1 Tabel 3.1 Narrative Use-Case Enkripsi Pesan

Use-case Name Enkripsi Pesan Design Scope Sistem (black box)

Goal Level User-goal

Stakeholder and Interest

Pengirim (Pengguna): dapat mengenkripsikan pesan dan kunci pesan untuk menjaga keamanan pesan.

(32)

Precondition Pengirim (Pengguna) menginputkan pesan dan kunci.

Minimal Guarantee Sistem akan memberikan pesan error ketika enkripsi pesan gagal.

Success Guarantee Sistem akan memberikan pesan enkripsi telah sukses. Trigger Pengguna menekan tombol enkripsi pesan.

Main Success Scenario

1. Pengirim menginputkan plaintext yang akan dienkripsi 2. Pengirim melakukan proses enkripsi kunci

3. Pengirim melakukan proses enkripsi pesan dengan Hill Cipher

4. Sistem akan melakukan enkripsi kunci dengan Rabin Public Key

5. Sistem akan melakukan enkripsi pesan.

6. Sistem akan memberikan pesan bahwa enkripsi pesan dan kunci pesan telah sukses.

Extensions 1. Kunci enkripsi tidak lengkap atau kosong.

a. Sistem akan memberikan pesan kepada pengirim untuk dilakukan cek ulang kembali input-an yang telah diberikan.

Berikut ini merupakan tabel narrative usecase yang dapat dilihat pada Tabel 3.2 yang menjelaskan narrative usecase dekripsi pesan.

Tabel 3.2 Narrative Use-Case Dekripsi Pesan Use-case Name Dekripsi Pesan

Design Scope Sistem (black box)

Goal Level User-goal

Stakeholder and Interest

Penerima dapat mendekripsikan kembali cipherkey dan ciphertext ke dalam bentuk plaintext.

Precondition Penerima menerima ciphertext

Minimal Guarantee Sistem akan memberikan pesan error ketika dekripsi pesan gagal.

Success Guarantee

Sistem akan memberikan pesan dekripsi telah sukses. Trigger Pengguna dapat menekan tombol Dekripsi Pesan. Main Succes

Scenario 1. Penerima memiliki kunci kunci privat P dan Q

2. Penerima mengdekripsikan kunci Pesan dengan Kunci Rabin.

3. Penerima mengdekripsikan ciphertext menjadi plaintext.

(33)

34

5. Sistem akan memberikan pesan bahwa dekripsi telah sukses.

6. Sistem akan menampilkan plaintext

3.2.2. Sequence Diagram

Diagram sequence menggambarkan interaksi antar objek dan menggambarkan komunikasi antar objek-objek tersebut (Ambler, 2005). Berikut Sequence Diagram dari sistem yang dirancang dapat dilihat pada gambar 3.3 dan gambar 3.4.

Gambar 3.3 Diagram Sequence untuk Enkripsi

Gambar 3.4 Diagram Sequence untuk Dekripsi

(34)

3.2.3. Activity Diagram

Diagram aktivitas (activity diagram) menggambarkan proses bisnis atau urutan aktivitas dalam sebuah sistem. Activity Diagram juga bertujuan untuk membantu bagaimana memahami proses dan menggambarkan setiap interaksi yang ada antara beberapa usecase yang digunakan (Ambler, 2005). Activity Diagram dari sistem dapat dilihat pada Gambar 3.5 dan Gambar 3.6.

(35)

36

Gambar 3.6. Activity Diagram Dekripsi

(36)

3.3. Flowchart Sistem

Flowchart atau diagram alir merupakan gambar atau bagan yang memperlihatkan

urutan dan hubungan antar proses dengan pernyataannya (Zarlis & Handrizal, 2008). Berikut adalah flowchart sistem yang dapat dilihat pada Gambar 3.7.

Gambar 3.7 Flowchart Sistem

New Message

Inbox

Sent

Info

Encrypt Message

Select Message

Select Message

Show info aplication

Cypertext Message

Decrypt Message

Decrypt Message Start

End

Send Message

Message

Message

Information Y

Y

Y

Y T

T

T

(37)

38

Dari Gamber 3.7, dapat dilihat bahwa terdapat empat proses. Proses pertama yaitu New Message, dimana ketika membuat pesan baru hal yang dilakukan adalah mengenkripsi

pesan, lalu pesan dienkripsi dan selanjutnya pesan dikirim. Untuk proses Kedua dan Ketiga hampir sama, yaitu pada Inbox dan Sent hal yang dilakukan adalah mendekripsi pesan, lalu pesan didekripsi, dan akan terlihat pesan aslinya. Perbedaannya adalah untuk Inbox dilakukan oleh penerima pesan, sedangkan untuk Sent dilakukan oleh pengirim

untuk melihat apakah pesan tersebut berhasil dikirim dan didekripsi oleh penerima.

3.3.1. Flowchart Enkripsi Pesan dengan Algoritma Hill Cipher

Berikut adalah flowchart enkripsi pesan dari sistem yang dibangun dapat dilihat pada Gambar 3.8

Gambar 3.8 Flowchart Enkripsi Pesan dengan Algoritma Hill Cipher Hill Key, SMS

Encrypt SMS Hill Key

Ciphertext Start

End

(38)

3.3.2. Flowchart Enkripsi Kunci dengan Algoritma Rabin Public Key

Berikut adalah flowchart enkripsi kunci pesan dari sistem yang dibangun dapat dilihat pada Gambar 3.9

Gambar 3.9 Flowchart Enkripsi Kunci dengan Algoritma Rabin Public Key Hill Key, Rabin Key

Encrypt Hill Key with Rabin Key

Cipherkey

Start

(39)

40

3.3.3. Flowchart Dekripsi Pesan dan Kunci Pesan

Berikut adalah flowchart dekripsi pesan dari sistem yang dibangun dapat dilihat pada gambar 3.10

Gambar 3.10 Flowchart dekripsi pesan dan Kunci Pesan

3.4. Perancangan Antarmuka

Perancangan antarmuka adalah desain awal dari tampilan sistem yang akan sistem dibangun. Antarmuka harus dirancang dengan memperhatikan faktor pengguna sehingga sistem yang dibangun dapat memberikan kenyamanan dan kemudahan untuk digunakan oleh pengguna. Sistem yang dibangun terdiri dari form utama atau home, pengirim, dan penerima.

Plaintext Decrypt Cipher SMS

With Hill Key

Ciphertext, Ciphertext Rabin Key, Hill Key

Decrypt Cipher Hill Key

Hill Key Start

End

(40)

3.4.1 Form Utama

Form Utama adalah tampilan awal dari sistem ini dijalankan. Gambar 3.11

menunjukkan tampilan sementara dari form utama yaitu home.

Gambar 3.11 Rancangan Form Utama Keterangan Gambar 3.11:

Tabel 3.3 Tabel keterangan Gambar 3.11

No. Nama Keterangan

1. Button Create Message Tombol untuk membuat pesan baru 2. Button Inbox Tombol untuk melihat pesan masuk

3. Button Sent Tombol untuk melihat pesan yang telah dikirim 4. Button Help Tombol untuk melihat cara menggunakan aplikasi 5. Button About Tombol untuk melihat pembuat aplikasi

6. Button Exit Tombol untuk keluar dari aplikasi

3.4.2. Form Pengirim

(41)

42

Gambar 3.12 Rancangan Form Pengirim Keterangan Gambar 3.12 :

Tabel 3.4 Tabel keterangan Gambar 3.12

No. Nama Keterangan

1. Edit teks Nomor Handphone

Memasukkan nomor tujuan yang akan dikirim pesan.

2. Button Search Untuk mencari nomor di dalam kontak handphone 3. Edit teks Insert

Message

Untuk memasukkan pesan asli atau plaintext yang akan dienkripsi

4. Edit teks Kunci Hill Untuk memasukkan kunci Hill yang akan dienkripsi

5. Edit teks P Untuk memasukkan nilai P yang merupakan bilangan prima dalam proses enkripsi kunci 6. Edit teks Q Untuk memasukkan nilai Q yang merupakan

bilangan prima dalam proses enkripsi kunci 7. Button Encrypt Key Untuk proses enkripsi kunci

8. Edit teks Hasil Enkripsi Untuk melihat hasil enkripsi kunci

9. Edit teks Public Key Untuk melihat kunci publik dari hasil enkripsi kunci

10. Edit teks K Value Untuk melihat nilai K dari hasil enkripsi kunci 11. Button Encrypt

Message Untuk proses enkripsi pesan

12. Edit teks Ciphertext Untuk melihat ciphertext hasil enkripsi pesan

Keterangan:

1) Pengguna dapat menginputkan nomor atau memilih contact yang sudah tersimpan maupun belum tersimpan di smartphone.

(42)

2) Pesan diinputkan secara langsung yang di anggap sebagai plaintext

3) Pengguna mengisi kunci Hill Cipher untuk mengenkripsi pesan dan selanjutnya menekan tombol enkripsi pesan,.

4) Pengguna mengisi nilai P dan Q untuk mengenkripsi kunci Rabin

5) Proses selanjutnya akan muncul kunci Rabin, kunci publik, dan nilai K yang dienkripsi dan setelah itu muncul ciphertext ketika menekan tombol enkripsi pesan

6) Proses selanjutnya tekan tombol send untuk mengirim pesan ke nomor tujuan. 3.4.3 Form Penerima

Form Penerima adalah halaman dimana pengguna dapat melakukan proses dekripsi

pesan dan dekripsi kunci pesan dari si pengirim. Gambar 3.13 menunjukkan tampilan sementara dari form penerima.

Gambar 3.13 Rancangan Form Penerima Keterangan Gambar 3.13 :

Tabel 3.5 Tabel keterangan Gambar 3.13

No. Nama Keterangan

1. Edit teks Ciphertext Untuk melihat ciphertext yang dikirim dari pengirim

2. Edit teks K Value Untuk melihat nilai K

(43)

44

6. Edit teks Ciphertext

Hill Untuk melihat hasil enkripsi ciphertext 7. Edit teks Kunci Hill Untuk melihat kunci dari hasil dekripsi kunci 8. Button Decrypt

Message Untuk proses dekripsi pesan

9. Edit teks Ciphertext Untuk melihat plaintext hasil dekripsi pesan

Keterangan :

1) Nomor pengirim, Ciphertext, Cipherkey, dan Kunci K adalah pesan masuk yang sudah di enkripsi oleh pengirim.

2) Sebelumnya pengguna harus memiliki nilai P dan nilai Q. Dalam hal ini sudah disepakati oleh pengirim dan penerima untuk mengdekripsikan Kunci Hill. 3) Setelah terenkripsi kunci, penerima menekan tombol dekripsi pesan untuk

mendapatkan plaintext.

3.4.5. Form Bantuan

Form Bantuan adalah halaman untuk mengetahui informasi dari sistem yang dibuat.

Gambar 3.14 menunjukkan tampilan sementara dari form bantuan.

Gambar 3.14. Rancangan Form Bantuan

(44)

BAB 4

IMPLEMENTASI DAN PENGUJIAN

4.1. Implementasi

Pada tahapan ini akan dibahas mengenai implementasi sistem, dimana implementasi merupakan penerapan dari apa yang telah direncanakan.

4.1.1. Tampilan splash screen

Tampilan Splash Screen merupakan antarmuka awal saat aplikasi dijalankan. Pada halaman ini merupakan desain pengenalan nama aplikasi yang dapat dilihat pada Gambar 4.1.

(45)

46

4.1.2. Tampilan home

Tampilan Home merupakan menu untuk aktivitas yang akan dilakukan dalam aplikasi ini. Pada form ini terdapat buat pesan, pesan masuk, pesan keluar, bantuan, tentang dan keluar. Form Main Menu akan ditampilkan pada Gambar 4.2.

Gambar 4.2. Home

4.1.3. Tampilan halaman enkripsi

Tampilan halaman enkripsi pesan merupakan form yang berisikan implementasi dari proses enkripsi dengan menggunakan Algortima Hill Cipher dan Algoritma Rabin Public Key. Form ini berisikan beberapa field input data dan field output data. Data

yang harus dimasukkan pada form ini adalah plaintext, kunci hill, P, dan Q. Data yang dihasilkan dari form ini adalah ciphertext, cipherkey, public key, dan nilai K. Tampilan form encryption akan ditunjukkan pada Gambar 4.3.

(46)

Gambar 4.3. Halaman Enkripsi 4.1.4. Tampilan halaman dekripsi

Tampilan halaman dekripsi merupakan form yang berisikan implementasi dari proses dekripsi dengan mengunakan Algortima Hill Cipher dan Rabin Public Key. Form ini berisikan beberapa field input data dan field output data. Data yang harus dimasukkan pada form ini adalah cipherkey, nilai P, Q, dan nilai K. Data yang dihasilkan dari form ini adalah plaintext dan kunci Hill. Untuk lebih lengkapnya tampilan form decryption ditunjukkan pada Gambar 4.4.

(47)

48

4.1.5. Tampilan halaman inbox

Tampilan halaman inbox merupakan tampilan dari pesan masuk yang ada dan otomatis dari smartphone. Tampilan halaman inbox dapat dilihat pada Gambar 4.5.

Gambar 4.5. Halaman Inbox

4.1.6. Tampilan halaman sent

Tampilan halaman sent merupakan tampilan dari pesan keluar yang terkirim dan otomatis dari smartphone. Tampilan halaman inbox dapat dilihat pada Gambar 4.6.

Gambar 4.6. Halaman Sent

(48)

4.1.7. Tampilan halaman tentang

Gambar 4.7. berikut ini adalah tampilan dari halaman tentang dari aplikasi yang berisi identitas singkat penulis, logo universitas, program studi dan fakultas, dan judul skripsi.

Gambar 4.7. Halaman Tentang

4.1.8. Tampilan halaman bantuan

Tampilan halaman bantuan merupakan informasi tentang aplikasi ini. Tampilan halaman bantuan dapat dilihat pada Gambar 4.8. berikut ini.

(49)

50

4.2. Pengujian Sistem

Pengujian dilakukan terhadap sistem untuk membuktikan bahwa sistem yang telah dibangun berjalan dengan baik serta sesuai dengan analisis dan perancangan sistem yang telah dibuat sebelumnya.

Adapun spesifikasi perangkat keras yang digunakan untuk melakukan pengujian sistem adalah sebagai berikut.

1. Prosesor Intel® Core™ i3-2430M CPU @ 2.40Ghz (4CPUs), 2.4GHz. 2. Memori (RAM) 4096MB DDR3

3. Resolusi Display Monitor 1355 × 768

Spesifikasi perangkat lunak yang digunakan untuk melakukan pengujian sistem adalah sebagai berikut.

1. Sistem Operasi Windows 7 Ultimate 64-bit 2. Android Studio

3. Smartphone Android 4. Adb Installer

Pada tahap ini, penulis melakukan pengujian dengan cara membandingkan hasil dari proses enkripsi dan dekripsi yang dihasilkan oleh sistem yang dibangun terhadap hasil proses enkripsi dan dekripsi yang diperoleh melalui perhitungan manual.

4.2.1. Pengujian hasil enkripsi dan dekripsi

4.2.1.1. Pengujian hasil enkripsi dan dekripsi sistem

Pengujian enkripsi menggunakan sistem yang dibangun terhadap contoh tersebut akan menghasilkan ciphertext, cipherkey. Pada tahap ini, penulis melakukan pengujian form enkripsi dengan cara menginputkan contoh sebagai berikut:

1. Pesan yang akan dienkripsi adalah Indonesia

2. Kunci yang digunakan pada Hill Cipher adalah ilkom2012.

Setelah contoh tersebut diinputkan ke dalam form enkripsi kemudian menekan tombol Enkripsi kunci dan Enkripsi Pesan maka akan dihasilkan output pada Gambar 4.9.

(50)

Gambar 4.9. Proses enkripsi dan hasilnya

Tabel 4.1 Keterangan Gambar Proses Enkripsi dan Hasilnya

Nomor Keterangan

1 Masukkan nomor tujuan untuk mengirim ciphertext

2 Klik tombol search untuk mengambil nomor dari kontak smartphone 3 Masukkan plaintext yang akan dikirim

4 Masukkan kunci yang akan dienkripsi 5 Masukkan nilai P untuk mengenkripsi kunci 6 Masukkan nilai Q untuk mengenkripsi kunci

7 Klik tombol enkripsi kunci untuk proses enkripsi kunci 8 Hasil dari enkripsi kunci yang akan dikirim

9 Klik tombol enkripsi pesan untuk proses enkripsi pesan 10 Nilai public key yang diperoleh ketika meng-enkripsi kunci 11 Nilai K yang diperoleh ketika meng-enkripsi kunci

12 Hasil dari enkripsi pesan

(51)

52

Gambar 4.10. Proses dekripsi dan hasilnya

Tabel 4.2 Keterangan Gambar Proses Dekripsi dan Hasilnya

Nomor Keterangan

1 Informasi kontak pengirim 2 Informasi waktu pengiriman

3 Ciphertext yang masuk setelah dikirim oleh pengirim 4 Cipherkey yang masuk setelah dikirim oleh pengirim 5 Nilai K yang masuk setelah dikirim oleh pengirim

6 Masukkan nilai P untuk mengdekripsi kunci dalam hal ini sesuai kesepakatan pengirim dan penerima

7 Masukkan nilai Q untuk mengdekripsi kunci sesuai kesepakatan pengirim dan penerima

8 Klik tombol Decrypt Key untuk mendekripsi kunci 9 Hasil dari dekripsi kunci

10 Klik tombol Decrypt Key untuk mendekripsi pesan 11 Hasil dari dekripsi pesan

12 Kilik tombol Forward untuk meneruskan pesan 13 Klik tombol Delete Message untuk menghapus pesan

4.2.1.2. Pengujian hasil enkripsi dan dekripsi dengan perhitungan manual

a. Enkripsi Manual dengan Algoritma Hill Cipher

Sebelum memasuki langkah-langkah proses enkripsi, tabel yang digunakan pada penelitian ini adalah tabel Encoding Android yang dapat dilihat pada Tabel 4.3 berikut.

(52)

Tabel 4.3 Tabel Encoding Android

Selanjutnya adalah langkah-langkah proses enkripsi menggunakan Algoritma Kunci Hill Cipher:

(53)

54

Tabel 4.5 Tabel Hasil Enkripsi Hill Cipher Ctabel Cchar

43 r

70 -

72 (

3 D

46 u

44 s

4 E

91 ]

62 space

Dari tabel 4.5 diperoleh ciphertext pesan : r-(DusE] Enkripsi pesan dengan sistem dan dengan perhitungan manual menghasilkan ciphertext yang sama, ini membuktikan bahwa sistem bekerja dengan baik dan benar.

b. Enkripsi Manual Cipherkey dengan Algoritma Rabin Public Key

Berikut ini adalah langkah-langkah proses enkripsi menggunakan Algoritma Kunci Publik Rabin:

1. Hitunglah nilai kunci publik (n)

Kunci publik = kunci private P x kunci Private Q Kunci publik = 31*59 = 1829

2. Ubahlah kunci yang akan dienkripsi (m) kedalam bilangan ASCII kemudian ubah nilai ASCII-nya ke dalam bentuk biner. Kemudian tambahkan dengan nilai biner m itu sendiri (redundant information) atau dengan kata lain plaintext digandakan.. Ubah hasil penggandaan nilai biner plaintext menjadi nilai desimalnya. Hasil konversinya akan ditunjukkan pada Tabel 4.6.

Tabel 4.6 Hasil Konversi m menjadi Tabel Encoding, Biner dam Desimal

m mASCII mbiner mbiner_double m_doubledecimal

m1 = i 34 100010 100010100010 2210

m2 = l 37 100101 100101100101 2405

m3 = k 36 100100 100100100100 2340

m4 = o 40 101000 101000101000 2600

m5 = m 38 100110 100110100110 2470

m6 = 2 54 110110 110110110110 3510

(54)

m7 = 0 52 110100 110100110100 3380

m8 = 1 53 110101 110101110101 3445

m9 = 2 54 110110 110110110110 3510

3. Hitunglah nilai k yang merupakan kongruen nilai desimal dari hasil penggandaan plaintext m terhadap kunci publik n dengan menggunakan rumus:

� = −

Berdasarkan rumus diatas diperoleh nilai k untuk masing-masing plaintext. Nilai k untuk m1 adalah k1, nilai k untuk m2 adalah k2, nilai k untuk m3 adalah k3 dan

seterusnya.

� = − = − = =

� = − = − = =

� = − = − = =

� = − = − = =

� = − = − = =

� = − = − = =

� = − = − = =

� = − = − = =

� = − = − = =

Maka, nilai k-nya adalah [ 1 1 1 1 1 1 1 1 1 ]

4. Hitunglah cipherkey (c) dengan menggunakan rumus: =

(55)

56

= = = =

= = = =

= = = =

= = = =

= = = =

= = = =

= = = =

= = = =

= = = =

Maka, cipherkey-nya adalah [ 16 ]

Enkripsi kunci dengan sistem dan dengan perhitungan manual menghasilkan cipherkey, kunci publik dan nilai k yang sama, ini membuktikan bahwa sistem bekerja

dengan baik dan benar.

c. Dekripsi Manual Cipherkey dengan Algoritma Kunci Publik Rabin

Berikut langkah–langkah proses dekripsi dengan menggunakan algoritma Kunci Publik Rabin:

1. Tentukan nilai Yp dan Yq yang merupakan pembagi GCD (Greatest Common

Divisor) dari p dan q dengan menggunakan Algoritma Extended Euclidean.

Diketahui p=31 dan q=59

Tabel 4.7 Penyelesaian Extended Euclidean pada Dekripsi Iterasi p q Yp x2 Yq y2 hasilBagi sisaBagi S T

1 31 59 1 0 0 1 0 31 1 0

2 59 31 0 1 1 0 1 28 -1 1

3 31 28 1 -1 0 1 1 3 2 -1

4 28 3 -1 2 1 -1 9 1 -19 10

5 3 1 2 -19 -1 10 3 0 59 -31

6 1 0 -19 59 10 -31 - - - -

Sehingga dapat dinyatakan bahwa GCD(23,223) adalah 1, nilai Yp = -19 dan

nilai Yq = 10.

Yp * p + Yq * q = 1

dengan: p = kunci privat P ; q = kunci privat Q Berdasarkan rumus tersebut, nilai Yp dan Yq adalah 31*(-19) + 59*(10) = 1

= -589 +590 = 1

(56)

2. Hitunglah nilai akar kuadrat dari ciphertext terhadap p dan q dengan rumus:

mp =

+1

mq = +1

Dengan mp adalah akar kuadrat dari ciphertext terhadap p dan mq adalah akar

kuadrat dari ciphertext terhadap q. Cipherkey (c) yang akan didekripsi adalah

[ 16 ].

Untuk cipherkey 670 nilai mp dan mq-nya adalah:

mp = 1+1 = =

Untuk cipherkey 1403 nilai mp dan mq-nya adalah:

mp = 1+1 = =

mq =

9+1

= =

Untuk cipherkey 16 nilai mp dan mq-nya adalah:

mp = 1+1 = =

mq = 9+1

= =

Untuk cipherkey 1185 nilai mp dan mq-nya adalah:

mp = 1+1 = =

mq =

9+1

= =

Untuk cipherkey 1785 nilai mp dan mq-nya adalah:

mp = 1+1 = =

(57)

58

mp = 1+1 = =

mq =

9+1

= =

Untuk cipherkey 1785 nilai mp dan mq-nya adalah:

mp = 1+1 = =

mq =

9+1

= =

3. Hitung nilai r, s, t dan u dengan menggunakan Chinese Remainder Theorem, dengan persamaan berikut :

r = (Yp*p* mq + Yq * q* mp ) mod n

s = (Yp*p* mq - Yq * q* mp ) mod n

t =\ ( -Yp*p* mq + Yq * q* mp ) mod n

u = ( -Yp*p* mq - Yq * q* mp ) mod n

Nilai r, s, t dan u untuk mp= 9 dan mq= 27

r = ((-19)*31*27 + 10*59*9) mod 1829 = (-15903+5310) mod 1829

s = ((-19)*31*27 - 10*59*9) mod 1829 = (-15903-5310) mod 1829

t = (-(-19)*31*27 + 10*59*9) mod 1829 = (15903+5310) mod 1829

u = (-(-19)*31*27 - 10*59*9) mod 1829 = (15903-5310) mod 1829

r = (-10593) mod 1829 = 381

s = (-21213) mod 1829 = 735

t = 21213 mod 1829 = 1094

u = 10593 mod 1829 = 1448

Nilai r, s, t dan u untuk mp= 18 dan mq= 45

r = ((-19)*31*45+ 10*59*18) mod 1829 = (-26505+10620) mod 1829

s = ((-19)*31*45 - 10*59*18) mod 1829 = (-26505-10620) mod 1829

t = (-(-19)*31*45 + 10*59*18) mod 1829 = (26505+10620) mod 1829

u = (-(-19)*31*45 - 10*59*18) mod 1829 = (26505-10620) mod 1829

r = (-15885) mod 1829 = 576

s = (-37125) mod 1829 = 1284

t = 37125 mod 1829 = 545

u = 15885 mod 1829 = 1253

Nilai r, s, t dan u untuk mp= 16 dan mq= 20

r = ((-19)*31*20+ 10*59*16) mod 1829 = (-11780+9440) mod 1829

s = ((-19)*31*20- 10*59*16) mod 1829 = (-11780-9440) mod 1829

(58)

t = (-(-19)*31*20+ 10*59*16) mod 1829 = (11780+9440) mod 1829

u = (-(-19)*31*20- 10*59*16) mod 1829 = (11780-9440) mod 1829

r = (-2340) mod 1829 = 1318

s = (-21220) mod 1829 = 728

t = 21220 mod 1829 = 1101

u = 2340 mod 1829 = 511

Nilai r, s, t dan u untuk mp= 4 dan mq= 4

r = ((-19)*31*4 + 10*59*4) mod 1829 = (-2356+2360) mod 1829

s = ((-19)*31*4 - 10*59*4) mod 1829 = (-2356-2360) mod 1829

t = (-(-19)*31*4 + 10*59*4) mod 1829 = (2356+2360) mod 1829

u = (-(-19)*31*4 - 10*59*4) mod 1829 = (2356-2360) mod 1829

r = 4 mod 1829 = 4

s = (-4716) mod 1829 = 771

t = 4716 mod 1829 = 1058

u = (-4) mod 1829 = 1825

Nilai r, s, t dan u untuk mp= 10 dan mq= 51

r = ((-19)*31*51+ 10*59*10) mod 1829 = (-30039+5900) mod 1829

s = ((-19)*31*51- 10*59*10) mod 1829 = (-30039-5900) mod 1829

t = (-(-19)*31*51+ 10*59*10) mod 1829 = (30039+5900) mod 1829

u = (-(-19)*31*51- 10*59*10) mod 1829 = (30039-5900) mod 1829

r = (-24139) mod 1829 = 1467

s = (-35939) mod 1829 = 641

t = 35939 mod 1829 = 1188

u = 24139 mod 1829 = 362

Nilai r, s, t dan u untuk mp= 7 dan mq= 29

r = ((-19)*31*29+ 10*59*7) mod 1829 = (-17081+4130) mod 1829

s = ((-19)*31*29- 10*59*7) mod 1829 = (-17081-4130) mod 1829

t = (-(-19)*31*29+ 10*59*7) mod 1829 = (17081+4130) mod 1829

u = (-(-19)*31*29- 10*59*7) mod 1829 = (17081-4130) mod 1829

r = (-12951) mod 1829 = 1681

s = (-21211) mod 1829 = 737

t = 21211 mod 1829 = 1092

(59)

60

Nilai r, s, t dan u untuk mp= 1 dan mq= 17

r = ((-19)*31*17+ 10*59*1) mod 1829 = (-10013+590) mod 1829

s = ((-19)*31*17- 10*59*1) mod 1829 = (-10013-590) mod 1829

t = (-(-19)*31*17+ 10*59*1) mod 1829 = (10013+590) mod 1829

u = (-(-19)*31*17- 10*59*1) mod 1829 = (10013-590) mod 1829

r = (-9423) mod 1829 = 1551

s = (-10603) mod 1829 = 371

t = 10603 mod 1829 = 1458

u = 9423 mod 1829 = 278

Nilai r, s, t dan u untuk mp= 4 dan mq= 36

r = ((-19)*31*36+ 10*59*4) mod 1829 = (-21204+2360) mod 1829

s = ((-19)*31*36- 10*59*4) mod 1829 = (-21204-2360) mod 1829

t = (-(-19)*31*36+ 10*59*4) mod 1829 = (21204+2360) mod 1829

u = (-(-19)*31*36- 10*59*4) mod 1829 = (21204-2360) mod 1829

r = (-18844) mod 1829 = 1275

s = (-23564) mod 1829 = 213

t = 23564 mod 1829 = 1616

u = 18844 mod 1829 = 554

Nilai r, s, t dan u untuk mp= 7 dan mq= 29

r = ((-19)*31*29+ 10*59*7) mod 1829 = (-17081+4130) mod 1829

s = ((-19)*31*29- 10*59*7) mod 1829 = (-17081-4130) mod 1829

t = (-(-19)*31*29+ 10*59*7) mod 1829 = (17081+4130) mod 1829

u = (-(-19)*31*29- 10*59*7) mod 1829 = (17081-4130) mod 1829

r = (-12951) mod 1829 = 1681

s = (-21211) mod 1829 = 737

t = 21211 mod 1829 = 1092

u = 12951 mod 1829 = 148

4. Tambahkan r,s,t,u dengan kongruen nilai desimal hasil penggandaan plaintext yang dikalikan dengan kunci publik n (nilai k=[ 1 1 1 1 1 1 1 1 1 ]).

R = (k*n)+r

S = (k*n)+s

T = (k*n)+t

U = (k*n)+u

(60)

Nilai R, S, T, U untuk r=381, s=735, t=1094 dan u=1448 adalah R = (1*1829) + 381 = 1829 + 381 = 2210

S = (1*1829) + 735= 1829 + 735= 2564

T = (1*1829) + 1094 = 1829 + 1094 = 2923

U = (1*1829) + 1448 = 1829 + 1448 = 3277

Nilai R, S, T, U untuk r=576, s=1284, t=545 dan u=1253 adalah R = (1*1829) + 576 = 1829 + 576= 2405

S = (1*1829) + 1284= 1829 + 1284= 3113

T = (1*1829) + 545 = 1829 + 545 = 2374

U = (1*1829) + 1253 = 1829 + 1253 = 3082

Nilai R, S, T, U untuk r=1318, s=728, t=1101 dan u=511 adalah R = (1*1829) + 1318= 1829 + 1318= 3147

S = (1*1829) + 728= 1829 + 728= 2557

T = (1*1829) + 1101 = 1829 + 1101 = 2930

U = (1*1829) + 511 = 1829 + 511 = 2340

Nilai R, S, T, U untuk r=4, s=772, t=1057 dan u=1825 adalah R = (1*1829) + 4= 1829 + 4= 1833

S = (1*1829) + 772= 1829 + 771= 2600

T = (1*1829) + 1057 = 1829 + 1058 = 2887

U = (1*1829) + 1825 = 1829 + 1825 = 3654

Nilai R, S, T, U untuk r=1467, s=641, t=1188 dan u=362 adalah R = (1*1829) + 1467= 1829 + 1467= 3296

S = (1*1829) + 641= 1829 + 641= 2470

T = (1*1829) + 1188 = 1829 + 1188 = 3017

U = (1*1829) + 362 = 1829 + 362 = 2191

Nilai R, S, T, U untuk r=1681, s=737, t=1092 dan u=148 adalah R = (1*1829) + 1681= 1829 + 1681= 3510

S = (1*1829) + 737= 1829 + 737= 2566

T = (1*1829) + 1092 = 1829 + 1092 = 2921

U = (1*1829) + 148 = 1829 + 148 = 1977

Nilai R, S, T, U untuk r=1551, s=371, t=1458 dan u=278 adalah R = (1*1829) + 1551= 1829 + 1551= 3380

(61)

62

5. Ubahlah nilai desimal R, S, T, U ke dalam bentuk biner. Kemudian nilai biner R, S, T, U dibagi menjadi 2 (dua) bagian. Bandingkan kedua bagian tersebut.

Jika kedua bagian tersebut menghasilkan bentuk biner yang sama, maka didapatlah hasil dekripsi ciphertext c dengan mengubah bentuk biner salah satu bagian yang telah dibagi menjadi 2(dua) bagian yang sama. Hasil konversi dan perbandingannya akan ditunjukkan pada Tabel 4.8.

Tabel 4.8 Tabel Hasil Konversi dan Penentuan Plaintext

(62)

S5 2470 100110 100110 100110 100110 Ya

Apabila bagian kiri biner sama dengan bagian kanannya maka konversilah salah satu bagian tersebut ke dalam bentuk desimal kemudian konversi kembali ke dalam character ASCII. Hasil konversinya merupakan plaintext-nya (cipherkey yang sudah

terdekripsi). Hasil konvesinya akan ditunjukkan Tabel 4.9. Tabel 4.9 Hasil Konversi Plaintext Ciphertext Plaintext (biner) Ciphertext

(desimal) Plaintext (ASCII)

(63)

64

4.2.2. Pengujian Lama Waktu Enkripsi dan Dekripsi

Pengujian berikutnya adalah pengujian terhadap lamanya waktu enkripsi maupun dekripsi berdasarkan panjang plaintext dan kuncinya.

4.2.2.1. Pengujian Lama Waktu Enkripsi

Berikut ini adalah Tabel 4.10 yang menjelaskan lamanya waktu enkripsi pesan berdasarkan panjang plaintext.

Tabel 4.10. Hasil Pengujian Enkripsi dengan Variasi Panjang Plaintext No Panjang plaintext (karakter) Waktu Enkripsi

1 10 35 ms

2 15 72 ms

3 20 109 ms

4 25 163 ms

Berdasarkan hasil tersebut, lamanya proses enkripsi berbanding lurus dengan panjang plaintext dan panjang kuncinya. Semakin panjang plaintext-nya semakin lama pula waktu yang dibutuhkan dalam proses enkripsi. Untuk grafik waktu enkripsi akan ditunjukkan pada Gambar 4.11.

Gambar 4.11. Grafik Pengaruh Panjang Plaintext dengan Lama Proses Enkripsi 0

20 40 60 80 100 120 140 160 180

10 15 20 25

Waktu Enkripsi

Waktu Enkripsi

(64)

4.4.2.2. Pengujian Lama Waktu Dekripsi

Tabel 4.11 menunjukkan lama waktu enkripsi pesan berdasarkan panjang ciphertext. Tabel 4.11 Hasil Pengujian Dekripsi dengan Variasi Panjang Ciphertext

No Panjang Ciphertext Waktu Dekripsi

1 10 45 ms

2 15 81 ms

3 20 115 ms

4 25 171 ms

Berdasarkan hasil tersebut, lamanya proses dekripsi berbanding lurus dengan panjang ciphertext. Semakin panjang ciphertext-nya semakin lama pula waktu yang dibutuhkan dalam proses dekripsi. Untuk grafik waktu dekripsi akan ditunjukkan pada Gambar 4.12.

Gambar 4.12. Grafik Pengaruh Panjang Ciphertext dengan Lama Proses Dekripsi

4.2.2.3. Pengujian Lama Waktu Enkripsi dan Dekripsi

Tabel 4.12 menunjukkan perbandingan waktu enkripsi dan dekripsi pesan berdasarkan panjang ciphertext.

Tabel 4.12 Perbandingan Waktu Enkripsi dan Dekripsi No Panjang Plaintext /

Ciphertext

Waktu Enkripsi

Waktu Dekripsi

1 10 35 ms 45 ms

2 15 72 ms 81 ms

0 20 40 60 80 100 120 140 160 180

10 15 20 25

Waktu Dekripsi

(65)

66

3 20 109 ms 115 ms

4 25 163 ms 171 ms

Gambar 4.13 Grafik Perbandingan Waktu Enkripsi dan Dekripsi

Berdasarkan Tabel 4.12 dan Gambar 4.13 dapat diketahui bahwa lamanya waktu enkripsi berbeda dengan waktu dekripsi. Sistem membutuhkan waktu lebih lama dalam melakukan proses dekripsi dari pada proses enkripsi.

0 20 40 60 80 100 120 140 160 180

10 15 20 25

Waktu Enkripsi dan Dekripsi

Waktu Enkripsi Waktu Dekripsi

(66)

BAB 5

KESIMPULAN DAN SARAN

5.1. Kesimpulan

Berdasarkan pembahasan dan hasil dari penelitian ini, maka dapat diperoleh beberapa kesimpulan sebagai berikut.

1. Pada penelitian ini, aplikasi Short Message Service (SMS) untuk merahasiakan pesan dengan menggunakan algoritma Hill Cipher dan Rabin Public Key pada perangkat berbasis Android berhasil diterapkan.

2. Proses enkripsi dan dekripsi dari kombinasi algoritma Hill Cipher dan Rabin Public Key memenuhi kriteria data.

3. Waktu yang dibutuhkan untuk proses dekripsi lebih lama dengan waktu proses enkripsi.

5.2. Saran

Berikut ini adalah hal-hal yang menjadi saran dari penelitian ini atau untuk penelitian selanjutnya yang terkait.

1. Didalam penelitian ini pesan yang akan dienkripsi dan didekripsi dalam aplikasi SMS, diharapkan kedepannya pesan yang dienkripsi dan didekripsi berupa aplikasi chat ataupun email.

2. Didalam penelitian ini pesan yang dirahasiakan merupakan pesan teks, diharapkan kedepannya dapat diterapkan pada pesan suara ataupun citra.

3. Bahasa pemrograman yang digunakan adalah Java dan penerapannya pada smartphone Android, penelitian selanjutnya dapat diterapkan pada perangkat

(67)

BAB 2

LANDASAN TEORI

2.1. Kriptografi

Kata Cryptography berasal dari bahasa Yunani yang terdiri dari dua kata yaitu kryptos yang berarti rahasia dan graphein yang berarti tulisan (Mollin, 2007).

Kriptografi adalah ilmu mengenai teknik enkripsi dimana data diacak menggunakan suatu kunci enkripsi menjadi sesuatu yang sulit dibaca oleh seseorang yang tidak memiliki kunci dekripsi (Kromodimoeljo, 2010).

2.1.1. Terminologi

Ketika seorang pengirim (sender) ingin mengirimkan suatu pesan kepada si penerima (receiver), dimana si pengirim ingin pesan yang disampaikannya tidak dapat dibaca oleh orang lain yang ingin melakukan penyadapan (eavesdropper). Dalam kriptografi, pesan asli biasa disebut plaintext dan pesan yang disamarkan disebut ciphertext. Proses menyamarkan pesan sedemikian rupa untuk menyembunyikan substansinya disebut enkripsi. Proses untuk mengubah ciphertext kembali ke plaintext adalah dekripsi. Skema rangkaian proses enkripsi dan dekripsi ditunjukkan secara umum pada Gambar 2.1 (Schneier, 1996).

Gambar 2.1. Skema Proses Enkripsi dan Dekripsi (Schneier, 1996)

Enkripsi Dekripsi

Plaintext Ciphertext Plaintext

(68)

2.1.2. Tujuan kriptografi

Kriptografi bertujuan untuk memberikan layanan keamanan sebagai berikut : (Paar&Pelzl, 2010)

1. Kerahasiaan (Confidentiality)

Informasi dirahasiakan dari semua pihak yang tidak berwenang. 2. Keutuhan Data (Inegrity)

Pesan tidak berubah dalam proses pengiriman hingga pesan diterima oleh penerima.

3. Autentikasi (Message Authentication)

Kepastian terhadap identitas setiap entitas yang terlibat dan keaslian sumber data.

4. Nirpenyangkalan (Nonrepudiation)

Setiap entitas yang berkomunikasi tidak dapat menolak atau menyangkal atas data yang telah dikirim atau diterima.

2.2. Sistem Kriptografi

Sistem kriptografi adalah algoritma, seluruh kemungkinan plaintext, ciphertext dan kunci. P adalah notasi yang digunakan untuk plaintext, C adalah ciphertext, E adalah fungsi enkripsi dan D adalah fungsi dekripsi (Schneier, 1996). Sedangkan untuk kunci dapat dinotasikan sebagai K.

Berdasarkan kunci yang dipakai, algoritma kriptografi dibagi menjadi tiga, yaitu algoritma simetri (menggunakan satu kunci untuk enkripsi dan dekripsi), algoritma asimetri (menggunakan kunci yang berbeda untuk enkripsi dan dekripsi) dan fungsi hash (Ariyus, 2008).

Selain berdasarkan kunci yang dipakai, karakteristik kriptografi juga dibagi berdasarkan tipe operasi yang dipakai untuk enkripsi dan dekripsi serta berdasarkan tipe pengolahan pesan (Sadikin, 2012).

2.3. Kriptografi Berdasarkan Kunci yang Dipakai

(69)

8

asimetri (menggunakan kunci yang berbeda untuk proses enkripsi dan dekripsi), dan fungsi hash (Ariyus, 2008).

Karakteristik kriptografi dibagi dua berdasarkan tipe operasi yang dipakai untuk enkripsi dan dekripsi (teknik substitusi dan teknik permutasi) serta berdasarkan tipe pengolahan pesan (block cipher dan stram cipher) (Verma, 2015).

2.3.1. Sistem kriptografi simetri

Algoritma simetris adalah algoritma yang menggunakan kunci enkripsi yang sama dengan kunci dekripsinya (Kromodimoeljo, 2010). Bila mengirim pesan dengan algoritma ini, si penerima pesan harus diberitahu kunci dari pesan tersebut agar bisa mendekripsikan pesan yang dikirim. Keamanan dari pesan yang menggunakan algoritma ini tergantung pada kunci.

Jika kunci tersebut diketahui oleh orang lain maka orang tersebut dapat melakukan enkripsi dan dekripsi pada pesan. Yang termasuk algoritma kunci simetris adalah Hill Cipher, Affine Cipher, OTP, DES, RC2, RC4, RC5, IDEA, Twofish, Magenta, FEAL, dan lain-lainnya. Skema kriptografi simetris ditunjukkan secara umum pada Gambar 2.2.

Gambar 2.2. Skema Kriptografi Simetris (Fauzana, 2013)

2.3.2. Sistem kriptografi asimetri

Algoritma asimetris disebut juga dengan kriptografi kunci publik karena algortima ini memiliki kunci yang berbeda untuk enkripsi dan dekripsi, dimana enkripsi menggunakan public key dan untuk dekripsinya menggunakan private key. Public key dan private key harus saling berpasangan secara matematis. Dengan memberikan public key, pembuat kunci berhak memberikan dan mendapatkan public key agar pesan aman

dan hanya bisa dibaca oleh si pembuat kunci. Dalam kriptografi kunci asimetri, hampir

(70)

semua algoritma kriptografinya menggunakan konsep kunci publik, seperti Rivest-Shamir-Adleman (RSA), El-Gamal, Rabin dan sebagainya (Harahap, 2014). Skema

kriptografi asimetris ditunjukkan secara umum pada Gambar 2.3.

Gambar 2.3 Kriptografi Asimetris (Fauzana, 2013)

Sistem kriptografi asimetri kunci publik pertama kali diusulkan oleh Diffie dan Hellman pada tahun 1976. Ide kriptografi kunci publik sebenarnya mirip dengan cara kerja kunci gembok, misalnya terdapat sebuah peti yang berisi pesan rahasia, lalu peti itu dikunci dengan gembok di mana gembok ini dimiliki oleh semua orang (gembok bekerja seperti public key). Peti terkunci tersebut kemudian dikirim ke tujuan atau penerima yang memiliki kunci untuk membuka gembok. Penerima dapat membuka gembok apabila kunci yang dipegang olehnya merupakan pasangan dari gembok tersebut. Kunci yang dipegang oleh penerima bekerja seperti private key (Sadikin, 2012).

Sistem kriptografi kunci publik memiliki kunci untuk enkripsi Ke dan kunci

untuk dekripsi Kd yang berbeda. Kunci untuk enkripsi Ke disebut juga sebagai kunci

publik (KPublik) bersifat tidak rahasia sehingga dapat didistribusikan melalui saluran

tidak aman. Sedangkan kunci dekripsi Kd disebut juga kunci privat (KPrivat) bersifat

rahasia dan harus dijaga kerahasiaannya oleh pemegang kunci. Berikut ini adalah algoritma sistem kriptografi kunci publik (Sadikin, 2012).

1. Sebelum A melakukan enkripsi, B membangkitkan sepasang kunci yaitu kunci privat dan kunci publik milik B dengan memanggil fungsi PembangkitKunci().

(KPublikB, KPrivatB) PembangkitKunci()

B memublikasikan kunci publik (KPublikB) dan menjaga kerahasiaan kunci privat

Gambar

Gambar 3.2.
Tabel 3.2 Narrative Use-Case Dekripsi Pesan
Gambar 3.4 Diagram Sequence untuk Dekripsi
Gambar 3.5. Activity Diagram Enkripsi
+7

Referensi

Dokumen terkait

Pada metode algoritma Rabin dan Rivest Shamir Adleman ( RSA ) proses enkripsi – dekripsi menggunakan dua buah kunci yaitu kunci public untuk proses enkripsi

Teknik kriptografi ini menggunakan sebuah matriks persegi sebagai kunci yang.. digunakan untuk melakukan enkripsi dan dekripsi. Hill Cipher diciptakan oleh Lester S.

Pada penelitian ini aplikasi yang dibangun menggunakan algoritma Vernam Cipher dan DES (Data Encrption Standard) dalam proses enkripsi dan dekripsi

Aplikasi enkripsi dan dekripsi pada plaintext menggunakan kunci One Time Pad yang telah di generate ataupun yang telah dirandom. Sedangkan kunci akan diperkuat dengan Hill

Algoritma hill cipher dan vigenere cipher merupakan salah satu metode dari beberapa metode yang digunakan untuk melakukan kerahasian data, hill cipher adalah

Teknik kriptografi ini menggunakan sebuah matriks persegi sebagai kunci yang.. digunakan untuk melakukan enkripsi dan dekripsi. Hill Cipher diciptakan oleh Lester S.

Algoritma asimetris disebut juga dengan kriptografi kunci publik karena algortima ini memiliki kunci yang berbeda untuk enkripsi dan dekripsi, dimana enkripsi menggunakan

Perangkat lunak Kriptografi Modifikasi Algoritma Hill Cipher untuk Pengamanan Pesan Rahasia dapat menggunakan kunci matriks 2x2 untuk melakukan enkripsi dan dekripsi