• Tidak ada hasil yang ditemukan

BAB III METODE PENELITIAN

3.2 Metode Pengumpulan Data

Penelitian ini berjenis penelitian laboratorium. Pengumpulan data dilakukan dengan mengumpulkan berbagai referensi melalui buku, jurnal nasional, dan jurnal international. Penelitian dilakukan dengan melakukan eksperimen komputer dengan menggunakan tools bahasa pemrograman.

3.3 Analisa Sistem yang Berjalan

Short Messaging Service merupakan salah satu fitur dari GSM yang dikembangkan dan distandarisasi oleh ETSI. Pada saat sebuah pesan SMS dikirim, maka pesan SMS tersebut tidak langsung dikirim ke nomor tujuan, akan tetapi terlebih dahulu dikirim ke SMS Center (SMSC) dengan prinsip Store and Forward, setelah itu baru dikirimkan kepada yang dituju. Proses pengiriman SMS dapat dilihat pada gambar dibawah ini:

26

Pengirim SMSC Penerima

Gambar 3.1 Skema Cara Kerja Pengiriman SMS.

Dengan adanya SMSC ini, status dari SMS yang dikirim akan diketahui, apakah telah sampai atau gagal diterima oleh laptop tujuan. Apabila laptop tujuan dalam keadaan aktif dan menerima SMS yang dikirim, maka laptop akan mengirim kembali pesan konfirmasi ke SMSC yang menyatakan bahwa SMS telah diterima. Kemudian SMSC mengirimkan kembali status tersebut kepada pengirim. Tetapi jika laptop tujuan dalam keadaan mati atau diluar jangkauan, SMS yang dikirimkan akan disimpan pada SMSC sampai periode validitas terpenuhi, Jika periode validitas terlewati maka SMS itu akan dihapus dari SMSC dan tidak dikirimkan ke laptop tujuan. Disamping itu juga SMSC akan mengirim pesan Informasi ke nomor pengirim yang menyatakan pesan yang dikirim belum diterima atau gagal.

3.3.1 Analisis Masalah

Pendistribusian data antar pengguna membutuhkan jaminan keamanan dimana data yang dikirim tidak dapat dibaca oleh orang lain, sehingga dibutuhkan suatu teknik untuk mengamankannya. Pengiriman pesan dengan menggunakan Short Message Service (SMS) sangat rentan disadap oleh orang lain, sehingga kerahasian pesan yang dikirim oleh pengirim pesan menjadi terancam. Jika pesan

tersebut merupakan pesan-pesan yang sangat rahasia, maka sangat berbahaya bila pesan tersebut sampai terbaca oleh orang lain yang tidak berhak. Untuk itu, dibutuhkan sebuah teknik pengaman data yang dapat menjaga kerahasiaan pesan yang dikirim, baik menjaga kerahasiaan pesan saat ditransmisikan atau saat pesan telah diterima dan disimpan oleh penerima pesan.

3.3.2 Analisis Penyelesaian Masalah

Kriptografi adalah salah satu teknik untuk mengamankan data dengan cara mengubah bentuk data menjadi bentuk yang tidak dapat dikenali sehingga pihak asing hanya dapat mengetahui isi data tersebut jika memiliki kunci deskripsi untuk mengembalikan pesan tersebut menjadi pesan aslinya.

Kriptografi terbagi menjadi dua jenis, yaitu kriptografi kunci simetris dan kriptografi kunci asimetris. Kekurangan dari algoritma simetris adalah kunci yang digunakan untuk melakukan enkripsi dan deskripsi adalah sama, sehingga proses pertukaran kunci menjadi sangat sulit dilakukan dengan aman antara pengirim pesan dan penerima pesan. Sedangkan kriptografi kunci asimtris memiliki kunci enkripsi dan kunci deskripsi yang berbeda satu dengan yang lainnya.

Kriptografi kunci simetris memiliki kemampuan proses enkripsi dan dekripsi yang cepat dan kuat, sehingga kriptografi kunci simetris sangat tepat digunakan untuk mengenkripsi pesan pada SMS, terlebih lagi jika kunci yang digunakan dibangkitkan secara acak dan memiliki panjang yang cukup. Salah satu teknik enkripsi dengan kriptografi yang paling sederhana, cepat, hemat, namun sangat kuat adalah dengan teknik XOR. Teknik XOR memiliki proses enkripsi dan dekripsi yang sangat sederhana namun sanga cepat dan hemat sumber daya

28

komputer. Walau sederhana tetapi teknik XOR sangat kuat jika digunakan pada mode operasi yang tepat.

Untuk meningkatkan keamanan dari cipher text, maka teknik XOR dapat dikombinasikan dengan mode operasi Electronic Code Book (ECB) dengan panjang blok sepanjang 128-bits. Karena panjang blok sepanjang 128-bits, maka panjang kunci yang digunakan harus sepanjang 128-bits dan dibangkitkan secara acak.

Walau kriptografi kunci simetris memiliki kelebihan dalam kecepatan, namun terdapat kekurangan pada kriptografi kunci simetris, yaitu masalah key distribution. Hal ini dikarenakan kunci untuk enkripsi dan dekripsi menggunakan kunci yang sama, dan kunci tersebut sangat rahasia. Sehingga agar penerima pesan dapat melakukan dekripsi, maka penerima pesan harus memiliki kunci simetris yang dimiliki oleh pengirim pesan, sehingga terjadi pertukaran kunci rahasia. Pertukaran ini sangat rentan terhadap penyadapan, sehingga tidak ada cara yang aman untuk mengirimkan kunci rahasia dari pengirim ke penerima pesan. Untuk mengatasi masalah ini, kunci rahasia harus diubah menjadi bentuk yang tidak lagi rahasia sehingga bisa dapat dengan aman dikirimkan ke penerima pesan, salah satu teknik yang dapat digunakan adalah dengan kriptografi kunci asimetris atau kunci publik.

Kriptografi kunci asimetris yang dikenal dengan algoritma kunci publik memiliki dua buah kunci yang berbeda dan untuk penggunaan yang berbeda.

Public key digunakan untuk proses enkripsi dan bersifat tidak rahasia sehingga dapat didistribusikan atau dikirim dengan bebas tanpa rahasia atau takut disadap.

Private key digunakan untuk proses dekripsi dan bersifat sangat rahasia. Berbeda dengan kunci simetris yang dibangkitkan oleh pengirim pesan, public key dan private key dibangkitkan oleh penerima pesan, kemudia public key dikirim kepada pengirim pesan untuk digunakan pengirim pesan untuk proses enkripsi.

Sedangkan private key tetap disimpan oleh penerima pesan untuk digunakan pada proses dekripsi. Dalam skenario ini dapat dilihat bahwa tidak terjadi pertukaran kunci rahasia, sehingga kunci rahasia yaitu private key tetap aman karena tidak pernah didistribusikan.

Kriptografi kunci asimetris dapat dimanfaatkan untuk mengenkripsi kunci simetris yang harus didistibusikan kepada penerima pesan sehingga kunci simetris yang dienkripsi dengan public key berubah ke dalam bentuk cipher key (bentuk kunci berubah menjadi bentuk yang acak dan tidak dipahami). Cipher key ini tidak rahasia dan tidak dapat digunakan untuk proses dekripsi, kecuali cipher text ini didekripsi terlebih dahulu dengan private key sehingga kembali menjadi kunci simetris. Dengan ini maka masalah key distribution telah teratasi.

digunakan hanya untuk melakukan enkripsi pesan, sehingga public key boleh dikirim dari jalur yang tidak aman, dan boleh diketahui oleh orang lain, sedangkan kunci deskripsi atau dikenal dengan private key digunakan untuk melakukan pendeskripsian cipher text atau pesan yang telah dienkripsi untuk kemudian dikembalikan menjadi pesan asli (plain text).

Salah satu algoritma kunci asimetris yang kuat dan aman adalah algoritma Elgamal. Salah satu kelebihan algoritma ini adalah plain text yang sama akan memberkan cipher text yang berbeda walau menggunakan kunci yang sama,

30

sehingga akan sngat membingungkan intruder atau penyadap. Algoritma ini yang akan digunakan pada penelitian ini untuk mengenkripsi kunci simetris sebelum dikirim ke penerima pesan.

3.3.3 Analisis Proses

Analisis penyelesaian masalah yang telah dijelaskan dapat dirangkum ke dalam diagram proses berikut ini:

Gambar 3.2 Diagram Proses Penyelesaian Masalah yang Diusulkan

Sumber: Oleh Penulis (2019)

Proses di atas terbagi menjadi dua buah area, yaitu area pengirim pesan dan area penerima pesan. Tahap pertama penerima membangkitkan sepasang

kunci yaitu public key dan private key, kemudian public key dikirimkan kepada pengirim pesan untuk digunakan mengenkripsi kunci simetris. Kemudian pengirim pesan membangkitkan kunci simetris sepanjang 128-bits secara acak dengan memberikan sebuah umpan bilangan acak. Kemudian pengirim pesan melakukan enkripsi terhadap plain text menggunakan kunci simetris dengan tekniks XOR pada mode operasi blok cipher ECB 128-bits. Hasil proses enkripsi ini menghasilkan cipher text. Kemudian kunci simetris dienkripsi menggunakan public key yang pengirim terima dari penerima pesan. Proses enkripsi kunci simetris menggunakan algoritma Elgamal sehingga dihasilkan cipher key. Plain text dan cipher key yang dihasilkan kemudian dikirimkan kepada penerima pesan.

Cipher text dan cipher key ini bersifat tidak rahasia sehingga aman jika disadap.

Penerima pesan menerima cipher text dan cipher key dari pengirim pesan.

Kemudian agar cipher text dapat didekripsi, maka penerima pesan harus mengetahui kunci simetris yang digunakan. Oleh karena itu, penerima pesan harus mendekripsi cipher key terlebih dahulu menjadi kunci simetris dengan menggunakan private key yang masih disimpan oleh penerima pesan. Proses dekripsi cipher key menggunakan algoritma Elgamal. Setelah cipher key berhasil didekripsi menjadi kunci simetris, maka cipher text kemudian didekripsi menggunakan kunci simetris dengan teknik XOR pada mode operasi blok cipher ECB 128-bits sehingga menghasilkan plain text.

Berdasarkan keterangan dari diagram proses di atas, maka diagram proses di atas terbagi menjadi 3 buah tahap proses utama, yaitu tahap pembangkitan kunci, tahap enkripsi, dan tahap dekripsi. Pada penjelasan berikut ini, akan

32

dilakukan proses perhitungan manual dari diagram proses di atas dimana plain text yang akan dienkripsi adalah:

Plain text = Hidup adalah Perjuangan Panjang = 23 karakter = 184 bits 1. Tahap Pembangkitan Kunci

Tahap pembangkitan kunci terbagi menjadi dua buah bagian, yaitu pembangkitan kunci Elgamal dan Pembangkitan kunci ECB.

a. Pembangkitan Kunci Elgamal

Proses ini bertujuan untuk membangkitkan public key dan private key, yang digunakan pada proses enkripsi dan dekripsi menggunakan algoritma Elgamal. Proses ini dilakukan oleh penerima pesan, yang kemudian public key yang dihasilkan dikirimkan kepada pengirim pesan dan private key tetap disimpan oleh penerima pesan. Proses pembangkitan kunci Elgamal sebagai berikut:

1) Pilih bilangan prima yang besar secara acak. Lebih besar akan jauh lebih aman dan lebih kuat

2) Pilih dua buah bilangan acak, yaitu g dan x. dimana dengan syarat g

< p dan 1 ≤ x ≤ p-2

3) Cari nilai y dengan rumus y = gx mod p

Kemudian penerima data memberikan kunci enkripsi yaitu Public key = (y,g,p) dan menyimpan kunci dekripsi yaitu Private key = (x.p)..

Contoh proses:

1) Bilangan prima yang dipilih p = 84401.

2) Pilih dua buah bilangan acak, yaitu g dan x. dimana dengan syarat g

< p dan 1 ≤ x ≤ p-2.

Bilangan acak g yang dipilih, g = 29325 Bilangan acak X yang dipilih, x = 82911 3) Cari nilai y dengan rumus y = gx mod p

y = gx mod p

y = 2932582911 mod 84401 y = 46791

4) Menentukan Key atau kunci

Setelah didapatkan nilai p, g, x, dan y, maka dapat dibentuk private key dan public key Dimana

Public key = (y,g,p), oleh karena itu maka:

Public key = (46791, 29325, 84401) Private key = (x.p), oleh karena itu maka:

Private key = (82911, 84401) b. Pembangkitan Kunci Simetris ECB

Kunci simetris ECB digunakan untuk proses enkripsi da dekripsi pada mode operasi blok cipher 128-bits dengan teknik XOR. Kunci ini dibangkitkan sepanjang 128-bits secara acak. Algoritma pembangkit bilangan acak tidak dibahas pada penelitian ini, sehingga praktisi dapat menggunakan algoritma pembangkit bilangan acak apapun yang

34

diinginkan. Proses ini dilakukan oleh pengirim pesan. Misal kunci simetris ECB yang berhasil dibangkitkan adalah sebagai berikut:

Kunci Simetris ECB =

010010110010011101110111010101100011001110010011010100110101 001100010111110111000010000010000000111001000001111101001100 11101000

Kemudian konversi kunci simetris ECB ke dalam bentuk heksadesimal sehingga menjadi:

Kunci Simetris ECB = 4b2777563393535317dc2080e41f4ce8 2. Tahap Enkripsi

Tahap enkripsi terbagi menjadi dua buah bagian, yaitu enkripsi plain text dan enkripsi kunci simetris ECB.

a. Enkripsi Plain text

Misal, terdapat sebuah pesan atau plain text yang sangat rahasia yang akan dikirimkan via SMS (Short Message Service), maka pesan ini harus dienkripsi terlebih dahulu agar terjaga kerahasiaannya. Andai pesan tersebut adalah:

Plain text = Hidup adalah Perjuangan Pesan tersebut memiliki:

Panjang Karakter = 23 Panjang Biner = 184

Kemudian konversi setiap karakter dari plain text ke dalam bentuk biner 8-bits, sehingga menjadi:

H = 01001000 i = 01101001 d = 01100100 u = 01110101 p = 01110000

<spasi> = 00100000 a = 01100001 d = 01100100 a = 01100001 l = 01101100 a = 01100001 h = 01101000

<spasi> = 00100000 P = 01010000 e = 01100101 r = 01110010 j = 01101010 u = 01110101 a = 01100001 n = 01101110 g = 01100111 a = 01100001 n = 01101110

36

Sehingga plain text menjadi:

Plain text =

010010000110100101100100011101010111000000100000011000010 110010001100001011011000110000101101000001000000101000001100 101011100100110101001110101011000010110111001100111011000010 1101110

Mengingat mode operasi blok cipher ECB yang dipilih beroperasi dengan panjang blok 128-bits, maka plain text dibagi ke dalam blok-blok berukuran bits, dimana jika blok terakhir panjangnya kurang dari 128-bits, maka ditambahkan bit padding ‘1’ sepanjang yang dibutuhkan sehingga panjang blok terakhir tetap 128-bits. Seperti contoh berikut ini:

Blok ke – 0

010010000110100101100100011101010111000000100000011000010 110010001100001011011000110000101101000001000000101000001100 10101110010

Blok ke – 1

011010100111010101100001011011100110011101100001011011101 111111111111111111111111111111111111111111111111111111111111 11111111111

72 bits ‘1’ di atas merupakan bit padding (bit tambahan) agar blok terakhir tetap memiliki panjang 128-bits.

Kemudian lakukan proses enkripsi untuk masing-masing blok dengan kunci simetris yang sebelumnya berhasil dibangkitkan, yaitu:

Kunci Simetris ECB = 4b2777563393535317dc2080e41f4ce8

Kemudian konversi kunci simetris ECB ke dalam bentuk biner sehingga menjadi: terhhadap kunci simetris ECB. Proses tersebut dapat dilihat pada tabel berikut:

Tabel 3.1 Proses Enkripsi Plain text dengan Teknik XOR Blok

Pesan Plain text Kunci Simetris ECB Cipher text Blok

Sumber : Oleh Penulis (2019)

38

Kedua cipher text yang dihasilkan kemudian digabungkan sehingga menjadi:

Cipher text =

000000110100111000010011001000110100001110110011001100100 011011101110110101100000100000111101000110001000100111100101 001100110100010000101010010000101100011100001010100111100100 011110110101100111010000010001111011111011111110001101111100 0001011001100010111

Kemudian cipher text dikonversi ke dalam bentuk heksadesimal sehingga menjadi:

Cipher text =

034e132343b3323776b041e8c44f299a2152163854f23dace823df7f1be0 b317

b. Enkripsi Kunci simetris ECB

Kunci simetris ECB yang dihasilkan kemudian dienkripsi dengan algoritma Elgamal menggunakan public key yang pengirim pesan peroleh dari penerima pesan. Kunci simetris ECB dienkripsi menjadi cipher key.

Public key yang diterima pengirim pesan dari penerima pesan sebagai berikut:

Public key = (46791, 29325, 84401)

Sehingga berdasarkan public key di atas diketahui:

y = 46791 g = 29325

p = 84401

Kunci simetris ECB yang berhasil dibangkitkan pengirim pesan sebagai berikut:

Kunci Simetris ECB = 4b2777563393535317dc2080e41f4ce8

Bagi kunci simetris ECB ke dalam blok-blok masing-masing terdiri dari 4 karakter heksadesimal sehingga menjadi:

Kunci Simetris ECB = 4b27 7756 3393 5353 17dc 2080 e41f 4ce8 Sehingga setiap bloknya adalah:

Blok ke - 0 = 4b27 Blok ke - 1 = 7756 Blok ke - 2 = 3393 Blok ke - 3 = 5353 Blok ke - 4 = 17dc Blok ke - 5 = 2080 Blok ke - 6 = e41f Blok ke - 7 = 4ce8

Kemudian enkripsi setiap blok tersebut dengan algoritma Elgamal dengan persamaan berikut:

a = gk mod p b = (yk)(m) mod p

Dimana k adalah bilangan acak dengan syarat 1 ≤ k ≤ p-2. Nilai k harus selalu berbeda untuk setiap blok yang dienkripsi. Proses enkripsi pada kunci simetris ECB sebagai berikut:

40

Blok ke - 0

Sub plain key = 4b27

m0 = 19239 (hasil konversi 4b27 ke dalam bentuk desimal) k = 19861

a = gk mod p = 2932519861 mod 84401 = 20028 =4e3c

b = (yk)(m) mod p = (4679119861) 19239 mod 84401 = 28226 = 6e42

Blok ke - 1

Sub plain key = 7756

m1 = 30550 (hasil konversi 7756 ke dalam bentuk desimal) k = 77425

a = gk mod p = 2932577425 mod 84401 = 4193 =1061

b = (yk)(m) mod p = (4679177425) 30550 mod 84401 = 79280 = 135b0

Blok ke - 2

Sub plain key = 3393

m2 = 13203 (hasil konversi 3393 ke dalam bentuk desimal) k = 15302

a = gk mod p = 2932515302 mod 84401 = 47511 =b997

b = (yk)(m) mod p = (4679115302) 13203 mod 84401 = 49113 = bfd9

Blok ke - 3

Sub plain key = 5353

m3 = 21331 (hasil konversi 5353 ke dalam bentuk desimal) k = 36786

a = gk mod p = 2932536786 mod 84401 = 57537 =e0c1

b = (yk)(m) mod p = (4679136786) 21331 mod 84401 = 40562 = 9e72

Blok ke - 4

Sub plain key = 17dc

m4 = 6108 (hasil konversi 17dc ke dalam bentuk desimal) k = 82573

a = gk mod p = 2932582573 mod 84401 = 56758 =ddb6

b = (yk)(m) mod p = (4679182573) 6108 mod 84401 = 19688 = 4ce8

Blok ke - 5

Sub plain key = 2080

m5 = 8320 (hasil konversi 2080 ke dalam bentuk desimal) k = 81989

a = gk mod p = 2932581989 mod 84401 = 75918 =1288e

b = (yk)(m) mod p = (4679181989) 8320 mod 84401 = 15800 = 3db8

Blok ke - 6

Sub plain key = e41f

m6 = 58399 (hasil konversi e41f ke dalam bentuk desimal) k = 74965

42

a = gk mod p = 2932574965 mod 84401 = 48344 =bcd8

b = (yk)(m) mod p = (4679174965) 58399 mod 84401 = 53682 = d1b2

Blok ke - 7

Sub plain key = 4ce8

m7 = 19688 (hasil konversi 4ce8 ke dalam bentuk desimal) k = 4343

a = gk mod p = 293254343 mod 84401 = 26415 =672f

b = (yk)(m) mod p = (467914343) 19688 mod 84401 = 82073 = 14099

Gabungkan seluruh cipher key yang berhasil diperoleh, dimana bilangan a dan b dipisah dengan tanda koma (,) kemudian setiap blok cipher key dipisah dengan tanda titik (.) sehingga menjadi seperti berikut ini:

Cipher key =

4e3c,6e42.1061,135b0.b997,bfd9.e0c1,9e72.ddb6,4ce8.1288e,3db8.bcd 8,d1b2.672f,14099.

3. Tahap Dekripsi

Proses dekripsi dilakukan oleh penerima pesan setelah penerima pesan menerima dua buah data dari pengirim pesan, yaitu cipher text dan cipher key.

Tahap proses dekripsi terbagi menjadi dua bagian, yaitu tahap dekripsi cipher key dan tahap dekripsi cipher text.

a. Dekripsi Cipher key

Tahap pertama yang harus dilakukan penerima pesan adalah melakukan ekripsi terhadap cipher text yang diperoleh. Hal ini dilakukan karena cipher text tidak dapat didekripsi tanpa adanya kunci simetris ECB. Agar penerima pesan memiliki kunci simetris ECB yang maka cipher key harus didekripsi terlebih dahulu. Penerima pesan menerima cipher key sebagai berikut:

Cipher key =

4e3c,6e42.1061,135b0.b997,bfd9.e0c1,9e72.ddb6,4ce8.1288e,3db8.bcd 8,d1b2.672f,14099.

Titik pada cipher key di atas merupakan pemisah antar blok cipher key, seperti yang ditunjukkan sebagai berikut:

Blok ke – 0 = 4e3c,6e42.

a = 4e3c dan b = 6e42.

Blok ke – 1 = 1061,135b0 a = 1061 dan b = 135b0 Blok ke – 2 = b997,bfd9 a = b997 dan b = bfd9 Blok ke – 3 = e0c1,9e72 a = e0c1 dan b = 9e72 Blok ke – 4 = ddb6,4ce8 a = ddb6 dan b = 4ce8 Blok ke – 5 = 1288e,3db8

44

a = 1288e dan b = 3db8 Blok ke – 6 = bcd8,d1b2 a = bcd8 dan b = d1b2 Blok ke – 7 = 672f,14099.

a = 672f dan b = 14099.

Proses dekripsi dilakukan terhadap setiap blok dari cipher key menggunakan private key yang masih disimpan oleh penerima pesan.

Private key yang masih disimpan adalah sebagai berikut:

Private key = (82911, 84401)

Berdasarkan private key tersebut diketahui bahwa:

x = 82911 p = 84401

Proses dekripsi dilakukan dengan persamaan sebagai berikut:

c = ap-1-x mod p m = (b)(c) mod p

Hasil proses dekripsi kemudian dikonversikan ke dalam bentuk heksadesimal. Proses dekripsi cipher key dapat dilihat pada penjelasan berikut:

Blok ke - 0

a = 4e3c = 20028 (konversi dari heksadesimal ke desimal) b = 6e42 = 28226 (konversi dari heksadesimal ke desimal) c = ap-1-x mod p = 2002884401-1-82911 mod 84401= 43780

m0 = (b)(c) mod p = (28226)(43780) mod 84401 = 19239 = 4b27

Blok ke - 1

a = 1061 = 4193 (konversi dari heksadesimal ke desimal) b = 135b0 = 79280 (konversi dari heksadesimal ke desimal) c = ap-1-x mod p = 419384401-1-82911 mod 84401= 13723

m1 = (b)(c) mod p = (79280)(13723) mod 84401 = 30550 = 7756

Blok ke - 2

a = b997 = 47511 (konversi dari heksadesimal ke desimal) b = bfd9 = 49113 (konversi dari heksadesimal ke desimal) c = ap-1-x mod p = 4751184401-1-82911 mod 84401= 37816

m2 = (b)(c) mod p = (49113)(37816) mod 84401 = 13203 = 3393

Blok ke - 3

a = e0c1 = 57537 (konversi dari heksadesimal ke desimal) b = 9e72 = 40562 (konversi dari heksadesimal ke desimal) c = ap-1-x mod p = 5753784401-1-82911 mod 84401= 77537

m3 = (b)(c) mod p = (40562)(77537) mod 84401 = 21331 = 5353

Blok ke - 4

a = ddb6 = 56758 (konversi dari heksadesimal ke desimal) b = 4ce8 = 19688 (konversi dari heksadesimal ke desimal)

46

c = ap-1-x mod p = 5675884401-1-82911 mod 84401= 36302

m4 = (b)(c) mod p = (19688)(36302) mod 84401 = 6108 = 17dc

Blok ke - 5

a = 1288e = 75918 (konversi dari heksadesimal ke desimal) b = 3db8 = 15800 (konversi dari heksadesimal ke desimal) c = ap-1-x mod p = 7591884401-1-82911 mod 84401= 67735

m5 = (b)(c) mod p = (15800)(67735) mod 84401 = 8320 = 2080

Blok ke - 6

a = bcd8 = 48344 (konversi dari heksadesimal ke desimal) b = d1b2 = 53682 (konversi dari heksadesimal ke desimal) c = ap-1-x mod p = 4834484401-1-82911 mod 84401= 52962

m6 = (b)(c) mod p = (53682)(52962) mod 84401 = 58399 = e41f

Blok ke - 7

a = 672f = 26415 (konversi dari heksadesimal ke desimal) b = 14099 = 82073 (konversi dari heksadesimal ke desimal) c = ap-1-x mod p = 2641584401-1-82911 mod 84401= 18844

m7 = (b)(c) mod p = (82073)(18844) mod 84401 = 19688 = 4ce8

Gabungkan seluruh hasil dekripsi yang diperoleh sehingga menjadi:

Kunci Simetris ECB = 4b2777563393535317dc2080e41f4ce8

b. Dekripsi Cipher text

Setelah kunci simetris ECB diperoleh melalui proses dekripsi cipher key, maka proses dekripsi cipher text dapat dilakukan. Kunci simetris ECB yang berhasil didekripsi dari cipher text sebagai berikut:

Kunci Simetris ECB = 4b2777563393535317dc2080e41f4ce8

Konversi setiap karakter dari heksadesimal apda kunci simetris ECB ke dalam bentuk biner 4 bits sebagai berikut:

4 = 100 = 0100 b = 1011 = 1011 2 = 10 = 0010 7 = 111 = 0111 7 = 111 = 0111 7 = 111 = 0111 5 = 101 = 0101 6 = 110 = 0110 3 = 11 = 0011 3 = 11 = 0011 9 = 1001 = 1001 3 = 11 = 0011 5 = 101 = 0101 3 = 11 = 0011 5 = 101 = 0101 3 = 11 = 0011

48

1 = 1 = 0001 7 = 111 = 0111 d = 1101 = 1101 c = 1100 = 1100 2 = 10 = 0010 0 = 0 = 0000 8 = 1000 = 1000 0 = 0 = 0000 e = 1110 = 1110 4 = 100 = 0100 1 = 1 = 0001 f = 1111 = 1111 4 = 100 = 0100 c = 1100 = 1100 e = 1110 = 1110 8 = 1000 = 1000

Gabungkan seluruh biner yang diperoleh sehingga menjadi:

Kunci Simetris ECB =

010010110010011101110111010101100011001110010011010100110 101001100010111110111000010000010000000111001000001111101 00110011101000

Cipher text yang diperoleh penerima pesan dari pengirim pesan adalah sebagai berikut:

Cipher text =

034e132343b3323776b041e8c44f299a2152163854f23dace823df7f1be0 b317

Konversi setiap karakter heksadesimal dari cipher text ke dalam bentuk biner 4 bits, seperti berikut ini:

0 = 0 = 0000 3 = 11 = 0011 4 = 100 = 0100 e = 1110 = 1110 1 = 1 = 0001 3 = 11 = 0011 2 = 10 = 0010 3 = 11 = 0011 4 = 100 = 0100 3 = 11 = 0011 b = 1011 = 1011 3 = 11 = 0011 3 = 11 = 0011 2 = 10 = 0010 3 = 11 = 0011 7 = 111 = 0111

50

7 = 111 = 0111 6 = 110 = 0110 b = 1011 = 1011 0 = 0 = 0000 4 = 100 = 0100 1 = 1 = 0001 e = 1110 = 1110 8 = 1000 = 1000 c = 1100 = 1100 4 = 100 = 0100 4 = 100 = 0100 f = 1111 = 1111 2 = 10 = 0010 9 = 1001 = 1001 9 = 1001 = 1001 a = 1010 = 1010 2 = 10 = 0010 1 = 1 = 0001 5 = 101 = 0101 2 = 10 = 0010 1 = 1 = 0001 6 = 110 = 0110 3 = 11 = 0011

8 = 1000 = 1000 5 = 101 = 0101 4 = 100 = 0100 f = 1111 = 1111 2 = 10 = 0010 3 = 11 = 0011 d = 1101 = 1101 a = 1010 = 1010 c = 1100 = 1100 e = 1110 = 1110 8 = 1000 = 1000 2 = 10 = 0010 3 = 11 = 0011 d = 1101 = 1101 f = 1111 = 1111 7 = 111 = 0111 f = 1111 = 1111 1 = 1 = 0001 b = 1011 = 1011 e = 1110 = 1110 0 = 0 = 0000 b = 1011 = 1011 3 = 11 = 0011

52

1 = 1 = 0001 7 = 111 = 0111

Gabungkan seluruh biner yang diperoleh sehingga menjadi:

Cipher text =

000000110100111000010011001000110100001110110011001100100 011011101110110101100000100000111101000110001000100111100 101001100110100010000101010010000101100011100001010100111 100100011110110101100111010000010001111011111011111110001 1011111000001011001100010111

Lalu lakukan bagi cipher text ke dalam blok-blok dengan panjang 128 bits sebagai berikut:

Cipher text blok ke –0 =

000000110100111000010011001000110100001110110011001100100 011011101110110101100000100000111101000110001000100111100 10100110011010

Cipher text blok ke – 1 =

001000010101001000010110001110000101010011110010001111011 010110011101000001000111101111101111111000110111110000010 11001100010111

Kemudian lakukan proses dekripsi dengan teknik XOR, seperti yang ditunjukkan pada tabel berikut:

Tabel 3.2 Proses Dekripsi Cipher text dengan Teknik XOR Blok

Pesan Cipher text Kunci Simetris ECB Plain text Blok

Gabungkan hasil dekripsi yang diperoleh sehingga plain text menjadi:

Plain text = berurutan maka abaikan, seperti berikut:

01001000 = 72 = H 01101001 = 105 = i 01100100 = 100 = d

54

01110101 = 117 = u 01110000 = 112 = p 00100000 = 32 = <spasi>

01100001 = 97 = a 01100100 = 100 = d 01100001 = 97 = a 01101100 = 108 = l 01100001 = 97 = a 01101000 = 104 = h 00100000 = 32 = <spasi>

01010000 = 80 = P 01100101 = 101 = e 01110010 = 114 = r 01101010 = 106 = j 01110101 = 117 = u 01100001 = 97 = a 01101110 = 110 = n 01100111 = 103 = g 01100001 = 97 = a 01101110 = 110 = n

Gabungkan seluruh karakter yang diperoleh sehingga menjadi:

Plain text = Hidup adalah Perjuangan

3.3.4 Analisis Kebutuhan Sistem

Beberapa hal yang dibutuhkan untuk menjalankan sistem ini adalah : 1. Hardware

a. Perangkat Komputer

Perangkat komputer yang meliputi : processor, RAM, harddisk, monitor, mouse, dan keyboard yang digunakan sebagai sistem komputer oleh aplikasi saat dijalankan dan juga digunakan untuk membangun aplikasi.

b. Modem

Modem digunakan sebagai perantara pengiriman SMS melalui aplikasi yang berhasil dibangun pada komputer. Sehingga pada modem ini lah terjadi pengiriman dan penerimaan pesan.

c. Kartu GSM

Kartu GSM diperlukan sebagai penyedia layanan SMS dari provider seperti telkomsel, indosat, atau XL.

d. Dua buah laptop

Dua buah laptop dibutuhkan sebagai pengirim dan penerima pesan dari aplikasi yang dibangun pada setiap masing-masing laptop yang mampu mengenkripsi pesan dan mendekripsi pesan yang dikirim maupun yang diterima oleh masing-masing pengguna. Kedua laptop harus menggunakan modem sebagai perantara pengirim dan penerima pesan SMS

56

2. Software

a. Sistem Operasi

Sistem operasi dibutuhakan sebagai software induk utama pada komputer. Sistem operasi yang dapat digunakan adalah Windows XP, 7, 8, dan 10. Atau juga bisa menggunakan Linux dengan berbagai varian distronya.

b. Gammu

Gammu digunakan sebagai library yang digunakan oleh aplikasi untuk melakukan pengiriman SMS. Versi gammu yang digunakan gammu 1.2.3 c. XAMPP

Sebuah aplikasi paket yang di dalamnya terdapat software PHP dan DBMS MySQL. PHP digunakan untuk membangun aplikasi yang berbasis web, sedangkan DBMS MySQL digunakan sebagai database yang akan menampung data-data pengiriman dan penerimaan pesan SMS.

d. Text Editor

Text editor digunakan untuk mengetikkan source code dari aplikasi atau pengkodingan dari aplikasi yang akan dibangun.

e. Browser

Browser digunakan untuk menjalankan aplikasi yang berbasis web.

Dikarenakan aplikasi yang akan dibangun merupakan jenis aplikasi berbasis web, maka sebuah browser dibutuhkan untuk menjalankan aplikasi tersebut. Browser yang dapat digunakan adalah Mozilla Firefox, Google Chrome, Opera Mini, dan berbagai jenis browser lainnya.

3.4 Rancangan Penelitian

Rancangan penelitian dilakukan terhadap 3 objek, yaitu rancangan sistem, rancangan database, rancangan interface, dan flowchart proses.

3.4.1 Rancangan Sistem

Pemodelan sistem yang akan diberikan dalam bentuk diagram konteks dan DFD (Data Flow Diagram).

1. Diagram Konteks

Berikut merupakan diagram konteks dari sistem yang akan dibangun:

Gambar 3.3 Diagram Konteks dari Sistem

Sumber: Oleh Penulis (2019)

Pada diagram di atas, pengirim dapat memberikan input berupa plain text, nomor seluler, public key, kunci simetris ECB, dan umpan ke dalam sistem dan akan mendapatkan output dari sistem berupa kunci simetris ECB dan public key. sedangkan penerima pesan memberikan input cipher text, cipher key, private key, dan bilangan prima p ke dalam sistem, dan menerima output berupa plain text, cipher text, cipher key, dan private key dari sistem.

2. Data Flow Diagram

Berikut merupakan DFD Level 1 dari sistem yang dirancang:

58

Gambar 3.4 DFD Level 1 dari Sistem

Sumber: Oleh Penulis (2019)

Pada gambar diagram DFD diatas merupakan penjabaran dari diagram konteks dari sistem agar alur data dan proses yang ada menjadi lebih jelas dan mudah dipahami.

Pada DFD tersebut, terdapat tujuh buah proses, yaitu proses 1.0 (generate key Elgamal) yang berfungsi melakukan proses pembangkitan private key, dan juga public key. Pembangkitan kunci dilakukan oleh penerima, dengan memberikan bilangan prima p ke dalam proses, dan proses memberikan output berupa private key yang dikirim ke penerima, dan public key yang dikirim ke pengirim.

Proses 2.0 (Generate Key ECB 128 Bits) yang berfungsi untuk membangkitkan sebuah kunci sepanjang 128 bits secara acak. Proses ini

dilakukan oleh pengirim pesan dengan menginputkan sebuah umpan bilangan

dilakukan oleh pengirim pesan dengan menginputkan sebuah umpan bilangan

Dokumen terkait