Aplikasi chatting aman dibangun menggunakan platform Android dengan mengimplementasikan algoritma Twofish untuk enkripsi pesan. Algoritma Twofish dipilih karena keamanannya dan kinerja yang baik. Aplikasi mampu melindungi pesan melalui enkripsi CBC dan uji coba menunjukkan bahwa pesan asli tidak dapat diambil melalui sniffing jaringan.
1. RANCANG BANGUN SECURE CHATTING PADA
PLATFORM ANDROID DENGAN ALGORITMA
TWOFISH
Ainatul Radhiah
10951006693
4 Januari 2014
2. Latar Belakang
Chatting : Secure or not Secure ?1
2 Kriptografi Algoritma Twofish Simetris Realtime
3 Android IDC 75%
3. Penelitian Terakhir
Respati Bahry Mahputra (ITB, 2011)
Implementasi Mobile Chat pada sistem operasi android 2.2
Wijaya, Chandra Ari and Triana, Willya (2012)
Implementasi algoritma Twofish untuk enkripsi dan deskripsi SMS
pada ponsel berbasis Android
Ridhky Oktavian Pradana , (UNIKOM , 2011)
Analisis Perbandingan Algoritma Rijndael dan Algoritma Twofish pada
proses pengiriman data teks menggunakan jaringan LAN (Local Area
Network)
4. Bagaimana cara membangun aplikasi chatting pada platform
Android.
Bagaimana cara melakukan pengamanan aplikasi chatting
dengan enkripsi menggunakan Algoritma Twofish agar
pesan atau informasi tersebut tidak dapat diketahui oleh
orang lain yang tidak berhak mengetahuinya.
1
2
Rumusan Masalah
5. Batasan Masalah
Perancangan sistem menggunakan platform Android1
2 Aplikasi yang akan dibangun bersifat cilent server.
3 Algoritma kriptografi yang digunakan adalah algoritma Twofish dengan
panjang kunci 128 bit dan Mode Operasi CBC.
4 Enkripsi dilakukan pada pengiriman teks.
6. Tujuan dari penelitian ini adalah membangun aplikasi
chatting aman dari serangan hacker dengan teknologi
kriptografi menggunakan algoritma Twofish.
Tujuan Penelitian
7. Online chat adalah suatu teknologi internet yang
memungkinkan pengguna melakukan komunikasi
berbasis teks melalui internet sebuah jaringan LAN
atau Local Area Network ataupun internet.
Landasan Teori
9. (Bruce Schneier, John Kelsey, Doug Whiting, David Wagner, Chris Hall, Niels Ferguson,1998)
1 Blok Algoritma Twofish
Landasan Teori
10. Enkripsi :Ci = Ek(Pi Ci-1) Dekripsi :Pi=(Dk(Ci) Ci-1
Mode Operasi Chiper Block Chaining (CBC)
IV
P-1
Ek
C-1
P-2
C-2
Ek ...
P-n
C-n
Ek
IV
P-1
Ek
C-1
P-2
C-2
Ek ...
P-n
C-n
Ek
Landasan Teori
14. Memilih Menu
Online Friends
Mulai
Memilih Teman
Chatting
Menuliskan
Pesan
Menampilkan Menu
Online Friends
Menampilkan
Halaman Chatting
Kirim
Pesan
Tampilkan
Pesan Plainteks
Database
User
Database
Pesan
Enkripsi Twofish
ChiperteksDekripsi Twofish
Selesai
ServerAndroidPengiriman/Penerima
Model Perancangan Sistem
Activity Diagram
16. Hasil Chat antara Rara dan Aina
Hasil enkripsi di server
Implementasi dan Pengujian
17. 1. Penjadwalan Kunci
2. Proses Enkripsi
3. Proses Dekripsi
3 Proses Utama Enkripsi dan Dekripsi Algoritma Twofish :
Implementasi dan Pengujian
18. Implementasi dan Pengujian
F
L
O
W
C
H
A
R
T
Pengujian White Box Penjadwalan Kunci
Start
End
Kunci M
n = N ?
Tambah bit “0”
hingga n = N
T
Y
Hitung : k = N/64
Bangun Kunci
Bantuan Me dan
Mo
Bangun Kunci
bantuan S
Bangun 40 Sub
Kunci
Kunci bantuan
Me, Mo , S dan 40
sub kunci
19. Pengujian White Box proses Enkripsi
Implementasi dan Pengujian
F
L
O
W
C
H
A
R
T
Start
End
Panjang teks
MOD 16 =0?
Proses PaddningTidak
Baca 1 block pertama
128 bit (16 byte)
Ya
XOR Plainteks
dengan IV
Initialization
Vector (IV)
Enkripsi 128 bit
plainteks
Ya
Block Akhir?
Tidak
Chiperteks
Keseluruhan dari
Plainteks
Kunci M
Penjadwalan
Kunci
Simpan di Temp
(IV awal = 0)
Chiperteks 128 bit
Baca seluruh
karakter pesan
Konversi Pesan
ke Biner, lalu ke
Hexa
20. Hexa
42 69 73 6d 69 6c 6c 61 68
68 69 72 72 61 68 6d 61 6e
6e 69 72 72 61 68 69 6d
Input Plainteks :
Bismillahhirrahmannirrahim
1 Bagi dalam block-block 128 bit
2
Proses enkripsi Block 1 :
Pecah kedalam 4 block 32 bit menggunakan konversi little endian :
Pengujian White Box proses Enkripsi
Block 1 : 42 69 73 6d 69 6c 6c 61 68 68 69 72 72 61 68 6d
Block 2 : 616e6e6972726168696d000000000000 Padding
P0 =
6D736942
P1 =
616C6C69
P2 =
72696868
P3 =
6D686172
Implementasi dan Pengujian
21. 3 Input Whitenning : Xor kan masing-masing Pi dengan empat subkey pertama.
Pengujian White Box proses Enkripsi
P0 xor Skey 0 =
6D736942 xor C091080B = AD E2 61 49
P1 xor Skey 1 =
616C6C69 xor 3DF5FF75 = 5C 99 93 1C
P2 xor Skey 2 =
72696868 xor B3E129FB = C1 88 41 93
P3 xor Skey 3 =
6D686172 xor A576A2E7 = C8 1E C3 95
Implementasi dan Pengujian
22. 3 Input Whitenning : Xor kan masing-masing Pi dengan empat subkey pertama.
Pengujian White Box proses Enkripsi
Hasil Input Whitening : AD E2 61 49 5C 99 93 1C C1 88 41 93 C8 1E C3 95
X0 = AD E2 61 49
X1 = 5C 99 93 1C
X2 = C1 88 41 93
X3 = C8 1E C3 95
4
Masukkan byte-byte X0 – X3 dalam fungsi F yang di dalamnya terdapat fungsi
g fungsi g menghasilkan TO dan T1 kemudian T0 dan T1 dikombinasikan dengan
PHT (Pseudo Hadamard Transformation) yang menghasilkan F0 dan F1.
Implementasi dan Pengujian
23. Penggabungan X0,X1,X2,X3 Setelah fungsi : 41 77 60 52 79 47 72 80 65 3D 5B 8A B5 96 A8 54
Pengujian White Box proses Enkripsi
Round 1 :
XO Melaui Fungsi g Menghasilkan T0 : 13A064B5
X1 Melaui Fungsi g Menghasilkan T1 : F33ADEC0
X2 Dikombinasikan dengan PHT menghasilkan F0 : CA7AB714
X2 Digeser ke kanan 1 bit : 653D5B8A
X3 Digeser ke kiri 1 bit : 72F75D97
X3 Dikombinasikan dengan PHT menhasilkan F1 : B596A854
Implementasi dan Pengujian
24. Pengujian White Box proses Enkripsi
Fungsi F Round Ke 0 : 4177605279 477280 653D5B8A B596A854
Fungsi F Round Ke 1 : 02 D6E0D5DC33D9A6653D5B8AB596A854
Fungsi F Round Ke 2 : 02D6E0D5DC33D9A6EEA1701C561CBCEB
Fungsi F Round Ke 3 : 1FBEC0B9124ECE07EEA1701C561CBCEB
Fungsi F Round Ke 4 : 1FBEC0B9124ECE07FF345C5DCDD5931E
Fungsi F Round Ke 5 : 3DFA3C05208A8466FF345C5DCDD5931E
Fungsi F Round Ke 6 : 3DFA3C05208A8466339BA308C6E15363
Fungsi F Round Ke 7 : FE750C74EEC3D527339BA308C6E15363
Fungsi F Round Ke 8 : FE750C74EEC3D5276047FB2614BE8241
Fungsi F Round Ke 9 : A784D98573F350B26047FB2614BE8241
Implementasi dan Pengujian
25. Pengujian White Box proses Enkripsi
Fungsi F Round Ke 10 : A784D98573F350B2F75BF9445001CDC1
Fungsi F Round Ke 11 : 5B872C6B4918FD94F75BF9445001CDC1
Fungsi F Round Ke 12 : 5B872C6B4918FD94D198729E749181C8
Fungsi F Round Ke13 : D3AF53A8BB32A81FD198729E749181C8
Fungsi F Round Ke 14 : D3AF53A8BB32A81F9CFBFF62A358F2C3
Fungsi F Round Ke15 : D41043345F970A9E9CFBFF62A358F2C3
Output Whitening : A4C097351C0D0C2CE88806382CD3FF87
ChiperText : 380688E887FFD32C3597C0A42C0C0D1C
Implementasi dan Pengujian
26. Pengujian White Box proses Dekripsi
Implementasi dan Pengujian
F
L
O
W
C
H
A
R
T
Chiperteks
Panjang
chiperteks MOD
16 =0?
Proses
UnPadding
Tidak
Baca 1 block pertama
128 bit (16 byte)
Ya
Dekripsi 128 bit
plainteks
Ya
Block Akhir?
Tidak
Selurh Plainteks
dalam hexadecimal
Kunci M
Penjadwalan
Kunci
Initialization Vector
(IV)
Simpan di Temp
(IV awal = 0)
XOR Chiperteks
dengan IV
128 Plainteks
Konversi plainteks
ke karakter asli
Start
End
27. Hasil yang
berbeda
Pengujian White Box Chiper Block Chaining
1 Hasil enkripsi Twofish dengan Mode Operasi CBC :
Input teks : Gerhana Matahari Gerhana Matahari
Block 1 : 6e e2 ef c1 fd 42 6d b9 12 5d 50 2c 6b 7a eb c6
Block 2 : 6e e2 ef c1 fd 42 6d b9 12 5d 50 2c 6b 7a eb c6
Block 2 : 8f ea c0 34 26 10 11 ec 09 e4 9d 35 ca 55 83 d2
Block 1 : 6e e2 ef c1 fd 42 6d b9 12 5d 50 2c 6b 7a eb c6
2 Hasil enkripsi Twofish tanpa Mode Operasi CBC :
Implementasi dan Pengujian
28. Hasil enkripsi : 88 66 Af 50 8B 27 27 B6 59 89 57 55 B3 C3 B9 E2
Pengujian White Box proses Dekripsi
Hasil Percakapan antara Budi dan Desi :
Budi to Desi : hai
C
H
I
P
E
R
T
E
K
S
Implementasi dan Pengujian
30. Aplikasi Secure Chatting berhasil dibangun.
Kesimpulan
Hasil enkripsi menggunakan mode operasi CBC pada satu
blok plainteks yang memiliki karakter sama menghasilkan
cipherteks yang berbeda seingga meningkatkan keamanan
pesan chatting.
Jumlah blok karakter teks yang dikirim berbanding lurus
dengan jumlah blok chiperteks yang dihasilkan.
1
2
3
4 Algoritma dapat melakukan pengamanan terhadap pesan
yang dikirim , dibuktikan dengan percobaan sniffing dengan
menggunakan WireShark gagal memperoleh teks asli.
31. Saran
Pada penelitian selanjutnya dapat dikembangkan sehingga aplikasi
dapat menerima pesan dalam bentuk multimedia seperti gambar,
Suara dan video
Pada pengembangan selanjutnya aplikasi Secure Chatting
dapat dibuat dalam web apps
1
2