BAB II TINJAUAN PUSTAKA

dokumen-dokumen yang mirip
BAB II TINJAUAN PUSTAKA

BAB II LANDASAN TEORI

Advanced Encryption Standard (AES) Rifqi Azhar Nugraha IF 6 A.

BAB I PENDAHULUAN. 1. aa

TINJAUAN PUSTAKA. Kriptografi

BAB II DASAR TEORI. Gambar 2.1. Proses Enkripsi Dekripsi

BAB 1 PENDAHULUAN. 1.1 Latar Belakang. Seiring perkembangan teknologi, berbagai macam dokumen kini tidak lagi dalam

Aplikasi Pengamanan Data dengan Teknik Algoritma Kriptografi AES dan Fungsi Hash SHA-1 Berbasis Desktop

PENGAMANAN FILE GAMBAR PADA PERANGKAT MOBILE ANDROID MENGGUNAKAN METODE STEGANOGRAFI LSB DAN ALGORITMA KRIPTOGRAFI AES SKRIPSI

Advanced Encryption Standard (AES)

Rancang Bangun Aplikasi Keamanan Data Menggunakan Metode AES Pada Smartphone

ALGORITMA KRIPTOGRAFI AES RIJNDAEL

BAB II TINJAUAN PUSTAKA DAN LANDASAN TEORI

BAB 2 LANDASAN TEORI. 2.1 Kriptografi

BAB III ANALISIS DAN PERANCANGAN

Algoritma AES (Advanced Encryption Standard) dan Penggunaannya dalam Penyandian Pengompresian Data

Digital Signature Standard (DSS)

LAMPIRAN A ALGORITMA AES 128

IMPLEMENTASI ALGORITMA AES PADA ENKRIPSI TEKS

PERANCANGAN APLIKASI PENGAMANAN DATA DENGAN KRIPTOGRAFI ADVANCED ENCRYPTION STANDARD (AES)

BAB III ANALISIS DAN PERANCANGAN

KRIPTOGRAFI CITRA DIGITAL DENGAN ALGORITMA RIJNDAEL DAN TRANSFORMASI WAVELET DISKRIT HAAR

BAB II TINJAUAN PUSTAKA

BAB I PENDAHULUAN. Universitas Sumatera Utara

BAB III ANALISIS DAN PERANCANGAN

APLIKASI PENGAMANAN DOKUMEN DENGAN MENGGUNAKAN TEKNIK KRIPTOGRAFI ALGORITMA AES-RINJDAEL

STUDI DAN IMPLEMENTASI ALGORITMA RIJNDAEL UNTUK ENKRIPSI SMS PADA TELEPON GENGGAM YANG BERBASIS WINDOWS MOBILE 5.0

BAB 1 PENDAHULUAN Latar Belakang Masalah

APLIKASI PENGAMANAN FILE DENGAN ALGORITMA AES256 DAN SHA1

Algoritma Kriptografi Modern (AES, RSA, MD5)

BAB II TINJAUAN PUSTAKA

BAB I PENDAHULUAN 1.1 Latar Belakang

STUDI PERBANDINGAN ALGORITMA SIMETRI BLOWFISH DAN ADVANCED ENCRYPTION STANDARD

Aplikasi Penyembunyian Pesan pada Citra dengan Metode AES Kriptografi dan Enhanced LSB Steganografi

ALGORITMA LEAST SIGNIFICANT BIT UNTUK ANALISIS STEGANOGRAFI

KEAMANAN DATA DENGAN MENGGUNAKAN ALGORITMA RIVEST CODE 4 (RC4) DAN STEGANOGRAFI PADA CITRA DIGITAL

MENGENAL PROSES PERHITUNGAN ENKRIPSI MENGGUNAKAN ALGORITMA KRIPTOGRAFI ADVANCE ENCRYPTION STANDARD(AES) RIJDNAEL

BAB III ANALISIS KEBUTUHAN DAN PERANCANGAN

BAB I PENDAHULUAN. disadap atau dibajak orang lain. Tuntutan keamanan menjadi semakin kompleks, maka harus dijaga agar tidak dibajak orang lain.

BAB 2 LANDASAN TEORI. 2.1 Pengertian Kriptografi

BAB 2 TINJAUAN PUSTAKA

ALGORITMA LEAST SIGNIFICANT BIT UNTUK ANALISIS STEGANOGRAFI

Algoritma Spiral shifting

Algoritma Enkripsi Baku Tingkat Lanjut

Kriptografi Modern Part -1

BAB 1 PENDAHULUAN. 1.1 Latarbelakang

I. PENDAHULUAN. Key Words Tanda Tangan Digital, , Steganografi, SHA1, RSA

Kriptografi Modern Part -1

STUDI DAN IMPLEMENTASI ADVANCED ENCRYPTION STANDARD DENGAN EMPAT MODE OPERASI BLOCK CIPHER

BAB II TINJAUAN PUSTAKA

BAB III ANALISA MASALAH DAN PERANCANGAN

Pengkajian Metode dan Implementasi AES

KRIPTOGRAFI AES MODE CBC PADA CITRA DIGITAL BERBASIS ANDROID

BAB II TINJAUAN PUSTAKA

Proses Enkripsi dan Dekripsi menggunakan Algoritma Advanced Encryption Standard (AES)

BAB 2 TINJAUAN TEORETIS

BAB III ANALISIS DAN DESAIN SISTEM

Bab 2 Tinjauan Pustaka

Pengaruh Variasi Panjang Kunci, Ukuran Blok, dan Mode Operasi Terhadap Waktu Eksekusi pada Algoritma Rijndael

PENERAPAN ALGORITMA AES (ADVANCE ENCRYPTION STANDARD) 128 DAN VIGENERE CIPHER PADA APLIKASI ENKRIPSI PESAN SINGKAT BERBASIS ANDROID

EKSPLORASI STEGANOGRAFI : KAKAS DAN METODE

Penggabungan Algoritma Kriptografi Simetris dan Kriptografi Asimetris untuk Pengamanan Pesan

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

Teknik Penyembunyian Data Menggunakan Kombinasi Kriptografi Rijndael dan Steganografi Least Significant Bit (LSB)

FILE AUDIO MP3 DENGAN METODE PARITY

BAB II TINJAUAN PUSTAKA

N, 1 q N-1. A mn cos 2M , 2N. cos. 0 p M-1, 0 q N-1 Dengan: 1 M, p=0 2 M, 1 p M-1. 1 N, q=0 2. α p =

ANALISA PROSES ENKRIPSI DAN DESKRIPSI DENGAN METODE DES

BAB 2 TINJAUAN PUSTAKA

BAB 2 TINJAUAN PUSTAKA

Implementasi dan Analisis Perbandingan Algoritma MAC Berbasis Fungsi Hash Satu Arah Dengan Algoritma MAC Berbasis Cipher Block

Modul Praktikum Keamanan Sistem

PENERAPAN ENKRIPSI DAN DEKRIPSI FILE MENGGUNAKAN ALGORITMA ADVANCED ENCRYPTION STANDARD (AES)

BAB 1 PENDAHULUAN. khususnya internet sangatlah cepat dan telah menjadi salah satu kebutuhan dari

Keamanan Sistem Komputer DES, AES, RSA

Tanda Tangan Digital Untuk Gambar Menggunakan Kriptografi Visual dan Steganografi

Algoritma Kriptografi Modern (Bagian 2)

IMPLEMENTASI STEGANOGRAFI MENGGUNAKAN METODE LEAST SIGNIFICANT BIT (LSB) DALAM PENGAMANAN DATA PADA FILE AUDIO MP3

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

IMPLEMENTASI STEGANOGRAPHY MENGGUNAKAN ALGORITMA DISCRETE COSINE TRANSFORM

IMPLEMENTASI ALGORITMA RIJNDAEL UNTUK ENKRIPSI DAN DEKRIPSI PADA CITRA DIGITAL

BAB I PENDAHULUAN 1.1. Latar Belakang

APLIKASI JAVA KRIPTOGRAFI MENGGUNAKAN ALGORITMA VIGENERE. Abstract

Implementasi Metode Mars Dan Metode Zhang LSB Image Untuk Penyembunyian Pesan Yang Terenkripsi Pada File Citra

BAB II LANDASAN TEORI

BAB I PENDAHULUAN 1.1. Latar Belakang

1.1 Latar Belakang Sejak zaman dahulu, pentingnya kerahasiaan suatu informasi telah menjadi suatu perhatian tersendiri. Manusia berusaha mencari cara

Prosiding Matematika ISSN:

Perancangan dan Implementasi Steganografi Menggunakan Metode Redundant Pattern Encoding dengan Algoritma AES (Advanced Encryption Standard)

BAB III ANALISIS DAN DESAIN SISTEM

Bab 2 Tinjauan Pustaka 2.1 Penelitian Terdahulu

Steganografi. Pesan rahasia: Lari jam satu. Pengantar: Prisoner s Problem. Bob. Alice. Fred

BAB I PENDAHULUAN 1.1 Latar Belakang

BAB II LANDASAN TEORI

Endang Ratnawati Djuwitaningrum 1, Melisa Apriyani 2. Jl. Raya Puspiptek, Serpong, Tangerang Selatan 1 2

ANALISIS KEAMANAN PESAN MENGGUNAKAN TEKNIK STEGANOGRAFI MODIFIED ENHANCED LSB DAN FOUR NEIGHBORS DENGAN TEKNIK KRIPTOGRAFI CHAINING HILL CIPHER

STEGANOGRAFI DENGAN METODE PENGGANTIAN LEAST SIGNIFICANT BIT (LSB)

WINDOWS VISTA BITLOCKER DRIVE ENCRYPTION

BAB III ANALISIS DAN PERANCANGAN SISTEM

STUDI, IMPLEMENTASI DAN PERBANDINGAN ALGORITMA KUNCI SIMETRI TRIPLE DATA ENCRYPTION STANDARD DAN TWOFISH

Transkripsi:

BAB II TINJAUAN PUSTAKA 1. bb 2.1 Kriptografi Kriptografi berasal dari bahasa yunani, yaitu crypto dan graphia. Crypto berarti secret atau rahasia dan graphia berarti writing (tulisan). Kriptografi adalah ilmu dan seni untuk menjaga keamanan dan kerahasiaan suatu pesan ketika pesan dikirim dari suatu tempat ke tempat lain agar tidak mudah disapadap oleh pihak yang tidak berwenang. Kriptografi juga merupakan cara-cara atau teknik menyembunyikan sebuah tulisan, praktek penerapan proses penyandian untuk menyamarkan tulisan/teks. Algoritma-algoritma kriptogrfi dapat dibedakan menjadi dua macam yaitu simetrik dan asimetrik. Algoritma simetrik (model enkripsi konvensional) merupakan algoritma yang menggunakan satu kunci untuk proses enkripsi dan deskripsi data. Sedangkan algoritma asimetrik (model enkripsi kunci publik) menggunakan kunci yang berbeda dalam proses enkripsi dan deskripsi pesan. 2.1.1 Kunci Kriptografi Ada banyak algortima untuk melakukan enkripsi dan deskripsi. Algortima kunci simetri mengacu pada metode enkripsi yang dalam hal ini pengirim maupun penerima memiliki kunci yang sama. Algortima kunci simetri modern beroperasi dalam mode bit dan dapat dikelompokkan menjadi dua kategori : 1. Blok kode (Block Chiper) Algortima blok kode merupakan algortima yang masukan dan keluaranya berupa satu blok dan setiap blok terdiri dari banyak bit. Algortima kriptografi beroperasi pada plainteks atau chiperteks dalam bentuk blok bit, yang dalam hal ini rangkaian bit dibagi menjadi blok-blok bit yang panjangnya sudah ditentukan sebelumnya. Misalnya algortima enkripsi memerlukan 8 bit untuk mendapatkan satu karakter dan blok kode mempunyai 64 bit untuk satu blok ( 1 karakter = 8 bit dalam pengkodean ASCII ). Block chiper mengenkripsi satu blok bit setiap kali.

a. Pada block chiper, rangkaian bit-bit palinteks dibagi menjadi blok-blok bit dengan panjang sama, biasanya 64 bit ( tapi ada kalanya lebih). Algortima enkripsi menghasilkan blok chiperteks yang pada kebanyakan sistem kriptografi simetri berukuran sama dengan blok palinteks. b. Dengan block chiper, blok plainteks yang sama akan dienkripsi menjadi block chiperteks yang sama bila digunakan kunci yang sama pula. Ini berbeda dengan chiper aliran dimana bit-bit plainteks yang sama akan dienkripsi menjadi bit-bit chiperteks yang berbeda setiap kali dienkripsi. 2. Aliran Kode (Stream Chiper) Algortima kriptografi beroperasi pada plainteks atau chiperteks dalam bentuk bit tunggal, yang dalam hal ini rangkaian bit dienkripsikan atau dideskripsikan bit per bit. Aliran kode mengenkrispi atu bit setiap kali transformasi atau byte per byte ( 1 karakter = 1 byte ). Nama lain untuk stream chiper adalah chiper status sebab enkripsi tiap bit bergantung pada status saat ini. 2.2 Algoritma AES Algoritma AES merupakan algoritma chiper yang aman untuk melindungi data atau informasi yang bersifat rahasia. AES dipublikasikan oleh NIST (National Institute of Standard and Technology) pada tahun 2001 yang digunakan untuk menggantikan algoritma DES yang sudah dianggap kuno dan mudah dibobol. AES diperoleh dari hasil kompetisi yang diadakan NIST pada tahun 1997. Pada Agustus 1999 dipilih lima kandidat untuk seleksi akhir, yaitu Mars (IBM, Amerika Serikat), RSA (RSA corp., Amerika Serikat), Rijndael (Belgia), Serpent (Israel, Norwegia, dan Inggris), dan Twofish (Counterpane, Amerika Serikat). Akhirnya, pada tanggal 2 Oktober 2000 terpilihlah algoritma Rijndael yang diciptakan oleh Dr. Vincent Rijment dan Dr. Joan Daemen sebagai pemenang hingga kini yang diketahui sebagai algoritma AES. Input dan output dari algoritma AES terdiri dari urutan data sebesar 128 bit. Urutan data dalam satu kelompok 128 bit tersebut disebut juga sebagai blok data atau plaintext yang nantinya akan dienkripsi menjadi chipertext. Panjang kunci dari AES terdiri dari panjang kunci 128 bit, 192 bit, dan 256 bit. Perbedaan

panjang kunci ini yang nantinya mempengaruhi jumlah putaran pada algoritma AES ini. Jumlah putaran yang digunakan algoritma ini ada tiga macam seperti pada tabel di bawah. Tabel 1.1 Panjang Kunci Algoritma AES Tipe Panjang Panjang Jumlah Kunci Blok Input Putaran AES-128 128 bit 128 bit 10 AES-192 192 bit 128 bit 12 AES-256 256 bit 128 bit 14 Operasi AES dilakukan terhadap array of byte dua dimensi yang disebut dengan state. State ini mempunyai ukuran NROWS X NCOLS. Pada awal enkripsi, data masukan yang berupa in0, in2, in3, in4, in5, in6, in7, in8, in9, in10, in11, in12, in13, in14, in15 disalin ke dalam array state. State inilah yang nanti akan dilakukan operasi enkripsi dan dekripsi. Kemudian keluarannya akan ditampung ke dalam array out. Gambar di bawah ini menyatakan proses penyalinan input bytes, state array, dan output bytes. Gambar 1.1 Proses input bytes, state array, output bytes Pada saat permulaan, input bit pertama kali akan disusun menjadi suatu array byte dimana panjang dari array byte yang digunakan pada AES adalah

sepanjang 8 bit data. Array byte inilah yang nantinya akan dimasukkan atau disalin ke dalam state dengan urutan dimana r (row/ baris ) dan c (column/kolom): s[r,c] = in[r+4c] untuk 0 r < 4 dan 0 c < Nb sedangkan dari state akan disalin ke output dengan urutan : out[r+4c] = s[r,c] untuk 0 r <4 dan 0 c < Nb 2.3 Proses Enkripsi AES Proses enkripsi algoritma AES terdiri dari 4 jenis transformasi bytes, yaitu SubBytes, ShiftRows, Mixcolumns, dan AddRoundKey. Pada awal proses enkripsi, input yang telah disalin ke dalam state akan mengalami transformasi byte AddRoundKey. Setelah itu, state akan mengalami transformasi SubBytes, ShiftRows, MixColumns, dan AddRoundKey secara berulang-ulang sebanyak Nr. Proses ini dalam algoritma AES disebut sebagai round function. Round yang terakhir agak berbeda dengan round-round sebelumnya dimana pada round terakhir, state tidak mengalami transformasi MixColumns. Ilustrasi proses enkripsi AES dapat digambarkan seperti di bawah ini. Gambar 2.2 Proses Enkripsi Algoritma AES

2.3.1 SubBytes Proses SubBytes adalah mengganti setiap byte state dengan byte pada sebuah tabel yang dinamakan tabel S-Box. Sebuah tabel S-Box terdiri dari 16x16 baris dan kolom dengan masing-masing berukuran 1 byte. Gambar 2.3 S-Box Untuk setiap byte pada array state, misalkan S[r, c] = xy, yang dalam hal ini xy adalah digit heksadesimal dari nilai S[r, c], maka nilai substitusinya, dinyatakan dengan S [r, c], adalah elemen di dalam tabel subtitusi yang merupakan perpotongan baris x dengan kolom y. Gambar 2.4 Pemetaan pada setiap byte pada state 2.3.2 ShiftRows ShiftRows adalah proses pergeseran bit, bit paling kiri akan dipindahkan menjadi bit paling kanan (rotasi bit).

Gambar 2.5 Proses ShiftRows 2.3.3 MixColumns MixColumns mengoperasikan setiap elemen yang berada dalam satu kolom pada state. lebih jelasnya bisa dilihat pada perkalian matriks dibawah ini : Hasil dari perkalian matriks diatas dapat dilihat dibawah ini : 2.4 Proses Dekripsi AES Transformasi chiper dapat dibalikkan dan diimplementasikan dalam arah yang berlawanan untuk menghasilkan inverse chiper yang mudah dipahami untuk algoritma AES. Transformasi byte yang digunakan pada invers chiper adalah InvShiftRows, InvSubBytes, InvMixColumns, dan AddRoundKey. Algoritma dekripsi dapat dilihat pada skema berikut ini :

Gambar 2.6 Skema Dekripsi Algoritma AES 2.4.1 InvShiftRows InvShiftRows adalah berkebalikan dengan transformasi shiftrows pada proses enkripsi. Pada transformasi InvShiftRows, dilakukan pergeseran bit ke kanan. Gambar 2.7 Transformasi InvShiftRows 2.4.2 InvSubBytes InvSubBytes adalah berkebalikan dengan transformasi SubBytes pada proses enkripsi. Pada InvSubBytes, tiap elemen pada state dipetakan dengan menggunakan tabel Inverse S-Box.

Gambar 2.8 Inverse S-Box 2.4.3 InvMixColumns Setiap kolom dalam state dikalikan dengan matrik perkalian dalam AES. Perkalian dalam matrik dapat dilihat dibawah ini : Hasil dari perkalian dalam matrik adalah 2.5 AddRound Key Pada proses enkripsi dan dekripsi AES proses AddRoundKey sama, sebuah round key ditambahkan pada state dengan operasi XOR. Setiap round key terdiri dari Nb word dimana tiap word tersebut akan dijumlahkan dengan word atau kolom yang bersesuaian dari state sehingga:

[s`0,c, s`1,c, s`2,c.s`3,c ] [s 0,c, s 1,c, s 2,c.s 3,c ] XOR[w round*nb+c ] untuk 0 < c < Nb [ wi ] adalah word dari key yang bersesuaian dimana i = round*nb+c. Transformasi AddRoundKey pada proses enkripsi pertama kali pada round = 0 untuk round selanjutnya round = round + 1, pada proses dekripsi pertama kali pada round = 14 untuk round selanjutnya round = round - 1. (Yuniat, Indriyanta, & Rachmat, 2009) 2.6 Key Schedule Proses Key Schedule diperlukan untuk mendapatkan subkey-subkey dari kunci utama agar dapat melakukan enkripsi dan dekripsi. Proses ini terdiri dari beberapa operasi yaitu: Operasi Rotate, yaitu operasi perputaran 8 bit pada 32 bit dari kunci. Operasi SubBytes, pada operasi ini 8 bit dari subkey disubstitusikan dengan nilai dari S-Box. Operasi Rcon, operasi ini dapat diterjemahkan sebagai operasi pangkat 2 nilai tertentu dari user. Operasi ini menggunakan nilai-nilai dalam Galois field. Nilai-nilai dari Rcon kemudian akan di-xor dengan hasil operasi SubBytes. Operasi XOR dengan w[i-nk] yaitu word yang berada pada Nk sebelumnya. Tabel 2.2 Rcon 2.7 Steganografi Steganografi (steganography) berasal dari bahasa Yunani yaitu steganos yang berarti tersembunyi atau terselubung, dan graphein yang artinya menulis. Steganografi dapat diartikan tulisan tersembunyi (covered writing). Steganografi adalah ilmu dan seni menyembunyikan pesan rahasia di dalam pesan lain sehingga keberadaan pesan rahasia tersebut tidak dapat diketahui. Steganografi membutuhkan dua properti, yaitu media penampung dan pesan rahasia. Media penampung yang umum digunakan adalah gambar, suara, video, atau teks. Pesan

yang disembunyikan dapat berupa sebuah artikel, gambar, kode program, atau pesan lain. Proses penyisipan pesan ke dalam media covertext dinamakan encoding, sedangkan ekstraksi pesan dari stegotext dinamakan decoding. Kedua proses ini mungkin memerlukan kunci rahasia (yang dinamakan stegokey) agar hanya pihak yang berhak saja yang dapat melakukan penyisipan pesan dan ekstraksi. (Rakhmat & Fairuzabadi, 2010) 2.8 Metode LSB (Least Significant Bit) Metode LSB merupakan metode steganografi yang paling sederhana dan mudah diimplementasikan. Metode ini menggunakan citra digital sebagai covertext. Pada susunan bit di dalam sebuah byte (1 byte = 8 bit), ada bit yang paling depan (most significant bit atau MSB) dan bit yang terakhir (least significant bit atau LSB). Sebagai contoh byte 11010010, angka bit 1 (pertama, digaris-bawahi) adalah bit MSB, dan angka bit 0 (terakhir, digaris-bawahi) adalah bit LSB. Bit yang cocok untuk diganti adalah bit LSB, sebab perubahan tersebut hanya mengubah nilai byte satu lebih tinggi atau satu lebih rendah dari nilai sebelumnya. Misalkan byte tersebut menyatakan warna merah, maka perubahan satu bit LSB tidak mengubah warna merah tersebut secara berarti. Mata manusia tidak dapat membedakan perubahan kecil tersebut. Misalkan segmen pixel-pixel citra/gambar sebelum penambahan bit-bit adalah: 00110011 10100010 11100010 10101011 00100110 10010110 11001001 11111001 10001000 10100011 Pesan rahasia (yang telah dikonversi ke sistem biner) misalkan '1110010111', maka setiap bit dari pesan tersebut menggantikan posisi LSB dari segmen pixel-pixel citra menjadi (digarisbawahi): 00110011 10100011 11100011 10101010 00100110 10010111 11001000 11111001 10001001 10100011 (Rakhmat & Fairuzabadi, 2010)

2.9 Algoritma SHA (Secure Hash Algorithm) Fungsi hash SHA (Secure Hash Algorithm), antara lain SHA-1, SHA-224, SHA-256, SHA-384 dan SHA-512 adalah lima fungsi hash kriptografis yang dibuat oleh National Security Agency (NSA) dan dinyatakan sebagai standar keamananan pemerintah USA. SHA-1 digunakan dalam proses sekuriti banyak program, seperti TLS and SSL, PGP, SSH, S/MIME dan IPsec. Fungsi ini dianggap sebagai pengganti fungsi hash MD5 yang lebih sering digunakan publik. Tetapi pada kenyataannya kedua fungsi ini tetap digunakan sebagai proses enkripsi. Sedangkan 4 varian lainnya (SHA-224, SHA-256, SHA-384 dan SHA- 512) biasanya disebut sebagai SHA-2. Hingga saat ini belum ada serangan terhadap SHA-2, tetapi karena kemiripannya dengan SHA-1, para peneliti khawatir dan mengembangkan kandidat baru penggantinya. Kelima algoritma SHA ini memiliki ukuran pesan, blok, kata, dan pesan digit yang berbeda dimana ukuran-ukuran dari masing-masing algoritma SHA tersebut dapat dilihat pada gambar dibawah ini. Gambar 2.9 Ukuran Message Digest Pada Algoritma SHA (Huda W, 2003) 2.9.1 SHA-1 SHA-1 adalah pengembangan dari SHA-0 dimana SHA-1 memperbaiki kelemahan yang ada di SHA-0. SHA-1 merupakan fungsi hash yang paling populer dibandingkan dengan fungsi hash SHA lainnya. SHA-1 memproduksi 160 bit digest berdasarkan prinsip yang sama dengan algoritma MD4 dan MD5 namun dengan design yang berbeda. SHA-1 mempunyai kapasitas input message 2 64-1, dengan hasil hash 160 bits dan evaluasi kekuatan hash 2 80 Misal SHA-1 digunakan untuk meng-hash sebuah pesan M, yang mempunyai panjang maksimum 2 64-1 bits. Algoritma ini menggunakan urutan dari 80 kali 32-bit kata,

dengan menggunakan 5 variabel yang menampung 32 bits per variabel, dan hasil hashnya. (Huda W, 2003). Langkah langkah SHA-1: 1. Inisalisasi A, B, C, D, E : A = 67452301 B = EFCDAB89 C = 98BADCFE D = 10325476 E = C3D2E1F0 Dimana A, B, C, D, E adalah lima buah peubah penyangga 32-bit. 2. Melakukan padding terhadap pesan (M) sehingga panjangnya adalah 448 modulus 512. Sehingga menjadi M=448+N.512. lalu membagi M menjadi M (1), M (2),..., M (N). 3. 64 bit sisanya adalah representasi biner dari panjang pesan. 4. Lalu masuk ke komputasi Hash, dengan menggunakan iterasi M (i) dengan i=1 sampai N dengan langkah : a) Gunakan iterasi dari W, dengan simbol W t :... (2.1) b) Menginisialisasi A,B,C,D,E dengan hasil dari hash sebelumnya. A = h0, B = h1, C = h2, D = h3, E= h4. c) Membagi W menjadi 4 bagian : W (t) F t (BCD) K (t) 0 t 19 F1 = (B AND C) OR ((!B) AND D) 5A827999 20 t 39 F2 = (B XOR C) XOR D ED9EBA1 40 t 59 F3 = ((B AND C) OR (B AND D)) OR (C AND D) F1BBCDC 60 t 79 F4 = (B XOR C) XOR D CA62C1D6 d) Lalu melakukan proses terhadap A,B,C,D,E sesuai berikut :

e) Lalu menambahkan hasil A, B, C, D, E dengan hash sebelumnya sesuai urutan, lalu memasukkannya ke hasil hash yang sekarang juga sesuai urutan. (Huda W, 2009) Gambar 2.10 Analogi fungsi hash pada SHA-1 (Sumber : Huda W, 2009) Dalam proses SHA-1 ini, dimana : putaran, 0 t 79 fungsi logika pergeseran ke kiri word 32-bit yang diturunkan dari blok 512 bit yang sedang diproses konstanta penambah

2.10 PSNR (Peak Signal To Noise Ratio) Kualitas media penampung setelah ditambahkan pesan rahasia tidak jauh berbeda dengan kualitas media penampung sebelum ditambahkan pesan. Setelah penambahan pesan rahasia, kualitas citra penampung tidak jauh berubah, masih terlihat dengan baik. Untuk mengukur kualitas citra steganografi diperlukan suatu pengujian secara obyektif. Pengujian secara objektif adalah dilakukan dengan menghitung nilai PSNR. Peak Signal to Noise Ratio (PSNR) adalah perbandingan antara nilai maksimum dari sinyal yang diukur dengan besarnya derau yang berpengaruh pada sinyal tersebut. PSNR diukur dalam satuan desibel. PSNR digunakan untuk mengetahui perbandingan kualitas gambar penampung sebelum dan sesudah disisipkan pesan. Untuk menentukan PSNR, terlebih dahulu harus ditentukan MSE (Mean Square Error). MSE secara matematis dapat dirumuskan sebagai berikut: Dimana : MSE = Nilai Mean Square Error citra steganografi m = Panjang citra stego (dalam pixel) I(i,j) = Nilai piksel dari citra cover n = Lebar citra stego (dalam pixel) K(i,j) = Nilai piksel pada citra stego Setelah diperoleh nilai MSE maka nilai PSNR dapat dihitung dari kuadrat nilai maksimum dibagi dengan MSE. Secara matematis, nilai PSNR dirumuskan sebagai berikut :

Dimana: MSE = nilai MSE, MAXi = nilai maksimum dari pixel citra yang digunakan. Semakin rendah Nilai MSE maka akan semakin baik, dan semakin besar nilai PSNR maka semakin baik kualitas citra steganografi. (Moenandar, Wirawan, & Setijadi, 2012) 2.11 Android Android adalah sebuah sistem operasi untuk Smartphone dan Tablet. Android dikembangkan oleh perusahaan-perusahaan yang tergabung dalam sebuah konsorsium bernama Open Handset Alliance (OHA). OHA dipimpin oleh Google dan didirikan bersama 34 perusahaan lainnya, dengan tujuan untuk mengembangkan teknologi mobile device. Sekarang ini, anggota konsorsium sudah berjumlah 84 perusahaan yang bergerak di berbagai bidang seperti pembuat device, semikonduktor, pembuat aplikasi, komersialisasi, dan mobile operator. (Syaputra, Aritonang, & Maulina, 2014) Android merupakan sistem operasi yang bersifat open source (sumber terbuka). Disebut open source karena source code (kode sumber) dari sistem operasi Android dapat dilihat, diunduh, dan dimodifikasi secara bebas. Paradigma open source ini memudahkan pengembang teknologi Android, karena semua pihak yang tertarik dapat memberikan konstribusi, baik pada pengembangan sistem operasi maupun aplikasi. (Syaputra, Aritonang, & Maulina, 2014)