## IMPLEMENTASI ALGORITMA ADVANCED ENCRYPTION STANDARD (AES) UNTUK MENGENKRIPSI DATASTORE PADA APLIKASI BERBASIS ANDROID
Reski Mulud Muchamad 1 , Asriyanik 2 , Agung Pambudi 3 1,2,3 Program Studi Teknik Informatika Fakultas Sains dan Teknologi Universitas Muhammadiyah Sukabumi reski052@ummi.ac.id

## ABSTRAK
Ponsel pintar merupakan perangkat yang sangat berguna untuk membantu aktivitas manusia. Ini terlihat dari tingkat penggunaan smartphone yang tinggi di seluruh dunia. Android adalah sistem operasi yang paling populer untuk perangkat ponsel pintar, sehingga banyak pengembang yang membuat aplikasi yang berjalan di perangkat Android. DataStore adalah media penyimpanan yang digunakan dalam aplikasi Android untuk menyimpan data pengguna. Namun, keamanan data pengguna masih merupakan perhatian utama bagi pengembang aplikasi, karena jika tidak dijaga dengan baik, data tersebut dapat disalahgunakan oleh pihak yang tidak berhak. Oleh karena itu, dalam  penelitian  ini  akan  diterapkan  metode  enkripsi  menggunakan  algoritma Advanced  Encryption  Standard (AES)  pada DataStore untuk  mengamankan  data  pengguna  di  aplikasi  Android  dengan  mode Cipher  Block Chaining . Algoritma  AES memiliki keunggulan kecepatan dibandingkan dengan algoritma kriptografi  lainnya. Hasil  dari  penelitian  ini  menunjukkan  bahwa  sistem  yang  dikembangkan  memiliki  tingkat  risiko  ancaman keamanan  yang  rendah,  dan  data  yang  disimpan  dalam DataStore aman  dari  ancaman  karena  telah  dienkripsi menggunakan algoritma AES yang dikembangkan. Selain itu, algoritma ini juga memiliki nilai Avalanche Effect yang  baik,  yaitu  sebesar  64,68%,  serta  proses  enkripsi  dan  dekripsinya  lebih  cepat  dibandingkan  penelitian sebelumnya.
Keyword : Kriptografi, AES, Enkripsi, DataStore, Android

## 1. PENDAHULUAN
Ponsel  pintar  ( smartphone )  adalah  salah  satu hasil  dari  kemajuan  teknologi  saat  ini  yang  pesat. Tak dapat  disangkal, keberadaan smartphone dapat membantu  semua  jenis  pekerjaan  yang  dilakukan oleh  manusia.  Jumlah  pengguna  smartphone  di seluruh  dunia  tercatat  mencapai  5,3  miliar  pada bulan  Juli  2021  dengan  persentase  67%  dari populasi penduduk bumi (7,9 miliar)[1].
Android  merupakan  salah  satu  sistem  operasi yang  berjalan pada ponsel  pintar. Android  menjadi sistem operasi yang paling popular di dunia dengan lebih dari 2,5 miliar pengguna aktif di lebih dari 190 negara pada tahun 2022 [2]. Karena terdapat banyak sekali  pengguna  Android,  maka  banyak  pula pengembang  aplikasi  Android,  ini  dibuktikan dengan banyaknya jumlah aplikasi yang telah rilis di Google Play Store dengan jumlah mencapai 2,7 juta aplikasi pada tahun 2020 [3].
Aplikasi  yang  tersedia  di platform Android tentu sangat bervariasi, namun banyak dari aplikasi tersebut  tentunya  membutuhkan  data  pengguna, seperti  nama,  alamat  email,  kode  token  untuk berkomunikasi  dengan  API  atau  data  lain  yang serupa.  Data  yang  diterima  dari  pengguna  akan disimpan,  baik  secara  lokal  atau  di  internet..  Ada beberapa  cara  yang  dapat  digunakan  untuk menyimpan  data  ke  penyimpanan  lokal,  salah satunya  adalah  dengan  menggunakan DataStore untuk  menyimpan  data  pengguna  dalam  bentuk pasangan key-value .  Selain DataStore ,  data  dalam bentuk  pasangan key-value juga  dapat  disimpan menggunakan SharedPreferences . Namun, Android
Developer menyarankan  untuk  menggunakan DataStore atau  melakukan  migrasi  ke DataStore jika sebelumnya masih menggunakan SharedPreferences [4].
Sebagai  pengembang  aplikasi  Android,  pasti sering  terlibat  dalam  pengolahan  data.  Data  yang diolah terkadang  merupakan data yang sensitif dan berbahaya  jika  disalahgunakan.  Fitur  keamanan perlu  diterapkan  untuk  mencegah  ancaman  yang disebabkan  oleh  kerentanan  aplikasi  terhadap serangan  yang  tidak  diinginkan.  Terdapat  tiga prinsip  utama  dalam  keamanan  data,  yaitu confidentialy (kerahasiaan), integrity (integritas), dan availability (ketersediaan),  yang  sering disingkat menjadi CIA [5] seperti yang ditunjukkan pada Error!  Reference  source  not  found. Dalam keamanan  data,  terdapat  sebuah  ancaman  ( threats ) yang jika tidak diantisipasi akan menimbulkan risiko yang  cukup  besar.  Seperti  yang  dijelaskan  dalam penelitian yang dilakukan oleh [5] dijelaskan bahwa risiko terbesar terjadi pada reputasi dan kepercayaan pelanggan  ( Reputation  and  Customer  Confidence ) dengan  hasil  penilaian  terhadap  analisis  risiko keamanan  sebesar  12  dibandingkan  dengan  nilai relative risk sebesar 27. Contohnya, jika keamanan tidak  diterapkan  dengan  baik  dalam  aplikasi Android,  akan  menyebabkan  pengguna  tidak percaya  terhadap  aplikasi  dan  berdampak  buruk pada reputasi aplikasi yang dikembangkan.
Gambar 1. Prinsip utama keamanan data
Oleh  karena  itu,  sangat  penting  untuk memperhatikan  keamanan  data  pengguna  dalam pengembangan  aplikasi.  Salah  satu  cara  untuk mengamankan data yaitu menyembunyikan keaslian data  dengan  menerapkan  algoritma  kriptografi. Secara default ,  media  penyimpanan  yang  tersedia dalam  pengembangan  aplikasi  Android  belum menerapkan  enkripsi  data,  sehingga  perlu  metode tambahan  untuk  mengenkripsi  data  tersebut. Enkripsi  dapat  dilakukan  dengan  menggunakan pustaka  yang  disediakan  langsung  oleh Android Developer atau pustaka pihak ketiga.
Bagi DataStore , saat ini belum tersedia metode untuk  mengenkripsi  data  yang  disimpan  di dalamnya. Berbeda dengan SharedPreferences yang telah  disediakan  metode  untuk  mengenkripsi  data oleh Android  Developer . DataStore merupakan metode  atau  media  penyimpanan  yang  disarankan oleh Android
Developer
dibandingkan SharedPreferences , namun sayangnya saat ini masih belum tersedia fitur atau metode untuk mengenkripsi data  di  dalamnya.  Isu  ini  juga  disampaikan  pada halaman Issue Tracker Google dengan jumlah lebih dari
170 dukungan
( https://issuetracker.google.com/issues/167697691 ) dimana  banyak  yang  menginginkan  fitur  untuk mengenkripsi DataStore [6].  Oleh  karena  itu, penulis  melakukan  penelitian  ini  dengan  tujuan untuk  menerapkan  keamanan  data  pada DataStore menggunakan algoritma kriptografi.
Saat  ini  terdapat  beragam  jenis  algoritma kriptografi  yang  tersedia,  mulai  dari  tingkat kerumitan  algoritma,  jenis  kunci  yang  digunakan, dan  sebagainya.  Salah  satu  algoritma  yang  dapat diterapkan  adalah Advanced  Encryption  Standard (AES).  Algoritma  AES  merupakan  sebuah  standar yang  dikeluarkan  oleh National  Institute  of Standards and Technology (NIST), di mana standar ini  diberikan  kepada  algoritma Rijndael yang disetujui  sebagai Federal  Information  Processing Standard (FISP) 197 pada tahun 2001 [7].
Algoritma Advanced  Encryption  Standard merupakan  algoritma  simetris,  yang  berarti  proses enkripsi  dan  dekripsi  menggunakan  kunci  atau key yang sama. Penelitian yang dilakukan oleh Nizirwan Anwar  menunjukkan  bahwa  algoritma  AES  lebih cepat dibandingkan dengan algoritma RSA (asimetris),  meskipun  algoritma  RSA  lebih  unggul dari segi keamanan karena menggunakan kunci atau key yang berbeda pada proses enkripsi dan dekripsi, dengan rata-rata kecepatan algoritma AES yaitu 236
kali  lebih  cepat  dalam  proses  enkripsi  dan  2,5  kali lebih  cepat  dalam  proses  dekripsi  dibandingkan dengan RSA [8]. Sebenarnya algoritma AES sudah termasuk aman, seperti yang dijelaskan oleh Agung Prajuhana  Putra  melalui  uji  coba  kemungkinan pemecahan  kunci  algoritma  AES  dengan  panjang kunci  256  bit  menggunakan  metode Brute  Force dengan  asumsi  kecepatan  komputasi  sebesar  106 kunci/detik,  bahwa  diperlukan  waktu  3,8  x  10 63 tahun untuk memecahkan kunci tersebut [9].
Penelitian  terdahulu  telah  dilakukan  untuk membandingkan  algoritma  AES  dengan  algoritma simetris  lainnya.  Dalam  penelitian  yang  dilakukan oleh Elsa Elvira Awal, algoritma AES terbukti lebih cepat dibandingkan dengan algoritma Twofish pada proses  enkripsi  dan  dekripsi  dengan  rata-rata algoritma  AES  membutuhkan  waktu  3,94  detik untuk  enkripsi  dan  3,99  detik  untuk  dekripsi, sementara  algoritma Twofish membutuhkan  waktu 8,67  detik  untuk  enkripsi  dan  9,02  detik  untuk dekripsi  [10].  Penelitian  lain  yang  dilakukan  oleh Donzilio Antonio Meko membandingkan algoritma DES,  AES,  IDEA,  dan  Blowfish.  Hasilnya, algoritma  AES  terbukti  lebih  cepat  dibandingkan dengan ketiga algoritma lainnya, dengan kecepatan proses enkripsi sebesar 48% dan kecepatan dekripsi sebesar 45% [11].
Berdasarkan  penjelasan  sebelumnya,  dalam penelitian  ini  akan  diterapkan  algoritma  Advanced Encryption  Standard  (AES)  sebagai  metode  untuk mengenkripsi  data  pengguna  yang  disimpan  di DataStore dalam aplikasi Android sebagai tindakan pengamanan. Untuk itu penulis melakukan penelitian  ini  yang  bertujuan  untuk  mengamankan data  yang  disimpan  ke  dalam DataStore dengan mengimplementasikan algoritma
Advanced Encryption Standard (AES).
2. TINJAUAN PUSTAKA
2.1. Keamanan Data
Keamanan  data  merupakan  upaya  yang dilakukan untuk menjaga rahasia serta memastikan bahwa tiga prinsip utama keamanan data terpenuhi [12].  Seperti  yang  telah  disampaikan  pada pembahasan  latar  belakang  penelitian  ini,  prinsip utama  keamanan  tersebut  yaitu confidentialy (kerahasiaan), integrity (integritas)  dan availability (ketersediaan).
1. Confidentialy (kerahasiaan) : Prinsip kerahasiaan  pada  keamanan  data  melibatkan usaha  melindungi  data  dari  akses  oleh  orang yang  tidak  berhak  mengaksesnya,  seperti  yang dijelaskan oleh Ika Yusnita Sari dalam bukunya tentang  keamanan  data  dan  informasi  [13]. Prinsip  kerahasiaan  ini  sangat  berhubungan dengan privasi, di mana privasi adalah hal yang berkaitan  dengan  data  yang  dimiliki  secara pribadi oleh seseorang. Terdapat tiga aspek dari privasi,  yaitu Privacy  of  Data  about  a  Person (privasi  data  seseorang), Privacy  of  a  Person’s
Persona (privasi  mengenai  pribadi  seseorang) dan Privacy of Person’s Communication (privasi komunikasi  seseorang)  [14].  Ketiga  aspek tersebut  harus  dijaga  kerahasiaannya,  jika  data tersebut digunakan oleh orang yang tidak berhak, orang  tersebut  dapat  mengidentifikasi  dirinya seolah-olah menjadi pemilik data yang sebenarnya. Hal  ini dapat menimbulkan bahaya dan merugikan pemilik data asli.
2. Integrity (integritas)  : Prinsip  integritas  yaitu menjamin bahwa data yang digunakan autentik, dikirim oleh orang yang benar, dan tidak diubah oleh orang  yang tidak  memiliki  hak akses  [13], [14].
3. Availability (ketersediaan) : Prinsip ketersediaan berkaitan dengan kemudahan akses data atau informasi yang diperlukan secara cepat dan  tanpa  penyembunyian  atau  gangguan  dari pihak yang tidak memiliki hak akses [12]–[14].

## 2.2. Ancaman Keamanan Data
Ancaman  keamanan  merupakan  peristiwa yang dapat merusak atau mengubah data atau sistem sehingga  tidak  lagi  memenuhi  prinsip  keamanan yang  seharusnya  dijaga  [5].  Ancaman  keamanan dapat  terjadi  karena  adanya  celah  atau  kerentanan pada  sistem,  yang  dapat  diakses  oleh  kejahatan  di dunia  maya  ( cyber  crime )  untuk  mengeksploitasi sistem  tersebut  dan  mengakibatkan  hilangnya prinsip  keamanan  [15].  Terdapat  empat  macam ancaman  terhadap  keamanan,  yaitu  gangguan ( interruption ), penyadapan ( interception ), modifikasi, dan pemalsuan ( fabrication ) [13], [14].
1. Interruption (gangguan)  : Adalah  ancaman yang  terjadi  pada  perangkat  sistem  yang  dapat menyebabkan kerusakan pada data, menyebabkan  data  yang  dibutuhkan  menjadi tidak  tersedia.  Ini  dapat  menghilangkan  salah satu  prinsip  keamanan,  yaitu  ketersediaan ( availability ).
2. Interception (pencekalan) : Merupakan ancaman  yang  diakibatkan  adanya  orang  atau pihak  yang tidak  berhak dalam  mengakses data yang dimiliki seseorang.
3. Modification (perubahan)  : Sesuai  namanya, ancaman  ini terjadi  akibat terjadinya perubahan data  yang  dilakukan  oleh  seseorang  yang  tidak mempunyai hak akses terhadap data tersebut dan ancaman  ini  akan  mengakibatkan  hilangnya prinsip integrity (integritas)  dalam  prinsip keamanan.
4. Fabrication (pemalsuan) : Ancaman ini terjadi ketika terdapat seseorang yang tidak bertanggungjawab memalsukan data atau informasi seperti mengirim pesan-pesan palsu ke sistem.  Sama  seperti  ancaman modification , ancaman  ini  juga  menyebabkan  hilangnya prinsip integrity (integritas).
Di  dalam  sistem  perangkat  ponsel  dengan sistem  operasi  Android  juga  terdapat  ancaman
terhadap  keamanan  data  yang  ada  di  dalamnya. Karena  Android  merupakan  sistem  operasi  yang memiliki  lisensi  sumber  terbuka,  maka  dapat dikembangkan  oleh  orang  lain  atau  komunitas,  ini sangat  baik  karena  dapat  mempercepat  proses pengembangan. Namun, di sisi lain hal ini menjadi suatu kelemahan karena semakin banyak orang yang memodifikasi maka akan semakin lemah keamanannya [12]. Selain itu terdapat ancaman dari luar sistem Android seperti serangan malware .

## 2.3. Kriptografi
Kriptografi  adalah  ilmu  atau  seni  bagaimana melindungi  data  dengan  mempelajari  teknik matematika  (Mukhtar,  2018).  Kriptografi  secara harfiah  berasal  dari  kata  Yunani  " crypto "  yang berarti  "rahasia"  dan  " graphia "  yang  berarti "menulis". Terdapat beberapa istilah penting dalam kriptografi,  dan  menurut  Intan  Fitriani  dalam penelitiannya  menyebutkan  empat  istilah  dalam kriptografi, yaitu:
1. Plain  Text ,  yaitu  pesan  asli  yang  belum mengalami  proses  enkripsi.  Pesan  ini  mampu dibaca dan dimengerti maknanya.
2. Cipher Text , yaitu sebuah pesan atau teks  yang makna aslinya telah disembunyikan menggunakan metode kriptografi yaitu enkripsi. Makna yang terkandung di dalamnya sudah tidak dapat dipahami.
3. Cryptography  Key merupakan  sebuah  kunci yang  dimanfaatkan  selama  proses  enkripsi  dan dekripsi berlangsung.
4. Encryption and Decryption Algorithm Terdapat dua metode dalam kriptografi, yaitu proses untuk mengubah plain  text ke  dalam  sebuah cipher text ,  dan  proses  untuk  mengubah cipher  text menjadi plain  text yang  bisa  dibaca.  Metode tersebut dinamakan enkripsi dan dekripsi. Menurut penggunaan kunci, kriptografi terbagi menjadi  dua,  yaitu  simetris  dan  asimetris. Kriptografi simetris menggunakan kunci yang sama ketika  proses  enkripsi  dan  dekripsi.  Sedangkan kriptografi    asimetris  menggunakan  kunci  yang berbeda,  pada  proses  enkripsi  menggunakan  kunci publik dan pada proses dekripsi menggunakan kunci privat.  Pada  penelitian  ini  penulis  menggunakan algoritma  kriptografi  yang  menggunakan  kunci simetris.

## 2.4. Algoritma  Kriptografi  dan  Metode  yang Digunakan
Mengutip  dari  apa  yang  dijelaskan  oleh Marsellus  Oton  Kadang  dalam  bukunya  yang berjudul  “Algoritma  dan  Pemrograman:  Buku Bahan  Ajar”,  algoritma  adalah  suatu  teknik  dalam menyusun  langkah-langkah  yang  digunakan  untuk menyelesaikan permasalahan  yang disajikan dalam bentuk  kalimat  dengan  jumlah  kata  yang  terbatas namun  tersusun  secara  sistematis  dan  juga  logis [16].  Dalam  buku  tersebut  juga  dijelaskan  bahwa
algoritma  merupakan  susunan  langkah-langkah pasti yang bilamana diikuti akan menghasilkan data masukan  yang  ditransformasikan  menjadi  sebuah data keluaran yang berupa informasi. 1. Kunci Simetris , Metode ini menggunakan kunci yang  sama  pada  saat  proses  enkripsi  dan dekripsi.  Jika  menggunakan  metode  kriptografi simetris,  maka  harus  menyimpan  kunci  dengan aman,  karena  jika  diketahui  oleh  orang  atau pihak yang tidak berhak maka akan memudahkan  proses  pembacaan  data  dan  ini akan merugikan pemilik data sesungguhnya.
2. Blok  Cipher adalah  sebuah  metode  dalam algoritma  kriptografi  yang  melakukan  proses enkripsi  dengan  membagi plain  text menjadi beberapa  blok-blok  bit,  begitu  juga  kunci  yang digunakan pun dibagi menjadi beberapa blok bit [17].
3. Advanced  Encryption  Standard merupakan sebuah standar untuk algoritma kriptografi yang dikeluarkan  oleh National  Institute  of  Standard and  Technology (NIST)  yang  disetujui  sebagai Federal  Information  Processing  Standard (FISP)  197 pada tahun 2001, yang mana standar ini  dibuat  untuk  menggantikan  standar Data Encryption  Standard (DES)  yang  dirasa  sudah tidak aman karena menggunakan panjang kunci sebesar 56-bit [7], [18].

## 2.5. Android
Android  adalah  sebuah  sistem  operasi  untuk perangkat ponsel yang dikembangkan oleh Google, sebuah  perusahaan  raksasa  di  bidang  teknologi. Android merupakan sistem operasi yang berjalan di atas kernel Linux  yang  mendukung  untuk  berjalan pada perangkat layar sentuh; dan Android memiliki lisensi sumber terbuka yang membuat semua orang dapat  menggunakan  dan  mengembangkan  aplikasi Android secara gratis [19].

## 2.6. DataStore
Dilansir  dari  laman  dokumentasi  resmi Android  Developer , DataStore merupakan  sebuah solusi  untuk  penyimpanan  data  yang  disimpan  ke dalam  penyimpanan  lokal  dalam  bentuk  pasangan key-value serta memanfaatkan Kotlin coroutine dan juga Flow [4]. DataStore termasuk  ke  dalam Android Jetpack yang merupakan kumpulan sebuah pustaka yang sangat bermanfaat untuk mengembangkan aplikasi Android. Di dalam laman dokumentasinya disampaikan pula bahwa DataStore disarankan  untuk  menggunakannya  jika sebelumnya  menggunakan SharedPreferences ,  ini karena DataStore menggunakan Flow yang mampu menjalankan  proses  penyimpanan  data  secara asinkron,  konsisten  dan  transaksional,  berbeda dengan SharedPreferences yang masih menjalankan prosesnya secara sinkron.
Dari  uraian  diatas  juga  diperkuat  oleh penelitian  yang  sudah  dilakukan  oleh  Agung
Prajuhan  Putra    (2020)  mengenai  Implementasi Algoritma Advance  Encryption  Standard (AES) Rijndael pada Aplikasi Keamanan Data yang mana hasil  dari  penelitian  tersebut  yaitu  implementasi algoritma Advanced  Encryption  Standard (AES) Rijndael dalam  mengamankan  data  berupa  berkas digital  ( file )  yang  disimpan  ke  dalam  perangkat Android.  Setelah  itu  di  akhir  penelitian  dilakukan analisa dan pengujian dari performa serta keamanan algoritma  AES  dalam  melakukan  proses  enkripsi dan dekripsi.
Selain  itu,  Intan  Fitriani  juga  melakukan penelitian serupa mengenai implementasi algoritma Advanced  Encryption  Standard pada  sistem Layanan  SMS  Desa.  Penulis  juga  menjelaskan tentang  beberapa  pengujian  untuk  mengetahui efektifitas algoritma AES. Pengujian yang dilakukan antara lain adalah pengujian CrackStation , Avalanche  Effect ,  dan  uji  kelayakan  sistem  yang dilakukan oleh ahli.

## 3. METODE PENELITIAN
Penelitian  ini  menggunakan  metode  yang terdapat  pada  algoritma Advanced  Encryption Standard (AES) dengan menggunakan mode Cipher Block  Chaining (CBC)  untuk  mengamankan datanya. Kemudian pada proses pencarian data juga dilakukan  studi  pendahuluan  tentang Advanced Encryption Standard (AES) yang diperlukan untuk penelitian yang dilakukan.
Tahapan  yang  dilakukan  pada  penelitian  ini yaitu:
1. Studi  Pendahuluan :  tahapan  yang  dilakukan yaitu  dengan  cara  mencari  informasi  serta mengkaji penelitian terdahulu yang didapat dari sumber seperti jurnal dan buku terkait algoritma Advanced Encryption Standard (AES)
2. Analisis  Sistem  Algoritma  AES :  terdapat  tiga tahapan  dalam Advanced  Encryption  Standard (AES), yaitu pembangkit kunci, proses enkripsi dan proses dekripsi.
3. Pengembangan Algotritma : pada fase ini, akan dilakukan  tahap  pengembangan  algoritma Advanced  Encryption  Standard  (AES)  dengan menggunakan bahasa pemrograman Kotlin.
4. Pengujian :  tujuan  pengujian  adalah  untuk memverifikasi  kinerja  enkripsi  dan  dekripsi, mengukur  kecepatan  proses  dan  memastikan keamanan  sistem.  Dalam  rangka  mengukur tingkat  keamanan,  metode Avalanche  Effect digunakan sebagai acuan.
5. Implementasi ke dalam Sistem : pada tahap ini, implementasi  atau  penerapan  algoritma  akan dilakukan  dalam  aplikasi  Android  untuk mengenkripsi  data  yang  disimpan  dalam DataStore.
6. Analisis  Keamanan :  Tahap  ini  di-laksanakan dengan tujuan meng-identifikasi dan menemukan  kerentanan  pada  aplikasi  yang sudah  dikembangkan.  Metode  yang  digunakan
dalam  analisis  keamanan  adalah  dengan melakukan uji penetrasi atau penetration testing otomatis.
Gambar 2. Tahapan penelitian

## 4. HASIL DAN PEMBAHASAN
4.1. Kebutuhan Enkripsi Data Teks
Untuk memperjelas bagaimana proses enkripsi menggunakan  algoritma Advanced  Encryption Standard (AES)  berjalan,  maka  akan  dilakukan sebuah  simulasi  enkripsi  dan  dekripsi  pada  sebuah plain  text menggunakan  algoritma  AES  dengan panjang  kunci  256-bit  serta  menggunakan  mode Cipher  Block  Chaining (CBC)  dengan  beberapa ketentuan berikut:
 Plain Text :  mengamankan  data  datastore dengan metode aes-256
 Kunci : Zr4u7x!A%D*G- KaPdSgVkXp2s5v8y/B*  IV
: WmZq4t7w!z%C*F-J
Sebelum  melakukan  tahapan  yang  lain, diperlukan  untuk  mengubah plain text ke  dalam bentuk  heksadesimal  sesuai  dengan  tabel  ASCII, lalu  akan  dibagi  per  blok  dengan  masing-masing panjang  blok  sebanyak  128-bit  (16  karakter). Berikut adalah nilai plain text yang telah diubah ke dalam bentuk heksadesimal.
Gambar 3. Blok plain text
4.2. Proses Pembangkitan Kunci ( Expand Key ) Seperti  yang  telah  disampaikan  sebelumnya, dibutuhkan kunci yang digunakan pada setiap ronde dalam  proses  enkripsi  dan  dekripsi.  Berikut  adalah simulasi  dalam  mengekspansi  kunci,  dan  untuk tahap awal yaitu menyalin kunci ke dalam larik W[] seperti yang ditunjukkan di bawah.
Gambar 4. Menyalin blok kunci ke w 0
Tahap selanjutnya yaitu mencari nilai W 0 baru sampai semua round key didapatkan. Untuk mencari nilai W 0 berikutnya, terdapat beberapa tahapan yang harus dilalui, yaitu RotWord , SubWord , di XOR-kan dengan tabel Rcon[i / Nk] dan terakhir yaitu di XOR- kan dengan nilai W i-Nk .  Selanjutnya word hasil dari tahapan RotWord akan  ditransformasikan  pada tahap SubWord dengan tabel S-Box. Berikut adalah tabel S-Box yang digunakan.
Gambar 5. Tabel S-Box
Setelah  melalui  tahapan SubWord ,  hasil  dari tahap tersebut akan di XOR-kan dengan tabel Rcon[i /  Nk]. Tahap  terakhir  dalam  mencari  nilai W 0 selanjutnya  yaitu  dengan  melakukan  operasi  XOR antara hasil Rcon[] dengan W i-Nk ( W 0 sebelumnya). Maka  didapatkanlah  hasil  untuk  nilai W 0 yang berikutnya setelah melalui berbagai tahapan.
Untuk  mencari  nilai W 1 sampai  dengan W 7 berikutnya  yaitu  hanya  dengan  melakukan  operasi XOR  antara word sebelumnya  ( W i-1 )  dengan W i-Nk . Namun  karena  simulasi  yang  terdapat  pada penelitian  ini  menggunakan  kunci  dengan  panjang 256-bit,  khusus  saat  mencari  nilai W 4 -nya  akan melalui tahap SubWord terlebih dahulu [22]. Berikut adalah hasil dari nilai W 1 sampai W 7 .
Setelah  melalui  tahapan  yang  sebelumnya, selanjutnya  tahapan  tersebut  akan  diulangi  sampai seluruh  nilai  masing-masing word pada round  key ditemukan. Berikut di bawah ini merupakan gambar hasil dari pencarian seluruh word untuk digunakan sebagai round key pada proses Expand Key .
Gambar 6. Roundkey yang digunakan untuk proses enkripsi dan dekripsi

## 4.3. Enkripsi Menggunakan AES
Proses enkripsi dilakukan pada setiap blok dan akan  melalui  setiap tahapan  yang ada pada  metode algoritma AES. Pada simulasi ini pertama kali akan melakukan enkripsi pada  blok 1 plain text . Namun sebelum  melakukan  tahapan  pada  metode  AES, terlebih  dahulu  blok plain  text akan  di  XOR-kan dengan blok IV, ini dilakukan karena menggunakan mode  CBC.  Berikut  adalah  tahapan  melakukan operasi XOR antara blok plain text dengan IV.
Gambar 7. Proses XOR blok plain text dengan IV
Tahapan  selanjutnya  yaitu AddRoundKey Ronde ke-0. Pada tahap ini akan melakukan operasi XOR  antara plain  text (yang  telah  di  XOR  dengan IV) dengan round key yang ke-0. Hasil dari tahapan ini  akan  disimpan  ke  dalam state[] ( S 1 )  untuk diproses  pada  tahapan  yang  lain.  Berikut  adalah proses pada tahap AddRoundKey untuk ronde ke-0. Tahapan  selanjutnya  yaitu SubBytes .  Pada tahap SubBytes ini  dilakukan  proses  transformasi state[] ( S 1 )  sesuai  dengan  tabel  S-Box  yang  sama dengan proses pembangkit kunci  yang ditunjukkan pada Gambar  5 .  Hasil  dari  proses  transformasi tersebut  akan  disimpan  kembali  ke  dalam state[] ( S 2 ). Tahap ini dilakukan terhadap setiap bytes pada state[] .  Setelah  ditransformasikan  pada SubBytes , tahap selanjutnya  yaitu  menggeser atau melakukan transposisi baris state[] sesuai yang telah ditentukan pada tahapan ShiftRows . Baris kedua akan bergeser satu  kolom  ke  kiri,  baris  ketiga  akan  bergeser  dua kolom ke kiri, dan baris keempat akan bergeser tiga kolom ke kiri. Untuk lebih jelasnya, berikut adalah proses  pada  tahapan ShiftRows .  Pada  tahapan MixColumns ini, masing-masing kolom state[] hasil
proses  tahap ShiftRows akan  dikalikan  dengan matriks multiplication seperti  pada  persamaan  di bawah, dan akan disimpan kembali ke dalam state[] ( S 4 ).
Selanjutnya kembali dilakukan tahap
AddRoundKey dengan  melakukan  operasi  XOR antara state[] hasil  dari  tahap MixColumns dengan round  key yang  ke-1.  Berikut  adalah  proses AddRoundKey untuk  ronde  ke-1.  Setelah  itu tahapan-tahapan SubBytes , ShiftRows , MixColumns dan AddRoundKey diulangi sebanyak Nr-1. Karena kunci 256-bit memiliki nilai Nr sebanyak 14, maka tahap yang disebutkan sebelumnya diulang sebanyak 13 kali. Lalu pada ronde terakhir (ke-14) akan melakukan tahapan seperti sebelumnya, namun melewati  tahap MixColumns .  Hal  yang  sama dilakukan terhadap blok selanjutnya hingga seluruh blok cipher terenkripsi.
Berikut  merupakan  gambaran  keseluruhan proses  enkripsi plain  text menggunakan  algoritma AES yang ditunjukkan pada Gambar 8 . Dan cipher text yang didapat adalah “0940f77a4ab2489aea1c3 149869de78aea968e1a8f10ae89511a49e0c4c89ab 30ffa6638e7d4cc558c0b2b3720d3bf38” .
Gambar 8. Proses enkripsi pada masing-masing blok

## 4.4. Deskripsi Menggunakan AES
Proses  dekripsi  tidak  jauh  berbeda  dengan yang dilalui pada proses enkripsi,  hanya prosesnya yang  merupakan  kebalikan  dari  proses  enkripsi. Sama seperti pada proses enkripsi, cipher text perlu dibagi  menjadi  blok-blok  128-bit,  seperti  yang ditunjukkan pada gambar di bawah.
Gambar 9. Blok cipher text
Masing-masing  blok  akan  melalui  proses dekripsi ( invers ) yang terdapat pada AES, lalu hasil ( state[] ) proses tersebut akan di XOR dengan  blok IV atau blok cipher text sebelumnya. Pada simulasi ini  pertama  kali  akan  melakukan  proses  dekripsi pada blok cipher text yang pertama. Pada  tahapan AddRoundKey ,  blok cipher  text akan  di  XOR  dengan round  key .  Berbeda  dengan proses enkripsi, pada proses dekripsi ini dimulai dari round  key yang  ke  Nr  (ke-14)  dan  tahapannya mundur sampai ronde ke-0. Lalu tahap selanjutnya yaitu tahap InwShiftRows Ronde ke-Nr. Proses pada tahapan  ini  merupakan  kebalikan  dari  tahap ShiftRows , namun yang berbeda adalah pergeserannya kebalikan dari proses enkripsi, yaitu pada  proses  dekripsi  akan  bergeser  ke  kanan  pada baris kedua, ketiga dan keempat.
Tahap  selanjutnya  yaitu InvSubBytes Ronde ke-Nr.  Pada  tahapan ini  dilakukan  proses transformasi state[] hasil  dari  proses  sebelumnya ( InvShiftRows ) atau S 2 sesuai dengan tabel Invers S- Box byte per byte . Berikut di bawah ini tabel Invers S-Box yang digunakan pada tahap dekripsi.
Gambar 10. Tabel invers S-Box
Tahap AddRoundKey saat  ini  sama  dengan tahap AddRoundKey di  awal,  yaitu  melakukan operasi XOR antara state[] dengan round key yang ke-13. Berikut adalah gambaran proses pada tahapan AddRoundKey untuk  ronde  ke-13.  Kemudia  tahap selanjutnya  yaitu  tahap InvMixColumns .  Langkah pada  tahapan  ini  hampir  sama  dengan  tahapan MixColumns , namun yang membedakan pada tahap InvMixColumns adalah dengan mengalikan masing- masing  kolom state[] dengan  matriks invers multiplication . Selanjutnya tahapan AddRoundKey ,
InvMixColumns , InvShiftRows ,  dan InvSubBytes akan diulangi sebanyak Nr-1 kali. Selanjutnya pada ronde  terakhir  (ke-0)  hanya  akan  melalui  tahap AddRoundKey . Dilakukan hal yang sama pula untuk blok-blok cipher text yang lain, lalu state[] dari hasil dekripsi menggunakan AES akan di XOR dengan IV (untuk  blok cipher pertama)  atau  di  XOR  dengan blok cipher sebelumnya.  Berikut  adalah  gambaran hasil dari proses dekripsi pada masing-masing blok
cipher yang ditunjukkan pada Gambar _ di bawah. Lalu  untuk plain  text yang  didapat  yaitu “mengamankan  data  datastore  dengan  metode aes-256” .  Hasil  dekripsi  telah  berhasil  dan  didapat nilai yang sama dengan plain text sebenarnya.
Gambar 11. Proses dekripsi pada masing-masing
blok

## 4.5. Pengembangan Algoritma
Pada  tahapan  ini  akan  dilakukan  proses penulisan algoritma Advanced Encryption Standard (AES) ke dalam sebuah kode program menggunakan bahasa  pemrograman  Kotlin,  sesuai  dengan  hasil analisis.

## 4.6. Pengujian Algoritma AES
Proses  yang  dilakukan  pada  tahapan  ini bertujuan  untuk  menguji  efektifitas  algoritma dengan  cara  mengukur  kecepatan  proses  enkripsi beserta  proses  dekripsi.  Selain  itu  dilakukan  pula pengujian  untuk  mengukur  keamanannya  dengan mencari  tingkat  keacakan  hasil cipher  text menggunakan metode Avalanche Effect .

## 4.7. Pengukuran Kecepatan
Dalam  pengukuran  kecepatan  digunakan fungsi  bawaan  dari  bahasa  pemrograman  Kotlin, dengan perhitungan waktu proses berakhir dikurangi dengan  waktu  dimulainya  proses  enkripsi  atau dekripsi. Dimana satuan yang digunakan yaitu mili- sekon (ms), yaitu sama dengan 0.001 detik. Adapun tahapan  yang  akan  dilakukan  yaitu  dengan melakukan  masing-masing  proses  yang  diulangi sesuai  dengan  sampel plain  text dan  kunci,  setelah itu  di  akhir  akan  diambil  rata-rata  dari  proses enkripsi  dan  dekripsi.  Adapun  grafik  hasil  dari proses pengukuran ditunjukkan di bawah ini.
Gambar 12. Grafik hasil pengukuran kecepatan
Lalu  dari  tahapan  di  atas,  didapat  hasil kecepatan  prosesnya  memiliki  rata-rata 0.88  ms pada  proses  enkripsi  dan 0.44  ms pada  proses dekripsi.  Waktu  tertinggi  untuk  proses  enkripsi berada  di 15  ms ,  sedangkan  pada  proses  dekripsi berada di 6  ms . Hasil  ini  lebih  cepat dibandingkan dengan penelitian sebelumnya yang dilakukan oleh Elsa  Elvira  Awal  dengan  rata-rata  3,94  detik  pada proses enkripsi dan rata-rata 3,99 detik pada proses dekripsi [10]. Selain itu hasil pengukuran kecepatan ini lebih cepat dibandingkan penelitian sebelumnya yang dilakukan oleh  [23]  yang  memiliki  nilai rata- rata sebesar 9,33 ms pada proses enkripsi dan 5,68 ms pada proses dekripsi.

## 4.8. Avalanche Effect
Kemudian  terdapat  tahapan avalanche  effect. Pengujian  ini  bertujuan  untuk  menemukan  tingkat keacakan dari nilai cipher text yang dihasilkan dari proses  enkripsi.  Skenario  yang  digunakan  yaitu dengan  cara  menjalankan  proses  enkripsi  pada sebuah plain  text ,  selanjutnya plain  text tersebut akan  diubah  satu  karakter  dan  kembali  dilakukan proses  enkripsi.  Dari  kedua  hasil  tersebut  akan dihitung  persentase  perubahan  bit-nya.  Sesuai dengan  yang  disampaikan  sebelumnya,  algoritma yang  baik  memiliki  nilai  persentase Avalanche Effect berada di angka minimal 50% (setengahnya) atau lebih  besar  [9], [17], [23], [24]  berikut adalah persamaan untuk menghitung persentase Avalanche Effect .
𝐴𝐸 = 𝑗𝑢𝑚𝑙𝑎ℎ 𝑏𝑖𝑡 𝑏𝑒𝑟𝑢𝑏𝑎ℎ 𝑗𝑢𝑚𝑙𝑎ℎ 𝑏𝑖𝑡 𝑡𝑜𝑡𝑎𝑙 × 100% (1)
Untuk  melakukan  pengujian  ini  dibutuhkan bantuan  perangkat  lunak  yang  bernama Cryptool versi  2.1  untuk  mengetahui  jumlah  perubahan  bit antara dua cipher text . Berikut adalah grafik hasil dari membandingkan  dua cipher  text yang  telah dilakukan  untuk  mendapatkan  nilai  persentase Avalanche  Effect dari  algoritma  AES  yang  telah dibuat.

## Gambar 13. Grafik hasil dari tahap pengukuran Avalanche Effect
Setelah  melakukan  perbandingan  antara  10 pasang cipher  text ,  didapatkan  nilai  rata-rata Avalanche  Effect dari  algoritma  yang  telah dikembangkan ini mencapai 64.68% . Sesuai dengan yang disampaikan sebelumnya, algoritma yang baik memiliki  nilai  persentase  minimal  di  angka  50%
(setengahnya) atau lebih.
4.9. Implementasi Algoritma ke dalam Sistem
Setelah algoritma Advanced Encryption Standard (AES)  dikembangkan  serta  dilakukan pengujian, hasil dari tahap tersebut akan diimplementasikan  ke  dalam  sistem  aplikasi Android, dan aplikasi tersebut dinamakan Encrypted DataStore . Aplikasi yang akan dikembangkan hanya berupa  sampel  yang  bertujuan  untuk  menerima masukan  dari  pengguna,  data  tersebut  selanjutnya akan  disimpan  ke  dalam DataStore .  Sebelum disimpan, data masukan akan dienkripsi menggunakan algoritma  yang telah dikembangkan, lalu ketika data tersebut  akan diakses akan  melalui proses dekripsi terlebih dahulu.
Alat  yang  digunakan  untuk  mengembangkan aplikasi  ini  sepenuhnya  menggunakan  Android Studio.  Aplikasi  yang  akan  dikembangkan  hanya memiliki  dua  halaman  serta  satu  tampilan  dialog yang  menampilkan  hasil  proses  enkripsi  dan dekripsi.  Halaman  pertama  yaitu  halaman  profil yang datanya diambil dari DataStore , dan halaman kedua adalah halaman pengaturan yang di dalamnya terdapat form untuk  memasukkan  data  yang  akan disimpan ke dalam DataStore . Berikut di bawah ini adalah  penjelasan  halaman  hasil  dari  aplikasi  yang telah  dikembangkan  dalam  menerapkan  algoritma AES ke dalam aplikasi Android.
1. Halaman  Profil.  Di  dalam  halaman  ini menampilkan  data  atau  informasi  yang diambil dari DataStore . Data tersebut yaitu nama, email dan gambar yang diambil dari internet secara acak dengan  menggunakan API  Key (untuk  mengakses  gambar  dari internet)  yang  diambil  dari DataStore .
Selain itu terdapat tombol telepon yang jika ditekan  akan  mengarahkan  ke  aplikasi pemanggil  dan  akan  menampilkan  nomor telepon sesuai dengan data yang
0 5 10 15 20 25 1 4 7 10 13 16 19 22 25 28 31 34 37 40 43 46 49 W akt u ( ms ) Proses Waktu Proses Enkripsi Dekripsi 0 20 40 60 80 100 1 2 3 4 5 6 7 8 9 10 A E ( % ) Proses Avalanche Effect (AE)
dimasukkan. Data yang ditampilkan merupakan data yang telah  melalui proses dekripsi.  Berikut  adalah  tampilan  dari halaman profil yang telah dikembangkan.
2.
Gambar 14. Tampilan antar muka pada halaman profil
3. Halaman pengaturan ( setting ). Pada halaman  ini  menampilkan form masukan untuk  menerima data dari pengguna. Data yang  dimasukkan  yaitu  nama,  email, nomor  telepon  dan API  Key untuk mengakses  gambar  dari  internet.  Setelah menekan  tombol  “Submit”,  data  yang dimasukkan  akan  dienkripsi  sebelum disimpan ke dalam DataStore .
4. Dialog hasil proses enkripsi dan deskripsi. Pada  dialog  ini  menampilkan  hasil  dari proses  enkripsi  dengan  menunjukkan cipher  text .  Selain  itu  terdapat  tombol untuk  menampilkan  hasil  dari  proses dekripsi  dengan  menunjukkan plain  text hasil dekripsi dari cipher text .
4.10. Analisis Kemanan Analisis keamanan dilakukan untuk
mengetahui  tingkat  keamanan  dan  juga  menguji kerentanan  dari  aplikasi  Android  yang  telah dikembangkan. Untuk melakukan analisis keamanan,  dibutuhkan  bantuan  perangkat  lunak Mobile  Security  Framework (MobSF).  Dan  di bawah  ini  adalah  skor  hasil  analisis  keamanan aplikasi Encrypted  DataStore yang  dilakukan melalui perangkat lunak MobSF.
Berdasarkan  hasil  penilaian  pada  tahapan analisis  keamanan  menggunakan  perangkat  lunak MobSF,  aplikasi Encrypted  DataStore memiliki nilai  keamanan  yang  baik  dan  memiliki  tingkat risiko  keamanan  yang  rendah,  karena  hanya ditemukan komponen yang memiliki level risiko di tingkat  medium  dan  tidak  ditemukan  komponen
yang  memiliki  level  risiko  di  tingkat tinggi  ( high ). Oleh  karena  itu  aplikasi Encrypted  DataStore mendapatkan  skor  78/100  dan  berada  di grade A seperti yang ditunjukkan pada Gambar 15 .
Gambar 15. Skor hasil analisis kemanan menggunakan MobSF

## 5. KESIMPULAN DAN SARAN
Berdasarkan  hasil  dari  serangkaian  tahap penelitian yang telah dilakukan dalam mengembangkan  serta  menerapkan  algoritma Advanced  Encrypted  Standard pada  aplikasi berbasis  Android,  maka  dapat  disimpulkan  bahwa setelah  dilakukan  seluruh  proses  enkripsi  dan dekripsi,  didapatkan  hasil  kecepatan  prosesnya kurang lebih 0.88 ms pada proses enkripsi dan 0.44 ms pada proses dekripsi. Setelah itu hasil pengujian Avalanche Effect mendapatkan  nilai  rata-rata sebesar  64.68%  dan  dapat  dikatakan  baik  karena memiliki nilai persentase AE yang lebih dari 50%. Penerapan  algoritma Advanced  Encryption Standard ke  dalam  sistem  aplikasi  Android  telah memberikan keamanan terhadap data yang disimpan ke  dalam  DataStore  dengan  berhasil  mengenkripsi datanya.  Setelah  menerapkan  algoritma  ke  dalam sistem  aplikasi  Android  dan  dilakukan  analisis keamanan,  didapatkan  hasil  bahwa  aplikasi  yang telah dibuat memiliki risiko keamanan yang rendah dengan mendapatkan skor 78/100 ( grade A).
Adapun  saran  yang  diberikan  untuk  penelitian lebih  lanjut  di  masa  mendatang  adalah  sebagai berikut:
1. Mendukung  enkripsi  data  selain  data  teks (string). Selain tipe datanya, diharapkan ke depannya  dapat  mendukung  enkripsi  data yang  disimpan  menggunakan DataStore tipe Proto DataStore.
2. Karena hasil penelitian ini akan dipublikasikan  sebagai  pustaka  sumber terbuka  ( open  source ),  diharapkan  bagi pengembang  Android  dapat  berkontribusi untuk meningkatkan kualitas hasil penelitian ini.

## DAFTAR PUSTAKA
[1]  W.  K.  Pertiwi,  “Jumlah  Pengguna  Ponsel  di Dunia  Tembus  5  Miliar,” Kompas ,  2021. https://tekno.kompas.com/read/2021/09/02/09 144137/jumlah-pengguna-ponsel-di-dunia- tembus-5-miliar (diakses Jan 13, 2022).
[2]  D.  Curry,  “Android  Statictics  (2022),” Businness of Apps , 2022. https://www.businessofapps.com/data/android
-statistics/ (diakses Sep 07, 2022).
[3]  R. Ario, “Jumlah Unduhan Aplikasi di Google Play  Capai  28  Miliar,” Timlo ,  2020. https://timlo.net/baca/115867/jumlah- unduhan-aplikasi-di-google-play-capai-28- miliar (diakses Sep 07, 2022).
[4]  Android  Developer,  “App  Architecture:  Data
Layer - DataStore,” 2022. https://developer.android.com/topic/libraries/a rchitecture/datastore (diakses Sep 07, 2022).
[5]  N.  Matondang,  I.  N.  Isnainiyah,  dan  A. Muliawatic,  “Analisis  Manajemen  Risiko Keamanan  Data  Sistem  Informasi  (Studi Kasus:  RSUD  XYZ),” J.  RESTI  (Rekayasa Sist. dan Teknol. Informasi) , vol. 2, no. 1, hal. 282–287, Apr 2018,
doi:
10.29207/resti.v2i1.96.
[6]  Android  Public  Tracker,  “Feature  Request: Support  for  encryption  in  Datastore,” Issue Tracker
Google , 2021. https://issuetracker.google.com/issues/167697
691 (diakses Sep 07, 2022).
[7]  M.  E.  Smid,  “Development  of  the  Advanced Encryption Standard,” J. Res. Natl. Inst. Stand. Technol. ,  vol.  126,  no.  2,  hal.  126024,  Agu 2021, doi: 10.6028/jres.126.024.
[8]  N. Anwar, M. Munawwar, M. Abduh, dan N. B.  Santosa,  “Komparatif  Performance  Model Keamanan  Menggunakan  Metode  Algoritma AES  256  bit  dan  RSA,” J.  RESTI  (Rekayasa Sist. dan Teknol. Informasi) , vol. 2, no. 3, hal. 783–791, Des 2018, doi:
10.29207/resti.v2i3.606.
[9]  A.  P.  Putra,  H.  Herfina,  S.  Maryana,  dan  A. Setiawan,  “Implementasi  Algoritma  AES (Advance Encryption Standard) Rijndael Pada Aplikasi  Keamanan  Data,” JIPETIK  J.  Ilm. Penelit. Teknol. Inf. Komput. , vol. 1, no. 2, hal. 46–51, 2020.
[10]  E. E. Awal et al. , “Analisis Perbandingan Hasil Enkripsi  dan  Deskripsi  Algoritma  Kriptografi Rijndael dan Twofish untuk Penyandian Data,” J. Mhs. Ilmu Komput. , vol. 03, no. 01, hal. 1– 6, 2022.
[11]  D.  A.  Meko,  “Perbandingan  Algoritma  DES, AES, IDEA Dan Blowfish dalam Enkripsi dan Dekripsi Data,” J. Teknol. Terpadu , vol. 4, no.
1, hal. 8–15, Jul 2018, doi: 10.54914/jtt.v4i1.110.
[12]  I.  Gunawan, Keamanan  Data:  Teori  dan Implementasi , 1 ed. Sukabumi: Jejak
Publisher, 2021.
[13]  I. Y. Sari et al. , Keamanan Data dan Informasi .
Yayasan Kita Menulis, 2020.
[14]  H.  Mukhtar, Kriptografi  Untuk  Keamanan Data , 1 ed. Yogyakarta: Deepublish, 2018.
[15]  N.  Setiawan,  “Kasus  Kejahatan  Siber  Pada Telepon  Seluler  Android,” Cyber  Secur.  dan Forensik Digit. , vol. 2, no. 1, hal. 24–29, 2019, doi: 10.14421/csecurity.2019.2.1.1420.
[16]  M. O. Kadang, Algoritma dan Pemrograman: Buku Bahan Ajar , 1 ed. Makassar: Humanities Genius, 2021.
[17]  R.  R.  Fauzi  dan  T.  Wellem,  “Perancangan Kriptografi  Block  Cipher  berbasis  Pola Dribbling  Practice,” Aiti ,  vol.  18,  no.  2,  hal. 158–172,  2021,  doi:  10.24246/aiti.v18i2.158- 172.
[18]  A.  Nugrahantoro,  A.  Fadlil,  dan  I.  Riadi, “Optimasi Keamanan Informasi Menggunakan Algoritma  Advanced  Encryption  Standard (AES) Mode  Chiper Block Chaining (CBC),” J. Ilm. FIFO , vol. 12, no. 1, hal. 12, Jul 2020, doi: 10.22441/fifo.2020.v12i1.002.
[19]  R. Damanik, P. D. . Silitonga, dan W. Ginting, Membangun Aplikasi Android dengan Database SQLite , 1 ed. Yayasan Kita Menulis, 2020.
[20]  G. Gunawan, S. M. Damanik, F. B. Larasati, A. F.  Zuri,  dan  S.  Solikhun, Dasar  -  Dasar Pemrograman  Android ,  1  ed.  Yayasan  Kita Menulis, 2021.
[21]  H.  Herlinah  dan  M.  KH, Pemrograman Aplikasi  Android  dengan  Android  Studio, Photoshop, dan Audition , 1 ed. PT Elek Media Komputindo, 2019.
[22]  J.  Daemen  dan  V.  Rijmen, The  Design  of Rijndael:  The Advanced  Encryption  Standard (AES) .  Berlin,  Heidelberg:  Springer  Berlin Heidelberg, 2020.
[23]  F.  Rizky,  “Implementasi  Kriptografi  Dengan Metode Advanced Encryption Standard ( AES ) Untuk Realtime Chat Berbasis Mobile Pada E -  Learning  Politeknik  Negeri  Lhokseumawe,” JAISE (Journal Artif. Intell. Softw. Eng. , vol. 1, no. 2, hal. 1–8, 2019, doi: 10.30811/jaise.v1i2.2520.
[24]  I.  Fitriani  dan  A.  B.  Utomo,  “Implementasi Algoritma  Advanced  Encryption  Standard (AES)  pada  Layanan  SMS  Desa,” JISKA (Jurnal Inform. Sunan Kalijaga) , vol. 5, no. 3, hal. 153–163, Nov 2020, doi: 10.14421/jiska.2020.53-03.