Least Significant Bit Analisis Sistem

Kriteria steganografi yang bagus sebagai berikut: 1. Fidelity, mutu citra yang menampung data tidak jauh berubah. 2. Robustness, pesan yang disembunyikan harus tahan robust terhadap berbagai operasi manipulasi yang dilakukan pada stego-object, seperti pengubahan kontras, penajaman, pemampatan, rotasi, perbesaran gambar, pemotongan cropping, enkripsi dan sebagainya. 3. Recovery, data yang disembunyikan harus dapat diungkapkan kembali recovery. [14]

2.10 Least Significant Bit

Metode least significant bit, digunakan citra digital sebagai media penyamar atau cover-object . Pada setiap byte dari piksel citra, terdapat bit yang paling kecil bobotnya Least Significant Bit atau LSB.[2] Metode ini bekerja dengan cara mengganti bit terakhir dari masing-masing pixel dengan pesan yang akan disisipkan. LSB mempunyai kelebihan yakni ukuran gambar tidak akan jauh berubah. Sedangkan kekurangannya adalah pesandata yang akan disisipkan terbatas, sesuai dengan ukuran citra.[1] Sebagai contoh akan disisipkan A kedalam sebuah sebuah citra. Nilai A dalam ASCII adalah 65. Kemudian nilai ASCII A diubah menjadi biner yaitu 01000001. Piksel citra yang akan disisipkan teks yaitu 00000001, 00000110, 00000101, 00000011, 00000111, 00000100, 00000111, 00000100. Tabel 1 menunjukkan hasil dari penyisipan. Tabel 2.2. Tabel proses penyisipan Least Significant Bit LSB Biner Piksel Citra Biner Huruf A Piksel Citra Yang berubah 00000001 0000000 00000110 1 0000011 1 00000101 0000010 00000011 0000001 00000111 0000011 Universitas Sumatera Utara 00000100 0000010 00000111 0000011 00000100 1 0000010 1

2.11 Fungsi Linier

Suatu korespondensi �, � antara dua himpunan bilangan yang memasangkan sebarang bilangan x dari himpunan pertama sengan tepat satu bilangan y dari himpunan kedua disebut suatu fungsi.[8] Untuk rumus umum persamaan linier ditulis sebagai berikut [9]: �� = �� + � .............................................................................................5 kemiringan garis adalah m , b merupakan perpotongan sumbu y.[9] Sebagai contoh, misalkan nilai m= 1 dan b=2, sehingga: �� = �� + � �� = 1� + 2 �� = � + 2 Universitas Sumatera Utara

BAB 3 ANALISIS DAN PERANCANGAN SISTEM

3.1. Analisis Sistem

Analisis sistem merupakan tahapan awal yang digunakan untuk mengetahui kebutuhan sistem. Pada tahapan analisis sistem memilih kebutuhan yang paling sesuai untuk sistem yang sangat penting dalam pengembanga sistem tersebut. 3.1.1. Analisis Masalah Analisis masalah yang akan dilakukan adalah bagaimana cara mengenkripsi pesan rahasia dengan format txt dengan menggunakan algoritma ElGamal, kemudian pesan rahasia disisipkan ke dalam gambar dengan format bmp dengan menggunakan teknik penyisipan least significant bit LSB berdasarkan fungsi linier. Masalah pada penelitian ini secara umum ditunjukkan dengan menggunakan diagram Ishikawa pada Gambar 3.1. Gambar 3.1 Diagram Ishikawa 3.1.2. Analisis Kebutuhan Analisis kebutuhan pada suatu sistem terdiri dari 2 dua macam yaitu analisis kebutuhan fumgsional dan analisis kebutuhan non fungsional. Universitas Sumatera Utara a. Analisis Kebutuhan Fungsional Pada analisis kebutuhan berisikan proses-proses apa saja yang terdapat pada sistem. Dalam aplikasi pengamanan pesan rahasia dengan menggunakan algoritma kriptografi Elgamal dan teknik steganografi least significant bit berdasarkan fungsi linier ini memiliki analisis kebutuhan fungsional sebagai berikut: 1. Melakukan proses enkripsi dan dekripsi. Pada proses ini dibutuhkan pesan rahasia berformat txt dan input langsung dari sistem serta kunci publik dan kunci private untuk melakukan enkripsi dan dekripsi pada pesan rahasia. 2. Melakukan proses embedding penyisipan dan extraction pengembalian pesan. Pada proses ini dibutuhkan gambar berformat bmp yang digunakan sebagai cover image untuk penyisipan pesan ke dalam gambar. 3. Algoritma yang digunakan dalam melakukan proses enkripsi dan dekripsi adalah algoritma kriptografi ElGamal, sedangkan teknik yang digunakan dalam penyisipan pesan ke dalam gambar adalah teknik steganografi least significant bit LSB berdasarkan fungsi linier. 4. Menyimpan file baru yaitu hasil dari prosese embedding dan dekrtpsi. Setelah melakukan enkripsi maka hasil pesan yang dienkripsi disisipkan ke dalam sebuah citra kemudian disimpan dalam format bmp atau setelah melakukan extraction pengembalian pesan maka pesan tersebut didekripsi untuk mendapatkan pesan asli yang kemudian disimpan dengan format txt. b. Analisis Kebutuhan Non Fungsional Pada analisis kebutuhan non fungsional tidak secara langsung terkait dengan fitur yang terdapat pada sistem. analisis kebutuhan non fungsional memberikan batasan-batasan pada sistem. Analisis kebutuhan non fungsional terdapat pada sistem ini meliputi: 1. Perfomance, aplikasi yang dibangun dapat melakukan proses enkripsi dan dekripsi dengan algoritma ElGamal serta dapat melakukan proses embedding dan extraction dengan teknik steganografi least significant bit LSB berdasarkan fungsi linier. Universitas Sumatera Utara 2. Documentacy, apllikasi dapat menyimpan hasil penyisipan dengan format bmp dan menyimpan hasil dekripsi dengan format txt. 3. User friendly, aplikasi yang dibangun harus mudah digunakan oleh pengguna user dan responsif. 4. Cost, aplikasi yang dibangun tidak memerlukan biaya tambahan karena tidak memerlukan perangkat tambahan pendukung seperti perangkat keras pendukung atau layanan internet dan lain sebagainya. 3.1.3. Analisis Proses Dalam sistem ini terdapat empat proses utama yaitu enkripsi penyandian pesan, dekripsi pemulihan pesan , embedding penyisipan pesan, dan extraction pengembalian pesan. Pada teknik steganografi least significant bit dimodifikasi dengan menggunakan fungsi linier dalam pemilihan letak pixel yang akan disisipkan pesan rahasia. Begitupula dalam melakukan pengembalian pesan, fungsi linier digunakan untuk menentukan letak pixel dari gambar yang akan diekstrak. a. Analisis Proses Enkripsi dengan Algoritma ElGamal Untuk melakukan proses enkripsi dengan algoritma ElGamal dibutuhkan kunci-kunci yang digunakan untuk penyadian pesan rahasia. Berikut ini adalah proses pembangkitan kunci pada algoritma ElGamal: 1. Pilih sembarang bilangan prima � 255. Misalkan nilai bilangan prima yang dipilih adalah 257. 2. Pilih dua bilangan acak g dan x, dengan syarat � � dan � �. Contoh: � = 3 dan � = 4. 3. Hitunglah nilai � = � � ��� � dengan nilai x adalah kunci private. Contoh: � = � � ��� � � = 3 4 ��� 257 � = 81 ��� 257 � = 81 Universitas Sumatera Utara Setelah melakukan pembangkitan kunci dapat dilakukan proses enkripsi. Proses Enkripsi ElGamal menggunakan kunci publik �, � dan �. Berikut proses enkripsi algoritma ElGamal: 1. Susunlah plainteks menjadi blok-blok � 1, � 2, � 3,… . Kemudian setiap blok huruf diubah menjadi bilangan ASCII. Contoh: Plaintext : DINY →� 1 = � → ubah menjadi bilangan ASCII yaitu 68 � 2 = � → ubah menjadi bilangan ASCII yaitu 73 � 3 = � → ubah menjadi bilangan ASCII yaitu 78 � 4 = � → ubah menjadi bilangan ASCII yaitu 89 2. Pilih Bilangan acak k dengan syarat 0 ≤ � ≤ � − 2, maka 0 ≤ � ≤ 257 − 2 → 0 ≤ � ≤ 255. Contoh: � = 7. 3. Setiap blok m dienkripsikan dengan rumus: � 1 = � � ��� � � 2 = � � � ��� � Contoh: � 1 = � � ��� � � 1 = 3 7 ��� 257 � 1 = 2187 ��� 257 � 1 = 131 � 2 = � � � ��� � � 21 = � � � 1 ��� � = 81 7 × 68 ��� 257 = 22876792454961 × 68 ��� 257 = 1555621886937348 ��� 257 = 22 � 22 = � � � 2 ��� � = 81 7 × 73 ��� 257 = 22876792454961 × 73 ��� 257 = 1670005849212153 ��� 257 Universitas Sumatera Utara = 137 � 23 = � � � 3 ��� � = 81 7 × 78 ��� 257 = 22876792454961 × 78 ��� 257 = 1784389811486958 ��� 257 = 252 � 24 = � � � 4 ��� � = 81 7 × 89 ��� 257 = 22876792454961 × 89 ��� 257 = 2036034528491529 ��� 257 = 248 b. Analisis Proses Dekripsi dengan Algoritma Elgamal Proses dekripsi ElGamal menggunakan kunci publik � dan kunci private �. Berikut proses dekripsi algoritma ElGamal: 1. Hitunglah � 1 � −1 dengan rumus: � 1 � −1 = � 1 �−1−� ��� � Contoh: � 1 � −1 = � 1 �−1−� ��� � = 131 257−1−4 ��� 256 = 131 252 ��� 257 = 190 2. Gunakan kunci private � dan kunci publik � untuk mendekripsi ciphertext � dan � menjadi plaintext � dengan rumus: � = [� 2 × � � −1 ��� �] Contoh: � 1 = �� 21 × � � −1 ��� �� = [22 × 190 ��� 257] = 4180 ��� 257 = 68 � 2 = �� 22 × � � −1 ��� �� = [137 × 190 ��� 257] = 26030 ��� 257 = 73 � 3 = �� 23 × � � −1 ��� �� = [252 × 190 ��� 257] Universitas Sumatera Utara = 47880 ��� 257 = 78 � 4 = �� 24 × � � −1 ��� �� = [248 × 190 ��� 257] = 47120 ��� 257 = 89 3. Ubahlah plaintext � menjadi huruf alfabet dengan menggunakan tabel ASCII. � 1 = 68 → dalam ASCII yaitu D � 2 = 73 → dalam ASCII yaitu I � 3 = 78 → dalam ASCII yaitu N � 4 = 89 → dalam ASCII yaitu Y c. Analisis Proses Embedding dengan Fungsi Linier Dalam melakukan proses embedding diperlukan sebuah citra yang berformat bmp sebagai coverimage untuk penyisipan pesan. Dikarenakan penyisipan pesan yang dilakukan sesuai dengan titik pixel yang didapat dari perhitungan fungsi linier maka citra yang digunakan memerlukan batasan untuk ukuran pixelnya. Ukuran pixel minimum dapat dihitung dengan cara: �����ℎ ���ℎ������ = �����ℎ ���� ���ℎ������ + 1 ��� ������� × 8 ����� ����� ������� = �����ℎ ���ℎ������ ��� 3 ����� ���� ������� = ������ℎ ���ℎ������ − ����� ����� ������� ÷ 3� ����� ������� = �����ℎ ����� ������� + 2 ����� ����� Misalkan blok ciphertext “ 131 22 131 137 131 252 131 248 ” akan membutuhkan resolusi cover image sebesar: �����ℎ ���ℎ������ = 8 + 1 × 8 = 72 ����� ����� ������� = 72 ��� 3 = 0 �����ℎ ����� ���� ���� ������� = 72 − 0 ÷ 3 = 24 Didapat jumlah pixel yang akan disisip yaitu 24, maka pixel minimum adalah 24 + 2 = 26. Universitas Sumatera Utara Berikut ini contoh proses embedding berdasarkan fungsi linier: 1. Ubah nilai ciphertext ke biner yang ditunjukkan pada Tabel 3.1. Tabel 3.1 Biner Ciphertext � 1 � 2 Biner � 1 Biner � 2 131 22 10000011 00010110 131 137 10000011 10001001 131 252 10000011 11111100 131 248 10000011 11111000 Ciphertext yang disisipkan ditambahkan tanda “” pada akhir ciphertext sebagai pembatas pada proses penyisipan sehingga pada saat proses ektraksi dapat diketahui batas proses ekstrasi. Nilai desimal dari “” adalah 42 dengan nilai biner 00101010. 2. Pilih sembarang nilai m dan b. Misalkan nilai � = 1 dan � = 1, maka hitung �� = �� + �. Karena jumlah pixel yang akan disisipkan sebanyak 34 maka nilai x yang digunakan rentang dari 0 sampai 33. � = 0 → �� = �� + � = 1. � + 1 = 2 → 0,1 � = 1 → �� = �� + � = 1. � + 1 = 2 → 1,2 � = 2 → �� = �� + � = 1. � + 1 = 2 → 2,3 � = 3 → �� = �� + � = 1. � + 1 = 2 → 3,4 � = 4 → �� = �� + � = 1. � + 1 = 2 → 4,5 � = 5 → �� = �� + � = 1. � + 1 = 2 → 5,6 � = 6 → �� = �� + � = 1. � + 1 = 2 → 6,7 � = 7 → �� = �� + � = 1. � + 1 = 2 → 7,8 � = 8 → �� = �� + � = 1. � + 1 = 2 → 8,9 � = 9 → �� = �� + � = 1. � + 1 = 2 → 9,10 � = 10 → �� = �� + � = 1. � + 1 = 2 → 10,11 � = 11 → �� = �� + � = 1. � + 1 = 2 → 11,12 � = 12 → �� = �� + � = 1. � + 1 = 2 → 12,13 � = 13 → �� = �� + � = 1. � + 1 = 2 → 13,14 � = 14 → �� = �� + � = 1. � + 1 = 2 → 14,15 Universitas Sumatera Utara � = 15 → �� = �� + � = 1. � + 1 = 2 → 15,16 � = 16 → �� = �� + � = 1. � + 1 = 2 → 16,17 � = 17 → �� = �� + � = 1. � + 1 = 2 → 17,18 � = 18 → �� = �� + � = 1. � + 1 = 2 → 18,19 � = 19 → �� = �� + � = 1. � + 1 = 2 → 19,20 � = 20 → �� = �� + � = 1. � + 1 = 2 → 20,21 � = 21 → �� = �� + � = 1. � + 1 = 2 → 21,22 � = 22 → �� = �� + � = 1. � + 1 = 2 → 22.23 � = 23 → �� = �� + � = 1. � + 1 = 2 → 23,24 3. Misalkan terdapat citra berukuran 30 x 30 pixel, diambil nilai pixel sesuai dengan fx yang telah dihitung. Nilai pixel tersebut ditunjukan pada Tabel 3.2. Tabel 3.2 Biner Pixel Titik pixel Nilai RGB Biner RGB Titik pixel Nilai RGB Biner RGB 0,1 R:124 G:57 B:92 R: 01111100 G: 00111001 B: 01011100 12,13 R:106 G:109 B:119 R: 01101010 G: 01101101 B: 01110111 1,2 R:45 G:54 B:50 R: 00101101 G: 00110110 B: 00110010 13,14 R:109 G:90 B:93 R: 01101101 G: 01011010 B: 01011101 2,3 R:47 G:61 B:49 R: 00101111 G: 00111101 B: 00110001 14,15 R:148 G:118 B:118 R: 10010100 G:0 1110110 B: 01110110 3,4 R:66 G:74 B:64 R: 01000010 G: 01001010 B: 01000000 15,16 R:225 G:180 B:168 R: 11100001 G: 10110100 B: 10101000 4,5 R:72 G:81 B:70 R: 01001000 G: 01010001 B: 01000110 16,17 R:223 G:179 B:160 R: 11011111 G: 10110011 B: 10100000 5,6 R:84 R: 01010100 17,18 R:233 R: 11101001 Universitas Sumatera Utara G:93 B:82 G: 01011101 B: 01010010 G:186 B:160 G: 10111010 B: 10100000 6,7 R:95 G:102 B:88 R: 01011111 G: 01100110 B: 01011000 18,19 R:141 G:142 B:122 R: 10001101 G: 10001110 B: 01111010 7,8 R:110 G:113 B:101 R: 01101110 G: 01110001 B: 01100101 19,20 R:149 G:149 B:132 R: 10010101 G: 10010101 B: 10000100 8,9 R:108 G:110 B:95 R: 01101100 G: 01101110 B: 01011111 20,21 R:155 G:155 B:139 R: 10011011 G: 10011011 B: 10001011 9,10 R:46 G:48 B:38 R: 00101110 G: 00110000 B: 00100110 21,22 R:107 G:108 B:94 R: 01101011 G: 01101100 B: 01011110 10,11 R:28 G:29 B:20 R: 00011100 G: 00011101 B: 00010100 22,23 R:30 G:34 B:24 R: 00011110 G: 00100010 B: 00011000 11.12 R:108 G:115 B:130 R: 01101100 G: 01110011 B: 10000010 23,24 R:31 G:36 B:26 R: 00011111 G: 00100100 B: 00011010 4. Kemudian sisipkan biner ciphertext pada biner pixel. Setelah biner ciphertext disisipkan ke biner pixel dari gambar, kemudian biner hasil penyisipan tersebut di ubah kembali ke desimal yang tunjukan pada Tabel 3.3. Tabel 3.3 Penyisipan Pesan Titik pixel Biner RGB Nilai RGB Titik pixel Biner RGB Nilai RGB 0,1 R: 0111110 1 G: 0011100 B: 0101110 R:125 G:56 B:92 12,13 R: 0110101 G: 0110110 B: 0111011 1 R:106 G:108 B:119 Universitas Sumatera Utara 1,2 R: 0010110 G: 0011011 B: 0011001 R:44 G:54 B:50 13,14 R: 0110110 1 G: 0101101 1 B: 0101110 1 R:109 G:91 B:93 2,3 R: 0010111 1 G: 0011110 1 B: 0011000 R:47 G:61 B:48 14,15 R: 1001010 1 G: 0111011 1 B: 0111011 1 R:149 G:119 B:119 3,4 R: 0100001 G: 0100101 B: 0100000 1 R:66 G:74 B:65 15,16 R: 1110000 1 G: 1011010 B: 1010100 R:225 G:180 B:168 4,5 R: 0100100 G: 0101000 1 B: 0100011 1 R:72 G:81 B:71 16,17 R: 1101111 1 G: 1011001 B: 1010000 R:223 G:178 B:160 5,6 R: 0101010 G: 0101110 1 B: 0101001 R:84 G:93 B:82 17,18 R: 1110100 G: 1011101 B: 1010000 R:232 G:186 B:160 6,7 R: 0101111 G: 0110011 B: 0101100 R:94 G:102 B:88 18,19 R: 1000110 1 G: 1000111 1 B: 0111101 1 R:141 G:143 B:123 7,8 R: 0110111 G: 0111000 1 B: 0110010 1 R:110 G:113 B:101 19,20 R: 1001010 1 G: 1001010 1 B: 1000010 1 R:149 G:149 B:133 8,9 R: 0110110 1 G: 0110111 B: 0101111 R:109 G:110 B:94 20,21 R: 1001101 G: 1001101 B: 1000101 1 R:154 G:154 B:139 9,10 R: 0010111 G: 0011000 1 B: 0010011 R:46 G:49 B:38 21,22 R: 0110101 1 G: 0110110 B: 0101111 R:107 G:108 B:94 10,11 R: 0001110 G: 0001110 1 B: 0001010 1 R:28 G:29 B:21 22,23 R: 0001111 1 G: 0010001 B: 0001100 1 R:31 G:34 B:25 11.12 R: 0110110 G: 0111001 R:108 G:114 23,24 R: 0001111 G: 0010010 1 R:30 G:37 Universitas Sumatera Utara B: 1000001 B:130 B: 0001101 B:26 d. Analisis Proses Extraction dengan Fungsi Linier Berikut ini proses extraction dengan fungsi linier: 1. Pilih bilangan untuk nilai m dan b. Misalkan � = 1 dan � = 1. Kemudian dilakukan perhitungan �� = �� + �. Untuk mendapatkan titik pixel yang telah disisip. Titik pixel dihitung sebanyak jumlah pixel dari gambar. 2. Kemudian pixel yang telah disisip diubah ke dalam bilangan biner seperti yang ditunjukan pada Tabel 3.4. Tabel 3.4 Pengubahan Biner Pixel Titik pixel Nilai RGB Biner RGB Titik pixel Nilai RGB Biner RGB 0,1 R:125 G:56 B:92 R: 01111101 G: 00111000 B: 01011100 12,13 R:106 G:108 B:119 R: 01101010 G: 01101100 B: 01110111 1,2 R:44 G:54 B:50 R: 00101100 G: 00110110 B: 00110010 13,14 R:109 G:91 B:93 R: 01101101 G: 01011011 B: 01011101 2,3 R:47 G:61 B:48 R: 00101111 G: 00111101 B: 00110000 14,15 R:149 G:119 B:119 R: 10010101 G: 01110111 B: 01110111 3,4 R:66 G:74 B:65 R: 01000010 G: 01001010 B: 01000001 15,16 R:225 G:180 B:168 R: 11100001 G: 10110100 B: 10101000 4,5 R:72 G:81 B:71 R: 01001000 G: 01010001 B: 01000111 16,17 R:223 G:178 B:160 R: 11011111 G: 10110010 B: 10100000 5,6 R:84 G:93 B:82 R: 01010100 G: 01011101 B: 01010010 17,18 R:232 G:186 B:160 R: 11101000 G: 10111010 B: 10100000 Universitas Sumatera Utara 6,7 R:94 G:102 B:88 R: 01011110 G: 01100110 B: 01011000 18,19 R:141 G:143 B:123 R: 10001101 G: 10001111 B: 01111011 7,8 R:110 G:113 B:101 R: 01101110 G: 01110001 B: 01100101 19,20 R:149 G:149 B:133 R: 10010101 G: 10010101 B: 10000101 8,9 R:109 G:110 B:94 R: 01101101 G: 01101110 B: 01011110 20,21 R:155 G:154 B:138 R: 10011011 G: 10011010 B: 10001010 9,10 R:46 G:49 B:38 R: 00101110 G: 00110001 B: 00100110 21,22 R:106 G:108 B:94 R: 01101010 G: 01101100 B: 01011110 10,11 R:28 G:29 B:21 R: 00011100 G: 00011101 B: 00010101 22,23 R:31 G:34 B:25 R: 00011111 G: 00100010 B: 00011001 11.12 R:108 G:114 B:130 R: 01101100 G: 01110010 B: 10000010 23,24 R:30 G:37 B:26 R: 00011110 G: 00100101 B: 00011010 3. Kemudian diambil angka terakhir dari biner pixel untuk mengetahui pesan yang telah disisip yaitu 10000011, 00010110, 10000011, 10001001, 10000011, 11111100, 10000011, 11111000, 00101010. 4. Setelah nilai biner yang disisip diperoleh, maka nilai biner tersebut diubah kedalam bentuk desimal seperti yang ditunjukan pada Tabel 3.5. Tabel 3.5 Desimal Ciphertext Biner � 1 Biner � 2 � 1 � 2 10000011 00010110 131 22 10000011 10001001 131 137 10000011 11111100 131 252 10000011 11111000 131 248 Universitas Sumatera Utara Pada biner 00101010 didapat nilai desimal yaitu 42, maka proses ekstraksi selesai.

3.2. Pemodelan Sistem