Aplikasi Enkripsi Dekripsi Sms Metode Playfair Cipher Android

Aplikasi Enkripsi Dan Dekripsi Sms Dengan Metode Playfair Cipher Pada Smartphone Berbasis Android

Latar Belakang

Perkembangan  di  bidang  teknologi  dalam  beberapa  tahun  belakangan  ini berkembang  begitu  pesat,  khususnya  smartphone  yang  dapat  digunakan  untuk berbagai  macam  fungsi.  Berbagai  macam  jenis  smartphone  kini  banyak  beredar  di semua  kalangan  masyarakat,  salah  satunya  yaitu  smartphone  berbasis  android. Smartphone  berbasis  android  ini  cukup  popular  saat  ini   karena  smartphone  ini menggunakan  Operating   System   Mobile   yang  open  platform.  Banyak  perangkat lunak  untuk  mengembangkan  atau  membangun  aplikasi  pada  smartphone  yang berbasis android ini, diantaranya yaitu eclipse.

Banyak fitur-fitur yang disediakan dari smartphone untuk menjalankan sebuah fungsi-fungsi tertentu dari smatphone itu sendiri. Salah satu fitur yang cukup penting dari  smartphone  yaitu  fitur  untuk  melakukan  pengiriman  data  yang  berupa  pesan singkat  /  Short  Message  Service  (SMS).  Namun  seringkali  karena  kesalahan pengguna  itu  sendiri  dalam  melakukan  fitur  SMS  ini,  misalnya  salah  mengirimkan pesan kepada orang lain yang dimana pesan itu bersifat pribadi, rahasia, dan penting bagi pengirim dan penerimanya. Lalu seiring juga dengan berkembangnya teknologi yang semakin canggih maka menimbulkan pertanyaan mengenai keamanan data dan informasi yang dikirimkan melalui SMS.
Dengan berdasarkan dengan alasan-alasan tersebut dan berbagai pertimbangan maka  dirasa  dibutuhkan  suatu  aplikasi  pengamanan  isi  SMS  yang  akan  dikirim. Pangamanan  SMS  ini  dilakukan  dengan  cara  menyamarkan  isi  SMS  dengan menggunakan algoritma kriptografi klasik supaya hanya penerima  yang berhak saja yang akan mengetahui maksud dari isi SMS tersebut. Dalam hal ini, maka dibutuhkan aplikasi   yang  dapat  melakukan  enkripsi  SMS  ketika  SMS  itu  akan  dikirim,   dan dekripsi  SMS  ketika  SMS  itu  sampai  ditangan  penerima  yang  berhak.  Algoritma kriptografi  klasik  yamg  digunakan  yaitu  playfair  cipher.  Playfair  cipher  merupakan algoritma  kriptografi  klasik  yang  paling  terkenal  dan  juga  paling  kuat.  Algoritma playfair cipher juga menggunakan teknik digraph cipher yang artinya  proses enkripsi dilakukan pada setiap dua huruf.  Aplikasi  yang dibuat  berjalan pada sistem operasi android  sehingga  para  pengguna  smatphone  dapat  melakukan  SMS  dengan  lebih aman.




Pembahasan

KRIPTOGRAFI


Kriptografi  (cryptography) berasal dari bahasa Yunani, terdiri dari dua suku kata  yaitu  kripto  dan graphia.  Kripto  artinya  menyembunyikan,  sedangkan  graphia artinya tulisan. Kriptografi adalah ilmu yang mempelajari teknik-teknik matematika yang  berhubungan  dengan  aspek  keamanan  informasi,  seperti  kerahasiaan  data, keabsahan  data,  integritas  data,  serta  autentikasi  data  (Menezes,  Oorschot  and Vanstone,  1996).  Tetapi  tidak  semua  aspek  keamanan  informasi  dapat  diselesaikan dengan kriptografi.

Kriptografi  dapat  pula  diartikan  sebagai  ilmu  atau  seni  untuk  menjaga keamanan  pesan.  Ketika  suatu  pesan  dikirim  dari  suatu  tempat  ke  tempat  lain,  isi pesan  tersebut  mungkin  dapat  disadap  oleh  pihak  lain  yang  tidak  berhak  untuk mengetahui  isi  pesan  tersebut.  Untuk  menjaga  pesan,  maka  pesan  tersebut  dapat diubah menjadi suatu kode yang tidak dapat dimengerti oleh pihak lain.Enkripsi  adalah  sebuah  proses  penyandian  yang  melakukan  perubahan sebuah kode (pesan) dari yang bisa dimengerti (plainteks) menjadi sebuah kode yang tidak bisa dimengerti (cipherteks). Sedangkan proses kebalikannya untuk mengubah cipherteks  menjadi  plainteks  disebut  dekripsi.  Proses  enkripsi  dan  dekripsi memerlukan suatu mekanisme dan kunci tertentu.


Secara sederhana istilah-istilah di atas dapat digambarkan sebagai berikut :


Proses Enkripsi/Dekripsi Sederhana

Cryptography  adalah  suatu  ilmu  ataupun  seni  mengamankan  pesan,  dan dilakukan  oleh  cryptographer.  Sedang,  cryptanalysis  adalah  suatu  ilmu  dan  seni membuka (breaking) ciphertext dan orang yang melakukannya disebut cryptanalyst. Cryptographic  system  atau  cryptosystem  adalah  suatu  fasilitas  untuk mengkonversikan  plaintext  ke  ciphertext  dan  sebaliknya.  Dalam  sistem  ini, seperangkat  parameter  yang  menentukan  transformasi  pencipheran  tertentu  disebut suatu  set  kunci.  Proses  enkripsi  dan  dekripsi  diatur  oleh  satu  atau  beberapa  kunci kriptografi. Secara umum, kunci-kunci yang digunakan untuk proses pengenkripsian dan pendekripsian tidak perlu identik, tergantung pada sistem yang digunakan. Secara  umum  operasi  enkripsi  dan  dekripsi  dapat  diterangkan  secara matematis sebagai berikut:

EK (M) = C  (Proses Enkripsi)

DK (C) = M  (Proses Dekripsi)

Pada  saat  proses  enkripsi  kita  menyandikan  pesan  M  dengan  suatu  kunci  K lalu dihasilkan pesan C. Sedangkan pada proses dekripsi, pesan C tersebut diuraikan dengan menggunakan kunci K sehingga dihasilkan pesan M yang sama seperti pesan sebelumnya.

Dengan  demikian  keamanan  suatu  pesan  tergantung  pada  kunci  ataupun kunci-kunci  yang  digunakan,  dan  tidak  tergantung  pada  algoritma  yang  digunakan. Sehingga  algoritma-algoritma  yang  digunakan  tersebut  dapat  dipublikasikan  dan dianalisis,  serta  produk-produk  yang  menggunakan  algoritma  tersebut  dapat diproduksi  massal.  Tidaklah  menjadi  masalah  apabila  seseorang  mengetahui algoritma yang kita gunakan. Selama ia tidak mengetahui kunci yang dipakai, ia tetap tidak dapat membaca pesan.


Jenis jenis Kriptografi

Suatu  kriptografi  terdiri  dari  sebuah  algoritma,  seluruh  kemungkinan plaintext,  ciphertext  dan  kunci-kunci.  Secara  umum  kriptografi  dapat  digolongkan menjadi beberpa jenis, yaitu :

1.       Kriptografi Simetris

Disebut  sebagai  algoritma  simetris,  karena  dalam  proses  enkripsi  dan dekripsinya  menggunakan  kunci  yang  sama.  Algoritma  enkripsi  dan deskripsi bias merupakan algoritma yang sudah umum diketahui, namun kunci yang dipakai harus terjaga kerahasiaanya, dan hanya diketahui oleh pihak pengirim dan penerima saja. Kunci ini disebut sebagai  private key. Sebelum  berkomunikasi  kedua  pihak  harus  bersepakat  lebih  dahulu tentang  kunci  yang  dipergunakan.  Pendistribusian kunci  dari  satu  pihak ke  pihak  lainnya  memerlukan  suatu  kanal  tersendiri  yang terjagaankerahasiaannya.  Adapun proses kriptografi simetris dapat kita lihat pada gambar dibawah :
                              
Algoritma  kunci  simetris  memiliki  beberapa  kelebihan  dan  kekurangan, yakni:

Kelebihan :

1)      Waktu  proses  untuk  enkripsi  dan  dekripsi  relatif  cepat,  hal  ini disebabkan karena efisiensi yang terjadi pada pembangkit kunci.

2)      Karena  cepatnya  proses  enkripsi  dan  dekripsi,  maka  algoritma  ini dapat  digunakan  pada  sistem secara  real-time  seperti  saluran  telepon digital.

Kekurangan :

1)      Untuk  tiap  pasang  pengguna  dibutuhkan  sebuah  kunci  yang  berbeda, sedangkan  sangat  sulit  untuk  menyimpan  dan  mengingat  kunci  yang banyak secara aman, sehingga akan menimbulkan kesulitan dalam hal manajemen kunci.

2)      Perlu adanya kesepakatan untuk jalur yang khusus untuk kunci, hal ini akan  menimbulkan  masalah  yang  baru  karena  tidak  mudah  u menentukan jalur  yang aman untuk kunci, masalah ini sering  disebut dengan “Key Distribution Problem”.

3)      Apabila kunci sampai hilang atau dapat ditebak maka kriptosistem ini tidak aman lagi.

2.       Kriptografi Asimetris

Dalam  kriptografi  asimetris  ini  digunakan  dua  buah  kunci.  Satu  kunci yang disebut kunci publik (public key) dapat dipublikasikan, sedang kunci yang  lain  yang  disebut  kunci  privat  (private  key)  harus  dirahasiakan. Proses  menggunakan  sistem  ini  dapat  diterangkan  secara  sederhana sebagai  berikut  :  bila  A  ingin  mengirimkan  pesan  kepada  B,  A  dapat menyandikan pesannya dengan menggunakan kunci publik B, dan bila B ingin  membaca  surat  tersebut,  ia  perlu  mendekripsikan  surat  itu  dengan kunci  privatnya.  Dengan  demikian  kedua  belah  pihak  dapat  menjamin asal surat serta keaslian surat tersebut, karena adanya mekanisme ini.

Algoritma kunci asimetris memiliki beberapa kelebihan dan kekurangan, yakni:


Kelebihan :

1.       Masalah keamanan pada distribusi kunci dapat diatasi.

2.       Manajemen  kunci  pada  suatu  sistem  informasi  dengan  banyak

3.       pengguna menjadi lebih mudah, karena jumlah kunci  yang digunakan

4.       lebih sedikit.

5.       

Kekurangan :

1.       Kecepatan  proses  algoritma  ini  tergolong  lambat  bila  dibandingkan dengan algoritma kunci simetris.

2.       Untuk tingkat keamanan yang sama, rata-rata ukuran kunci harus lebih besar  bila dibandingkan  dengan  ukuran  kunci  yang  dipakai  pada algoritma kunci simetris.


Kriptografi Hibrid

Sistem ini mengggabungkan chiper simetrik dan asimetrik. Proses ini dimulai dengan negosiasi menggunakan chiper asimetrik dimana kedua belah pihak setuju dengan private key/session key yang akan dipakai. Kemudian session key digunakan dengan teknik chiper simetrik untuk mengenkripsi conversation ataupun tukar-menukar data selanjutnya. Suatu session key hanya dipakai sekali sesi. Untuk sesi selanjutnya session key harus dibuat kembali.

Ada  empat  tujuan  mendasar  dari  kriptografi  yang  juga  merupakan  aspek keamanan informasi adalah :

1.       Kerahasiaan  (Confidentiality)  Adalah  layanan  yang  digunakan  untuk menjaga  isi  dari  informasi  dari  siapapun  kecuali  yang  memiliki  kunci rahasia atau otoritas untuk mmembuka informasi yang telah disandikan.Integritas  Data  (Data  Integrity) Berhubungan  dengan  penjagaan  dari perubahan  data  secara  tidak  sah.  Untuk  dapat  menjaga  integritas  data, suatu  sistem  harus  memiliki  kemampuan  untuk  mendeteksi  manipulasi data  yang  dilakukan  pihak-pihak  yang  tidak  berhak,  antara  lain penyisipan,  penghapusan,  dan  pendistribusian  data  lain  ke  dalam  data yang asli.

2.       Otentifikasi  (Authentication)  Berhubungan  dengan  identifikasi,  baik secara  kesatuan  sistem  maupun  informasi  itu  sendiri.  Dua  pihak  yang saling  berkomuniasi  harus  saling  memperkenalkan  diri.  Informasi  yang dikirimkan harus diOtentikasi keasliannya, isi datanya, waktu pengiriman dan lain sebagainya.

3.       Non-repudiasi  (Non-repudiation)  Merupakan  usaha  untuk  mencegah terjadinya  penyangkalan  terhadap  pengiriman  atau  terciptanya  suatu informasi oleh yang mengirimkan atau membuat.


Distribusi Kunci Simetris Menggunakan Enkripsi Simetris

Pada  enkripsi  simetris,  kedua  belah  pihak  harus  melakukan  pertukaran  atau berbagi  kunci yang sama,  dan  kunci  ini  yang  harus dilindungi  dari akses  oleh orang lain.  Oleh karena itu,  istilah yang merujuk pada  cara  penyampaian  kunci untuk  dua pihak  yang  ingin  bertukar  data,  tanpa  membiarkan  orang  lain  untuk  melihat  kunci. Untuk  kedua  pihak  A  dan  B,  distribusi  kunci  dapat  dicapai  dalam  beberapa  cara, sebagai berikut:

1.       Pihak A dapat memilih kunci dan cara mengirimkannya ke B.

2.       Menggunakan pihak ketiga ( C ) dan pihak C ini dapat memilih kunci dan cara mendistribusikan kunci ke pihak A dan B.

3.       Jika A dan B sebelumnya menggunakan sebuah kunci, salah satu pihak dapatmengirimkan  kunci  baru  ke  yang  lain,  dienkripsi  dengan  menggunakan kunci tua.

4.       Jika  A  dan  B  masing-masing  memiliki  koneksi  terenkripsi  kepada  pihak ketiga C, C dapat memberikan kunci pada jaringan terenkripsi ke A dan B. Distribusi kunci    (1  dan 2)  merupakan    sederhana  tapi hanya  berlaku  bila ada kontak  pribadi  antara  keduabelah  pihak,  dimana  perangkat  dan  kunci  terjadi  pada setiap  pasangan,  tapi  tidak  berlaku  dalam  skala  beberapa  pihak  yang  ingin berkomunikasi. Distribusi kunci (3) ini didasarkan pada distribusi pertama dan kedua, dan dengan catatn telah melakukan distribusi pertama atau kedua. Distribusi kunci (4) ini menggunakan  pihak ketiga  yang dipercaya  semua pihak,  dapat digunakan  sebagai media yang  dipercaya  untuk memediasi  pembentukan  komunikasi yang aman  antara mereka.  Harus  percaya  perantara  tidak menyalahgunakan  pengetahuan  semua kunci sesi.


Key Distribution Centre

Pada  mekanisme  KDC  dimisalkan  Alice  dan  Bob  ingin  berkomunikasi  dan menggunakan kunci simetris. Mereka tidak pernah bertemu (mungkin mereka hanya bertemu  disebuah  chat  online)  dengan  demikian  belum  ada  kesepakatan  mengenai kunci yang akan digunakan. Bagaimana mereka bisa setuju atau menyepakati kunci. Solusi yang sering digunakan adalah menggunakan KDC. KDC  adalah  server  yang  dapat  menghasilkan  kunci  yang  berbeda  pada  masingmasing  pengguna  yang  terdaftar  dengan  melakukan  register  terlebih  dahulu  untuk mendaftar ke KDC. Diilustrasikan bahwa Alice  dan Bob adalah pengguna terdaftar KDC, mereka hanya tahu kunci masing-masing, KA – KDC dan KB – KDC.


1.       Langkah pertama  yang harus dilakukan Alice adalah menggunakan KA  –KDC  untuk  mengenkripsi komunikasinya  dengan  KDC,  Alice mengirimkan  pesan  ke  KDC  dan  mengatakan  bahwa  dia  (A) ingin berkomunikasi dengan Bob (B).

2.       Setelah itu KDC akan mendekripsi KA  –  KDC (A,B) dan kemudian KDC mengotentikasi Alice. KDC kemudian menghasilkan nomor acak, R1.  Ini adalah  nilai  yang  akan  menjadi  kunci  bersama untuk  Alice  dan  Bob  dan akan  digunakan  untuk  melakukan  enkripsi  simetris  ketika  mereka berkomunikasi  satu  sama  lain.  R1  ini  disebut  dengan  kunci  one-time session.  Lalu  KDC  menginformasikan  kepada  Alice  dan  Bob  mengenai kunci one-time session mereka yaitu R1. KDC mengirimkan kembali pesan terenkripsi ke Alice berisi sebagai berikut :

·         R1 merupakan kunci one-time session  yang akan digunakan Alice dan Bob untuk berkomunikasi.

·         Sepasang  nilai  A,  dan  R1,  Dienkripsi  oleh  KDC  menggunakan kunci Bob, KB –  KDC. Kunci yang dihasilkan adalah KB-KDC (A, R1).

3.       Selanjutnya Pesan dari KDC ke Alice adalah KA  –  KDC (R1, KB –  KDC  (R1)). Alice menerima pesan dari KDC dan memverifikasi R1. Dan Alice mengetahui  kunci  One-Time  Sessionnya  adalah  R1.  Alice  juga mengekstrak KB – KDC (A, R1) dan memforward pesan kepada Bob.

4.       Bob  mendekripsi  pesan  yang  diterima,  KB  –  KDC  (A,  R1).  Bob mengetahui  bahwa  R1  adalah  kunci  one-time  sessionnya,  dan  Alice  (A) yang  akan  berkomunikasi  dengan  dia.  Bob  harus  mengotentikasi  Alice terlebih dahulu menggunakan R1.

Keuntungan  menggunakan  KDC  adalah  fleksibilitas  dan  efisiensi.  Karena pengguna  hanya  perlu  bertukar  dan  menyimpan  KKM.  Bukan  KKM  dari  setiap penerima.


One-Time Session Key

Kita telah melihat diatas bahwa kunci one-time session dihasilkan oleh KDC untuk  digunakan  dalam  enkripsi  kunci  simetris  antara  dua  entitas.  Dengan menggunakan kunci one-time session dari KDC pengguna dibebaskan dari keharusan untuk  menyepakati  kunci  bersama  untuk  setiap  entitas  dengan  siapa  ingin berkomunikasi.  Sebaliknya,  pengguna  hanya  perlu  memiliki  satu  kunci  rahasia bersama untuk berkomunikasi dengan KDC, dan KDC akan menginformasikan kunci one-time session dari KDC untuk semua komunikasi dengan entitas lainnya.

Kunci one-time session juga digunakan dalam kriptografi kunci publik . Sistem kunci  publik  sering digunakan  untuk  tujuan  otentikasi.  Setelah  dua  pihak  telah dikonfirmasi,  mereka  kemudian  menggunakan  komunikasi  kunci  public  yang dienkripsi untuk menyepakati satu kali kunci simetris bersama .  Session key  simetris ini kemudian digunakan untuk mengenkripsi pesan.


SANDI PLAYFAIR

Sandi Playfair digunakan oleh Tentara  Inggris pada saat Perang Boer  II  dan Perang  Dunia  I.  Ditemukan  pertama  kali  oleh  Sir  Charles  Wheatstone  dan  Baron Lyon  Playfair  pada  tanggal  26  Maret  1854.  Playfair  merupakan  digraphs  cipher, artinya setiap proses enkripsi dilakukan pada setiap dua huruf. Playfair menggunakan table 5x5. Semua alfabet kecuali J diletakkan ke dalam tabel. Huruf J dianggap sama dengan huruf I  atau sesuai dengan kesepakatan, sebab huruf J mempunyai frekuensi kemunculan yang paling kecil.  Metode Playfair Cipher adalah salah satu sandi klasik yang menggunakan teknik manual simetrik enkripsi dan merupakan salah satu sandi substitusi  berpasangan  (digraf)  pertama  di  dunia.  Pertama-tama  menentukan  kata kunci yang diinginkan dan kunci yang sudah ditentukan tadi dibentuk menjadi tabel bujursangkar 5X5. Kunci yang digunakan berupa kata dan tidak ada huruf sama yang berulang.  Apabila  kuncinya  “RAHASIA”,  maka  kunci  yang  digunakan  adalah “RAHSI”. Selanjutnya, kunci dimasukkan ke dalam tabel 5x5, isian pertama adalah kunci, selanjutnya tulis huruf-huruf berikutnya secara urut dari baris pertama dahulu, bila huruf telah muncul, maka tidak dituliskan kembali.

Berikut ini aturan-aturan proses enkripsi pada Playfair yaitu

1.       Jika  kedua  huruf  tidak  terletak  pada  baris  dan  kolom  yang  sama,  maka huruf  pertama menjadi  huruf  yang  sebaris  dengan  huruf  pertama  dan sekolom  dengan  huruf  kedua.  Huruf  kedua  menjadi  huruf  yang  sebaris dengan  huruf  kedua  dan  yang  sekolom  dengan  huruf  pertama. Contohnya, CT menjadi EP, ZL menjadi XN.

2.       Jika  kedua  huruf  terletak  pada  baris  yang  sama  maka  huruf  pertama menjadi huruf setelahnya dalam baris yang sama, demikian juga dengan huruf kedua. Jika terletak pada baris kelima, maka menjadi baris pertama, dan  sebaliknya.  Arahnya  tergantung  dari  posisi  huruf  pertama  dan kedua,mpergeserannya ke arah huruf kedua. Contohnya,  AS menjadi HI, GL menjadi KM.

3.        Jika  kedua  huruf  terletak  pada  kolom  yang  sama  maka  huruf  pertama menjadi huruf setelahnya dalam kolom yang sama, demikian juga dengan huruf  kedua.  Jika  terletak  pada  kolom  kelima,  maka  menjadi  kolom pertama,  dan  sebaliknya.  Arahnya  tergantung  dari  posisi  huruf  pertama dan kedua, pergeserannya ke arah huruf kedua. Contohnya,  ET menjadi MY, AK menjadi CP.

4.        Jika kedua huruf sama, maka letakkan sebuah huruf di tengahnya (sesuai kesepakatan).

5.        Jika  jumlah  huruf  plainteks  ganjil,  maka  tambahkan  satu  huruf  pada akhirnya, seperti pada aturan ke-4.

Pada proses dekripsi kebalikan dengan memproses enkripsi dengan ketentuan dekripsi playfair sebagai berikut :

1.       Jika  kedua  huruf  tidak  terletak  pada  baris  dan  kolom  yang  sama,  maka huruf  pertama  menjadi  huruf  yang  sebaris  dengan  huruf  pertama  dan sekolom  dengan  huruf  kedua.  Huruf  kedua  menjadi  huruf  yang  sebaris dengan huruf kedua dan sekolom dengan huruf pertama.  Contohnya, HE menjadi SD.

2.       Jika  kedua  huruf  terletak  pada  baris  yang  sama  maka  huruf  pertama menjadi huruf sebelumnya dalam baris yang sama, demikian juga dengan huruf kedua. Jika terletak pada baris kesatu, maka menjadi baris kelima, dan sebaliknya. Contohnya, SI didekrip menjadi HS. Jika  kedua  huruf  terletak  pada  kolom  yang  sama  maka  huruf  pertama menjadi  huruf  sebelumnya  dalam  kolom  yang  sama,  demikian  juga dengan  huruf  kedua.  Jika  terletak  pada  kolom  pertama,  maka  menjadi kolom kelima, dan sebaliknya. Contohnya, ZU didekrip menjadi UN.

Keunggulan Sandi Playfair

1.       Proses  enkripsi  dan  dekripsi  data  menggunakan  kombinasi  dua  huruf sehingga  kriptanalis  yang  menggunakan  teknik  analisis  frekuensi  sangat sulit untuk memecahakan sandi playfair.

2.       Tabel  kunci  hanya  digunakan  sekali  karena  terdapat  kemungkinan  tabel kunci tersebut telah dipecahkan oleh pihak yang tidak berkepentingan.

Kelemahan Sandi Playfair

1.       Sandi  Playfair  dengan  mudah  dapat  dipecahkan  dengan  menggunakan teknik  frekuensi  ditribusi  ganda,  yaitu  dengan  menghitung  frekuensi kemunculan  pasangan  dua  huruf  sandi  yang  kemudian  dibandingkan dengan frekuensi pasangan dua huruf pada suatu bahasa.

2.       SandiPlayfair  tidak menggunakan huruf J dalam tabel kunci sehingga bisa menimbulkan  makna  atau  arti  ganda  pada  saat  memecahkan  atau menerjemahkan suatu sandi.

3.       SandiPlayfair  tidak  cocok  digunakan  untuk  menyampaikan  pesan  rahasia yang cukup panjang.

SMS

Short Message Service atau biasa disingkat  SMS merupakan sebuah layanan yang  banyak  diaplikasikan  pada  sistem  komunikasi  tanpa  kabel  (wireless), memungkinkan  dilakukannya  pengiriman  pesan  dalam  bentuk  alphanumeric  antara terminal pelanggan atau antar teminal pelanggan dengan sistem eksternal, seperti email, paging, voice mail, dan lain-lain. Aplikasi  SMS  merupakan  aplikasi  yang  paling  banyak  peminat  dan penggunanya.  Hal  ini  dapat  dibuktikan  dengan  munculnya  berbagai  jenis  aplikasi yang memanfaatkan fasilitas SMS. Sifat  transmisi  SMS  yang  merupakan  short  burst  membuat  jenis  aplikasi yang memanfaatkan SMS biasanya berupa aplikasi pengiriman data yang ringkas dan pendek.  Sifat  perangkat  SMS  yang  mobile  dan  dapat  mengirimkan  informasi  dari mana  saja  selama  masih  dalam  cakupan  layanan  opertaor,  memunculkan  aplikasi lapangan dimana informasi-informasi yang dikumpulkan dari lapangan dikirim secara berkala kepada pusat pengolahan informasi. Pada bidang entertainment, aplikasi SMS dapat digunakan sebagai media untuk bermain game atau saling berkirim pesan-pesan humor maupun karakter-karakter teks yang mempresentasikan gambar.

Variasi aplikasi SMS lainnya adalah untuk aplikasi-aplikasi internet yang diSMS-kan,  seperti  mail-to-SMS  dan  SMS-to-mail.  Aplikasi  ini  memungkinkan  user mengirimkan  atau  menerima  e-mail  melalui  ponsel  yang  dibawanya.  Penerimanya biasanya  sangat  terbatas,  baik  dalam  hal  jumlah  karakter,  adanya  attachment,  dan body  e-mail  yang  berformat  non-text.  Pada  umumnya,  layanan  penerimaan  e-mail melalui  SMS  hanya  berupa  notifikasi  (pemberitahuan).  Layanan  ini  membuat  user dapat dengan mudah mengirim e-mail dari manapun user berada, tidak perlu dial-up ke ISP atau mencari warnet.


Cara kerja SMS :

Saat  kita  menerima  pesan  SMS/MMS  dari  handphone  (mobile  originated), pesan tersebut tidak langsung dikirimkan ke handphone tujuan (mobile terminated), akan tetapi dikirim terlebih dahulu ke  SMS Center  (SMSC) yang biasanya berada di kantor  operator  telepon,  baru  kemudian  pesan  tersebut  diteruskan  ke  handphone tujuan.  Dengan  adanya  SMSC,  kita  dapat  mengetahui  status  dari  pesan  SMS  yang telah dikirim, apakah telah sampai atau gagal. Apabila  handphone  tujuan  dalam  keadaan  aktif  dan  dapat  menerima  pesan SMS yang dikirim, ia akan mengirimkan kembali pesan konfirmasi ke SMSC yang menyatakan  bahwa  pesan  telah  diterima,  kemudian  SMSC  mengirimkan  kembali status tersebut kepada si pengirim. Jika handphone tujuan dalam keadaan mati, pesan yang kita kirimkan akan disimpan di SMSC samapai period-validity terpenuhi Period-validity  artinya  tenggang  waktu  yang  diberikan  si  pengirim  pesan sampai pesan dapat diterima oleh si penerima. Hal ini dapat kita atur pada ponsel kita, mulai dari 1 jam sampai lebih dari 1 hari. Setiap detiknya, ponsel kita saling bertukar informasi  dengan  tower  si  pengirim  paket  data  untuk  memastikan  bahwa  semua berjalan sebagaimana mestinya.

Ponsel kita juga mengunakan control channel  untuk set-up panggilan masuk. Saat seseorang berusaha menelepon kita, tower akan mengirimkan pesan ke control channel,  sehingga  ponsel  akan  memainkan  ringtones.  Saat  seseorang  mengirimkan SMS,  SMS  tersebut  akan  mengalir  via  SMSC,  menuju  tower,  lalu  tower  akan mengirimkan pesan ke ponsel kita sebagai paket data pada control channel. Dengan cara  yang  sama,  saat  kita  mengirim  SMS,  ponsel  akan  mengirimnya  menuju  tower pada  control  channel  dan  pesan  tersebut  akan  terkirim  memalui  tower  ke  SMSC menuju ponsel yang dituju.

SMS  kemudian  dikembangkan  menjadi  Enhaced  Message  Service,  dimana dengan  EMS  jumlah  karakter  yang  bisa  dikirimkan  dalam  1  SMS  menjadi  lebih banyak dan dapat juga digunakan untuk mengirim pesan berupa non-karakter (dapat berupa gambar sederhana). Pada EMS, untuk pengiriman pesan yang lebih dari 160 karakter,  maka  pesan  akan  dipecah  menjadi  beberapa  buah,  dimana masingmasingnya terdiri dari tidak lebih dari 160 karakter. Misalnya pesan yang dikirmkan terdiri dari 167 karakter, maka pesan ini akan dipecah menjadi 2 buah SMS (1 SMS dengan 160 karakter dan 1 SMS dengan 7 karakter).Kedua SMS ini akan dikirmkan sebagai 2 SMS terpisah dan di sisi penerima akan  digabungkan  menjadi  satu  SMS  lagi.  Selain  itu  EMS  juga  memungkinkan perngiriman  data  gambar  sederhana  dan  rekaman  suara.  Ternyata,  cara  kerja  SMS tidak  semudah  kelihatannya,  SMS  tidak  langsung  sampai  ke  ponsel  yang  ditu ju, melainkan  melewati  serangkaian  proses  hingga  SMS  itu  sampai  ke  ponsel  yang dituju.


ANDROID

Penemu Android adalah Andy Rubin yang lahir pada tanggal 22 Juni 1946 di New Bedford, Amerika Serikat. Andy Rubin bersama-sama dengan Rich Miner, Nick Sears,  dan  Chris  White  mendirikan  Android.inc  dan  apada  Juli  2005  dibeli  oleh Google.


Pengertian dan Fungsi Android

Pengertian Android adalah sistem operasi berbasis Linux yang dipergunakan sebagai pengelola sumber daya perangkat keras, baik untuk ponsel, smartphone dan PC dan tablet.  Secara umum Android adalah platform yang terbuka (Open Source) bagi para pengembang untuk menciptakan aplikasi mereka sendiri untuk digunakan oleh  berbagai  piranti  bergerak.  Telepon  pertama  yang  memakai  sistem  operasi Android  adalah  HTC  Dream,  yang  dirilis  pada  22  Oktober  2008.  Pada  penghujung tahun 2009 diperkirakan di dunia ini  paling sedikit terdapat 18 jenis telepon seluler yang  menggunakan  Android.  Semenjak  kehadirannya  pada  9  Maret  2009,  Android telah  hadir  dengan  versi  1.1,  yaitu  sistem  operasi  yang  sudah  dilengkapi  dengan pembaruan  estetis  pada  apalikasinya,  seperti  jam  alrm,  voice  search,  pengiriman pesan dengan Gmail, dan pemberitahuan email. Hingga tahun 2012, Android telah berkembang dengan pesat. Dalam kurun 3 tahun  Android  telah  diproduksi  dalam  versi,  dan  versi  terakhir  yang  diproduksi disebut sebagai Android versi 4.1 atau Android Jelly Bean.


Perkembangan Android dari tahun 2009 - 2012

·         Android versi 1.1

·         Android versi 1.5 (Cupcake)

·         Android versi 1.6 (Donut)

·         Android versi 2.0/2.1 (Eclair)

·         Android versi 2.2 (Froyo: Frozen Yoghurt)

·         Android versi 2.3 (Gingerbread)

·         Android versi 3.0/3.1 (Honeycomb)

·         Android versi 4.0 (ICS :Ice Cream Sandwich)

·         Android versi 4.1 (Jelly Bean)

·         Android versi 4.4 (KitKat)


METODE ANALISIS SISTEM

Use Case

Use-case  diagram  merupakan  model  diagram  UML  yang  digunakan untuk  menggambarkan  requirement  fungsional  yang  diharapkan  dari  sebuah sistem.  Use-case  diagram  menekankan  pada  “siapa”  melakukan  “apa”  dalam lingkungan sistem perangkat lunak akan dibangun. Use-case diagram sebenarnya terdiri dari dua bagian besar; yang pertama adalah  use case diagram  (termasuk gambar use case dependencies) dan use case description.

Use-case  diagram adalah gambaran  graphical  dari beberapa atau semua actor,  use-case,  dan  interaksi  diantara  komponen-komponen  tersebut  yang memperkenalkan  suatu  sistem  yang  akan  dibangun.  Use-case diagram menjelaskan manfaat suatu sistem jika dilihat menurut pandangan orang yang berada di luar sistem. Diagram ini menunjukkan fungsionalitas suatu sistem atau kelas dan bagaimana sistem tersebut berinteraksi dengan dunia luar. Use-case  diagram  dapat  digunakan  selama  proses  analisis  untuk menangkap  requirement  system  dan  untuk  memahami  bagaimana  sistem seharusnya  bekerja.  Selama  tahap  desain,  use-case  diagram  berperan  untuk menetapkan  perilaku  (behavior)  sistem  saat  diimplementasikan.  Dalam  sebuahmodel  mungkin  terdapat  satu  atau  beberapa  use-case  diagram.  Kebutuhan  atau requirements system  adalah fungsionalitas apa yang harus disediakan oleh sistem kemudian didokumentasikan pada model  use-case  yang menggambarkan fungsi sistem  yang  diharapkan  (use-case),  dan  yang  mengelilinginya  (actor),  serta hubungan antara actor dengan use-case (use-case diagram) itu sendiri.

·         Use  case  class  digunakan  untuk  memodelkan  dan  menyatakan  unit fungsi/layanan  yang  disediakan  oleh  sistem  (or  bagian  sistem: subsistem atau class) ke pemakai.

·         Use  case  dapat  dilingkupi  dengan  batasan  sistem  yang  diberi  label nama sistem.

·         Use case  adalah sesuatu yang menyediakan hasil yang dapat diukur ke pemakai atau sistem eksternal.

·         

Komponen Pembentuk Use Case Diagram :

1.       Actor

Pada  dasarnya  actor  bukanlah  bagian  dari  use  case  diagram,  namun untuk  dapat  terciptanya  suatu  use  case  diagram  diperlukan  beberapa actor.  Actor  tersebut  mempresentasikan  seseorang  atau  sesuatu  (seperti perangkat,  sistem  lain)  yang  berinteraksi  dengan  sistem.  Sebuah  actormungkin  hanya  memberikan  informasi  inputan  pada  sistem,  hanya menerima  informasi  dari  sistem  atau  keduanya  menerima,  dan  memberi informasi  pada  sistem.  Actor  hanya  berinteraksi  dengan  use  case,  tetapi tidak  memiliki  kontrol  atas  use  case.  Actor  digambarkan  dengan  stick man. Actor dapat digambarkan secara secara umum atau spesifik, dimana untuk membedakannya kita dapat menggunakan relationship.

2.       Use Case

Use  case  adalah  gambaran  fungsionalitas  dari  suatu  sistem,  sehingga customer atau pengguna sistem paham dan mengerti mengenai kegunaan sistem yang akan dibangun. Catatan  :  Use  case  diagram  adalah  penggambaran  sistem  dari  sudut pandang  pengguna  sistem  tersebut  (user),  sehingga  pembuatan  use  case lebih  dititikberatkan  pada  fungsionalitas  yang  ada  pada  sistem,  bukan berdasarkan alur atau urutan kejadian.Cara menentukan  Use Case  dalam

suatu sistem:

a)      Pola perilaku perangkat lunak aplikasi.

b)      Deskripsi tugas dari sebuah actor.

c)       Sistem  atau  “benda”  yang  memberikan  sesuatu  yang  bernilai  kepada actor.

d)      Apa  yang  dikerjakan  oleh  suatu  perangkat  lunak  (*bukan  bagaimana cara mengerjakannya).


Relasi dalam Use Case

Ada beberapa relasi yang terdapat pada use case diagram:

1.       Association, menghubungkan link antar element.

2.       Generalization,  disebut  juga  inheritance  (pewarisan),  sebuah elemen dapat merupakan spesialisasi dari elemen lainnya.

3.       Dependency, sebuah  element bergantung dalam  beberapa  cara ke element lainnya.

4.       Aggregation,  bentuk  assosiation  dimana  sebuah  elemen  berisi elemen lainnya.

Tipe relasi/stereotype yang mungkin terjadi pada use case diagram:

1.       Include,  yaitu  kelakuan  yang  harus  terpenuhi  agar  sebuah  event dapat  terjadi,  dimana  pada  kondisi  ini  sebuah  use  case  adalah bagian dari use case lainnya.

2.       Extends, kelakuan  yang  hanya  berjalan  di  bawah  kondisi  tertentu seperti menggerakkan roda.

3.       Communicates,  mungkin  ditambahkan  untuk  asosiasi  yang menunjukkan  asosiasinya  adalah  communicates  association.  Ini merupakan  pilihan  selama  asosiasi  hanya  tipe  relationship  yang dibolehkan antara actor dan use case.


Sequence diagram

Sequence  diagram  (diagram  urutan)  adalah  suatu  diagram  yang memperlihatkan  atau  menampilkan  interaksi-interaksi  antar  objek  di  dalam sistem  yang  disusun  pada  sebuah  urutan  atau  rangkaian  waktu.  Interaksi  antar objek  tersebut  termasuk  pengguna,  display,  dan  sebagainya  berupa pesan/message.

Sequence  Diagram  digunakan  untuk  menggambarkan  skenario  atau rangkaian  langkah-langkah  yang  dilakukan  sebagai  sebuah  respon  dari  suatu kejadian/even  untuk  menghasilkan  output  tertentu.  Sequence  Diagram  diawali dari apa yang me-trigger aktivitas tersebut, proses dan perubahan apa saja yang terjadi secara internal dan output apa yang dihasilkan. Diagram  ini  secara  khusus  berasosiasi  dengan  use  case  diagram. Sequence diagram juga memperlihatkan tahap demi tahap apa  yang seharusnya terjadi  untuk  menghasilkan  sesuatu  didalam  use  case.  Sequence  diagram  juga dapat  merubah  atribut  atay  method  pada  class  yang  telah  dibentuk  oleh  class diagram,  bahkan   menciptakan  sebuah  class  baru.  Sequence  diagram memodelkan aliran logika dalam sebuah system dalam cara yang visual.

Sequence  diagram  biasanya  digunakan  untuk  tujuan  analisa  dan  desain, memfokuskan  pada  identifikasi  method  didalam  sebuah  system.  Sequence diagram biasanya dipakai untuk memodelkan :

·         Deskripsi  tentang  system  yang  ada  pada  sebuah  /  beberapa  use case  pada  use  case  diagram,  yang  menggambarkan  hubungan antara actor dan use case diagram.

·         Logika dari method (operation, function atau procedure).

·         Logika dari service (high level method).


State Diagram

State  diagram  digunakan  untuk  medeskripsikan  perilaku  sistem.  State diagram mendeskripsikan semua kondisi yang mungkin muncul sebagai sebuah object begitu pula dengan event. Elemen state diagram adalah kotak yang merepresentasikan state sebuah objek  dan  tanda  panah  untuk  menunjukkan  perpindahan  ke  state  yang selanjutnya.  Bagian  aktivitas  dari  simbol  state  menggambarkan  aktivitas  object yang akan dilakukan selama dalam state.


Class Diagram

Class  Diagram  adalah  suatu  diagram  yang  memperlihatkan  atau menampilkan  struktur  darisebuah  sistem,  sistem  tersebut  akan  menampilkan system kelas,  atribut dan hubungan antara kelas  ketika suatu sistem telah selesai membuat  diagram.  Objek  diagram  adalah  suatu  diagram  yang  berfungsi  untuk mengatur atribut,objek dan hubungan antara contoh  dalam diagram,ojek diagram juga dapat menampilkan struktur model system dalam waktu tertentu.

Class diagram digunakan untuk menampilkan kelas-kelas dan paket-paket di dalam system. Class diagram memberikan gambaran system secara statis dan relasi  antar  mereka.  Biasanya,  dibuat  beberapa  class  diagram  untuk  system tunggal.  Beberapa  diagram  akan  menampilkan  subset  dari  kelas-kelas  dan relasinya. Dapat dibuat beberapa diagram sesuai dengan yang diinginkan untuk mendapatkan gambaran lengkap terhadap system yang dibangun.


SQLite

SQLite  itu  merupakan  sebuah  Database  yang  bersifat  ACID-compliant dan  memiliki  ukuran  pustaka  kode  yang  relatif  kecil,  ditulis  dalam  bahasa  C. SQLite merupakan proyek yang bersifat  public domain  yang dikerjakan oleh  D. Richard  Hipp.  SQLite  memiliki  fitur  relasional  database,  hampir  sama  dengan SQL pada desktop hanya saja SQLite membutuhkan memori yang sedikit. PHP, Firefox, Chrome, iPhone dan Android adalah contoh produk yang menggunakan SQlite.  Di  browser  firefox,  Sqlite  dipakai  untuk  menyimpan  konfigurasi, bookmark dan history website sedangkan di smartphone android, SQLite dipakai untuk  menyimpan  contact.  SQLite  mendukung  tipe  data  TEXT  (mirip  dengan String  di Java),  INTEGER  (mirip dengan  Long di Java)  dan nyata  (mirip dengan Double  di Java).  Semua  jenis lain  harus dikonversi  ke dalam salah satu  bidang tersebut  sebelum  mendapatkan  disimpan  dalam  database.  SQLite  sendiri  tidakmemvalidasi  jika  jenis  ditulis  ke  kolom  yang  benar-benar  dari  jenis  yang ditetapkan,  misalnya  Anda dapat menulis  sebuah integer  ke dalam  kolom  String dan sebaliknya.


Daftar Pustaka


Adi Nugroho, Rekayasa Perangkat Lunak Menggunakan UML dan Java, Penerbit Andi, Yogyakarta, 2009

Alfred J. Menezes, , Paul C. van Oorschot, Scott A. Vanstone, HandBook of Applied Cryptography, Penerbit Taylor & Francis, 1997

Dony Ariyus, Pengantar Ilmu Kriptografi (Teori Analisis dan Implementasi), Penerbit Andi, Yogyakarta, 2008

Stephanus Hermawan S.,Mudah Membuat Aplikasi Android, Penerbit Andi, Yogyakarta, 2011

William Stalling, Cryptography and Security Principles and Practice, Prentice Hall Enternational, Inc, 2003


Kategori

Artikel " Aplikasi Enkripsi Dekripsi Sms Metode Playfair Cipher Android " , terkait dalam kategori berikut ini;