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 (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 :
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