A. Kajian Teori
1. Kriptografi
a. Sejarah
kriptografi yang dijuluki Caesar cipher untuk mengirim pesan secara rahasia,
meskipun teknik yang digunakannya sangat tidak memadai untuk ukuran kini.
Madame d'Urfé (ia mengatakan kepada Madame d'Urfé bahwa sesosok jin
perang dunia kedua, pihak sekutu berhasil memecahkan kode mesin kriptogra¯
memenangkan perang. Sejarah kriptografi penuh dengan intrik dan banyak orang
7
8
beberapa negara, baik negara belum maju yang memiliki pemerintahan represif
maupun negara barat yang “liberal”, yang melarang atau membatasi penggunaan
kriptografi.
b. Definisi
adalah ilmu yang bersandarkan pada teknik matematika untuk berurusan dengan
keamanan informasi seperti kerahasiaan, keutuhan data dan otentikasi entitas. Jadi
dekripsi.
menggunakan suatu kunci enkripsi menjadi sesuatu yang sulit dibaca oleh
c. Mekanisme Kriptografi
1) Fungsi Hash. Fungsi hash adalah fungsi yang melakukan pemetaan pesan
digest dengan panjang tetap. Fungsi hash umumnya dipaakai sebagai nialai
dekripsi yang mengetahui nilainya. Oleh karena itu penyandian dengan kunci
encipherment.
enkripsi dan dekripsi berbeda nilai. Kunci enkripsi yang juga disebut dengan
kunci publik (public key) bersift terbuka. Sedangkan kunci dekripsi yang
Pada tahun 90-an, setelah beberapa tahun standar penyandian simetris DES
dianggap tidak lagi aman, lembaga standar Amerika Serikat NIST (National
spesifikasi AES, yaitu harus memiliki panjang blok 128 bit dan mampu
dikembangkan oleh Joan Daemen dan Vincent Rijment sebagai sistem penyandian
AES pada tahun 2000. Peilihan Rijndael berdsarkan kriteria (1)keamanan. Sistem
penyandian harus tahan terhadap serangan analisis sandi selain serangan brute
force (2) biaya. Sistem penyandian harus memiliki biaya kompuutasi dan memori
a. Deskripsi AES
yang selalu memiliki invers dengan panjang blok 128 bit. Kunci AES dapat
memiliki panjang kunci bit 128, 192 dan 256 bit (Sadikin, 2012:152). Penyandian
11
AES menggunakan proses yang berulang yang disebut dengan ronde. Jumlah
ronde yang digunakan oleh AES tergantung dengan panjang kunci yang
antara jumlah ronde dan panjang kunci diberikan oleh TABEL 2.1
TABEL 2.1
Hubungan Antara jumlah ronde dan panjang kunci
AES (Sadikin, 2012:152)
Panjang Kunci AES (bit) Jumlah Ronde (Nr)
128 10
192 12
256 14
AES menggunakan5 unit ukuran data: bit, byte, word, blok dan state. Bit
merupakan ukuran satuan data terkecil, yaitu nilai digit sistem biner. Sedangkan
byte berukuran 8 bit, word berukuran 4 byte (32 bit), blok berukuran 16 byte (128
bit) sedangkan state adalah blok yang ditata dengan matriks byte berukuran 4x4
b ¿ [b 0 b 1 b 2 b 3 b 4 b5 b6 b7 ]
byte
word
b 0 b 1 b 2 b 3 b 4 b 5 b 6 b 7 b 8 b 9 b 10 b 11 b 12 b 13 b 14 b 15
blok
12
asli dalam blok (128 bit) terlebih dahulu diorganisir sebagai state. Enkripsi AES
adalah transformasi terhadap state secara berulang dalam beberapa ronde. State
Secara garis besar, desain enkripsi AES diberikan oleh Gambar 2.2 . Pada
awalnya teks asli direorganisasi sebagai sebuah state. Kemudian sebelum ronde
1dimulaiblok teks asli dicampur dengan kunci ronde ke-0 (transformasi ini disebut
AddRoundKey). Setelah itu, ronde ke-1 sampai ronde ke-(Nr-1) dengan Nr adalah
MixColumns.
Gambar 2.2
Struktur enkripsi AES
14
Gambar 2.3
Struktur dekripsi AES
b. Tranformasi-Transformasi AES
dengan AddRoundKey.
15
1) SubBytes
dengan SubBytes. Setip elemen pada state dari elemen s0,0 sampai dengan s3,3
heksadesimal, kemudian digit kiri menunjukan indeks baris dan digit kanan
menunjukan indeks kolom di tabel subtitusi. Nilai byte pada tabe subtitusi
yng dirujuk oleh indeks baris dan kolom menjadi nilai yang mensubtitusi si , j.
Tabel subtitusi untuk SubBytes diberikan oleh TABEL 2.2. Sedangkan tabel
Tabel 2.2
Tabel Subtitusi SubBytes
16
Tabel 2.3
Tabel Subtitusi InvSubBytes
2) ShiftRows
pada tiga baris terakhir yang akan bergeser. Baris pertamaterjadi pergeseran.
Gambar 2.5
Transformasi InvShiftRows
3) MixColumn
irreducible polynomial ( x 8 + x 4 + x 3+ x +1 ¿.
Gambar 2.6
Transformasi MixColumn
18
S sebagai polinomial lalu lakukan perkalian vektor antara baris ke-i pada
MixColumn lakukan :
28 ¿.
Gambar 2.7
Transformasi InvMixColumn
19
4) AddRoundKey
sebuah state dengan kunci ronde dengan operasi eksklusif OR (⊕). Setiap
eksklusif OR dengan byte pada posisi yang sama di kunci ronde (kunci ronde
self invers , yaitu transformasi yang invers sama dengan transformasi aslinya
Gambar 2.8
Transformasi AddRoundKey
menghasilkan total Nb(Nr+1) word. Algoritma ini membutuhkan set awal key
yang terdiri dari Nb word, dan setiap round Nr membutuhkan data kunci sebanyak
Nb word. Hasil key schedule terdiri dari array 4 byte word linear yang dinotasikan
dengan [wi]. SubWord adalah fungsi yang mengambil 4 byte word input dan
Fungsi RotWord mengambil word [a0, a1, a2, a3] sebagai input, melakukan
permutasi siklik, dan mengembalikan word [a1, a2, a3, a0]. Rcon[i] terdiri dari
nilai-nilai yang diberikan oleh [xi-1, {00}, {00}, {00}], dengan xi-1 sebagai pangkat
dari x (x dinotasikan sebagai {02} dalam field GF(28). Word ke Nk pertama pada
ekspansi kunci berisi kunci cipher. Setiap word berikutnya, w[i], sama dengan
XOR dari word sebelumnya, w[i-1] dan word Nk yang ada pada posisi
sebelumnya, w[i-Nk]. Untuk word pada posisi yang erupakan kelipatan Nk,
oleh XOR dengan konstanta round, Rcon[i]. Transformasi ini terdiri dari
pergeseran siklik dari byte data dalam suatu word RotWord, lalu diikuti aplikasi
dari lookup Tabel untuk semua 4 byte data dari word SubWord.
setelah kebijakan mengenai ekspor tahun 2000. JCE mulai diperbolehkan sebagai
opsi paket tambahan pada JDK v 1.2.x dan 1.3.x, sedangkan pada JDK v 1.4.x
21
Providers. Pada JDK v 1.4.x keatas secara default API service-provider nya
4. Aplikasi
pengguna. Contoh utama perangkat lunak aplikasi adalah pengolah kata, lembar
disebut sebagai suatu paket atau suite aplikasi (application suite). Contohnya
tiap aplikasi. Sering kali, mereka memiliki kemampuan untuk saling berinteraksi
kerja dapat dibenamkan dalam suatu dokumen pengolah kata walaupun dibuat
5. Android
aplikasi mereka. Awalnya, Google Inc. membeli Android Inc. yang merupakan
dan Nvidia.
lisensi Apche, sebuah lisensi perangkat lunak dan open platform perangkat
selular.
a. Versi Android
yang dirilis pada 22 Oktober 2008. Pada penghujung tahun 2010 diperkirakan
23
system. Adapun versi-versi aandroid yang pernah dirilis adalah sebagai berikut:
Pada 9 Maret 2009, Google merilis android versi 1.1. android versi ini
dilengkapi dengan pembaruan estetis pada aplikasi, jam, alarm, voice serch
layar dan keyboard pada layar yang dapat disesuaikan dengan sistem.
indikator dan kontrol applet VPN. Fitur lainnya adalah galeri yang
speech.
dukungan HTML5 , daftar kontak yang baru, dukungan flash untuk kamera
Pada bulan Mei 2010 Android versi 2.2 Rev 1 diluncurkan. Fitur yang
a) SIP-Based VoIP
f) Download manager
Android versi 3.0 dirilis Februari 2011 sebagai android 3.0 revisi 1
serta android versi 3.0 revisi 2 telah dirilis pada Juli 2011.
Android versi 3.1 dirilis Mei 2011, sedangkan Android 3.1 revisi 2
juga diriilis Mei 2011, serta Android 3.1 revisi 3 diriilis pada Juli 2011.
lunak untuk ponsel yang meliputi sistem operasi, middleware dan aplikasi kunci
Development Kit) sebagai alaat bantu dan API untuk memulai mengembangkan
6. Android Studio
2013 Google I/O,android studio sudah tersedia secara bebas dibawah lisensi
Apache 2.0.
Android studio pada awalnya tahap preview versi 0.1 yang dipakai pada
tanggal 1 mei 2013 dan memasuki tahap beta pada bulan juni 2014 dan mulai
stabil dirilis pada Desember 2014 dengan versi 1.0 ,berdasarkan jetBrains ‘IDEA
masalah lainnya.
27
komponen.
lagi
didefinisikan adalah ISO 9126. Standar ISO 9126 kini menjadi standar yang
banyak digunakan sebagai acuan dalam menentukan layak atau tidaknya dari
diukur dan dievaluasi dalam bentuk metrik. Karakteristik ISO 9126 meliputi :
a. Functionality
perangkat lunak dapat memenuhi segala fungsi yang dibutuhkan (IEC, 2002).
1) Suitability
atribut perangkat lunak yang berfokus pada keberadaan dan kesesuaian suatu
2) Accuracy
dan output dari suatu fungsi tepat sesuai dengan apa yang diharapkan (IEC,
karakteristik perangkat lunak yang berfokus pada hasil yang tepat atau
disepakati.
3) Interoperability
4) Security
b. Reliability
sebagai berikut :
1) Maturity
29
lunak.
2) Fault Tolerance
3) Recoverability
4) Reliability Compliance
c. Usability
mudah sebuah perangkat lunak untuk dipahami, dipelajari, dan digunakan (IEC,
1) Understandability
2) Learnability
30
3) Operability
4) Attractiveness
dilihat dari desain tampilan antar muka dan warna yang digunakan.
5) Usability Compliance
d. Efficiency
berikut :
1) Time Behaviour
31
2) Resource Utilisation
3) Efficiency Compliance
e. Maintainability
berikut :
1) Analysability
2) Changeability
lainnya.
32
3) Stability
yang tidak terduga dari perangkat lunak baik dalam pengujian atau
4) Testability
validasi prenagkat lunak ketika diuji baik dalam proses modifikasi atau
tidak.
5) Maintainability Compliance
f. Portability
seberapa baik perangkat lunak dapat berjalan pada lingkungan sumber daya yang
berbeda-beda. Lingkungan sumber daya dalam hal ini berupa perankat keras dan
1) Adaptability
2) Installability
3) Co-existance
33
bersamaan dengan perangkat lunak lain yang tidak saling terhubung pada
4) Replacebility
5) Portability Compliance
Data Flow Diagram atau dalam bahasa Indonesia menjadi Diagram Alir
dan transformasi yang diaplikasikan sebagai data yang mengalir dari masukan
perangkat lunak atau beberapa level abstraksi. DFD dapat dibagi menjadi
beberapa level yang lebih detail untuk mempresentasikan aliran informasi atau
DFD:
entitas tunggal yang berinteraksi dengan orang maupun sistem lain. DFD
Tabel 2.4
Notasi-notasi DFD
Notasi Keterangan
b. Flowchart
program atau prosedur sistem secara logika. Bagan alir digunakan untuk
menggambarkan prosedur sistem baik sistem berjalan ataupun sistem yang akan
diusulkan. Bagan alir dapat digunakan sebagai alat bantu komunikasi dan
untuk dokumentasi.
Pada saat akan menggambar suatu bagan alir, analis sistem atau
1) Bagan alir sebaiknya digambar dari atas ke bawah dan mulai dari bagian kiri
3) Harus ditunjukkan dari mana kegiatan akan dimulai dan di mana akan
berakhirnya.
“hitung” gaji.
semestinya.
bagan alir :
Tabel 2.5
Simbol Flowchart
Simbol Arti
Flow Direction symbol yaitu simbol yang digunakan untuk
menghubungkan antara simbol yang satu dengan simbol
yang lain. Simbol ini disebut juga connecting line.
c. Use Case
Use Case atau diagram use case merupakan pemodelan untuk kelakuan
(behavior) sistem informasi yang akan dibuat. Use case mendeskripsikan sebuah
interaksi antara satu atau lebih aktor dengan sistem informasi yang akan dibuat.
Secara kasar, use case digunakan untuk mengetahui fungsi apa saja yang ada di
dalam sistem informasi dan siapa saja yang berhak menggunakan fungsi-fungsi
itu.
38
dan dapat dipahami. Ada dua hal utama pada use case yaitu pendefinisian apa
1) Aktor merupakan orang, proses atau sistem lain yang yang berinteraksi
dengan sistem informasi yang akan dibuat diluar sistem informasi itu sendiri,
jadi walaupun simbol dari aktor adalah gambar orang, tapi aktor belum tentu
merupakan orang.
3) Asosiasi yaitu, komunikasi antara aktor dan use case yang berpartisipasi pada
4) Ekstensi yaitu, Relasi use case ditambah ke sebuah use case dimana use case
yang ditambahkan dapat berdiri sendiri walaupun tanpa use case tambahan
itu.
Berikut adalah simbol-simbol yang ada pada diagram use case pada Tabel
2.6.
Tabel 2.6
Simbol use case
Simbol Deskripsi
Use case Fungsionalitas yang disediakan dalam sistem sebagai unit-
unit yang saling bertukar pesan antar unit dan aktor;
biasanya dinyatakan dengan menggunakan kata kerja di awal
dan awal frase nama use case
Aktor Orang, proses atau sistem lain yang berinteraksi dengan
sistem informasi yang akan dibuat diluar sistem yang akan
dibuat itu sendiri, jadi walaupun simbolaktor adalah orang,
39
d. Activity Diagram
kerja) atau aktivitas dari sebuah sistem atau proses bisnis atau menu yang ada
berikut:
Simbol-simbol yang ada pada diagram aktivitas tercantum pada Tabel 2.7 :
Tabel 2.7
Simbol activity diagram
Simbol Deskripsi
Status awal Status awal aktivitas sistem,sebuah diagram
aktivitas memiliki sebuah status awal
Aktivitas Aktivitas yangdilakukan sistem, aktivitas
40
B. Penelitian Relevan
informasi kadang bisa bernilai sangat besar seperti halnya data nasabah suatu
bank, organisasi, data pribadi dan strategi perusahaan bahkan yang lebih
Kriptografi.
Bit Sebagai Pengaman Sms Pada Smartphone Berbasis Android”. Dewasa ini
sehingga kita bisa dengan mudah mengirim dan menerima pesan. Begitu
cepat dan mudahnya kita mengirim pesan kepada orang lain meski jauh
41
sekalipun, hanya dengan sekali klik pesan tersebut terkirim dan diterima pada
saat yang sama. Dari fasilitas pengiriman pesan yang kita dapatkan ini, kita
sering mengabaikan tentang keamanan pesan dari pihak ketiga. Dan salah
pesan yang bersifat rahasia negara karena jika pesan itu diketahui oleh pihak
ketiga dan tersebar maka akan mengancam persatuan dan keamanan negara.
C. Kerangka Pikir
sehingga data penting yang tersimpan dalam android aman dari pihak-pihak yang
42
Standard (AES) berbasis mobile android dapat dilihat pada gambar 2.9:
Gambar 2.13
Kerangka Pikir
Gambar 2.9
Kerangka Pikir