12
IJCCS, Vol. 5 No. 1, Jan, 2011 Implementasi Protokol Diffie-Hellman Dan Algoritma RC4 Untuk Keamanan Pesan SMS Decky Hendarsyah dan Retantyo Wardoyo AbstrackSMS now becomes such a need for cellular phone users to communicate to other people. But the cellular phone users do not realize that the sent messages could be intercepted or changed by an unwanted party. Therefore it requires a security in sending an SMS message which is called cryptography. Given limited resources on cellular phone, then the implementation of symmetric cryptographic technique is suitable to meet the security needs of an SMS message. In symmetric cryptography, there is a symmetric key for encryption and decryption process. In order to secure exchange of symmetric keys in public channels is required of a protocol for key exchange. This research implements RC4 symmetric cryptography to encrypt and decrypt messages, while for key exchange is using Diffie-Hellman protocol. In this research, there are modifications to the Diffie- Hellman protocol that is the calculation of the public key and symmetric key to include cellular phone number as authentication. Whereas on a modified RC4 is the key where there is a combination with cellular phone number as authentication and key randomization, and then there are also modifications to the pseudorandom byte generator, encryption and decryption of the RC4 algorithm. The system is constructed using the Java programming language in the platform Micro Edition (J2ME) based MIDP 2.0 and CLDC 1.0. The research found that with the cellular phone number as authentication, key, encryption and decryption process automatically it is able to maintain confidentiality, data integrity, authentication and non- repudiation to the message. Keywords— Diffie-Hellman, Key exchange, RC4, SMS Secure, Symmetric Cryptography. I. PENDAHULUAN erkembangan teknologi dan komunikasi tumbuh dengan cepat, sehingga mengubah sistem komunikasi analog menjadi digital. Seiring dengan kemajuan sosial ekonomi masyarakat menuntut mobilitas yang semakin D. Hendarsyah, Magister Ilmu Komputer, Fakultas Matematika dan Ilmu Pengetahuan Alam,Universitas Gadjah Mada, Yogyakarta e-mail : [email protected] R. Wardoyo, Magister Ilmu Komputer, Fakultas Matematika dan Ilmu Pengetahuan Alam,Universitas Gadjah Mada, Yogyakarta e-mail : [email protected] tinggi. Kemudian dilandasi dengan adanya kendala dalam pengembangan sistem komunikasi jaringan kabel akibat kondisi alam, maka dikembangkan teknologi seluler atau yang disebut dengan telepon seluler (handphone). Telepon seluler menyediakan media layanan komunikasi yang beragam dan salah satunya adalah SMS (Short Message Service). SMS diartikan dalam bahasa Indonesia sebagai layanan pesan singkat. SMS merupakan suatu layanan yang memungkinkan pengguna telepon seluler dapat mengirim atau menerima pesan singkat kepada atau dari pengguna telepon seluler yang lain dengan cepat dan biaya yang relatif kecil. Sewaktu proses pengiriman pesan pada SMS sangat besar kemungkinan celah keamanan, dimana pesan yang dikirim dapat disadap atau disusupi oleh pihak-pihak yang tidak diinginkan. Salah satu upaya pengamanan pesan SMS yang dapat dilakukan adalah dengan menggunakan kriptografi. Kemajuan teknologi yang sangat pesat telah menciptakan telepon seluler yang memiliki memory cukup besar sehingga memungkinkan untuk melakukan implementasi kriptografi pada SMS. Akan tetapi telepon seluler secara umum tidak memiliki processor seperti processor pada PC (Personal Computer) yang mempunyai kecepatan tinggi, sehingga membatasi aplikasi yang mempunyai beban komputasi tinggi dan proses terlalu komplek pada telepon seluler. Dengan keterbatasan sumber daya pada telepon seluler, maka implementasi teknik kriptografi simetrik sangat cocok untuk memenuhi kebutuhan keamanan pesan SMS, seperti algoritma RC4. Algoritma RC4 memiliki suatu kunci simetri untuk melakukan enkripsi dan dekripsi. Dalam pendistribusian kunci RC4 supaya lebih aman melalui jalur publik maka dibutuhkan suatu algoritma pertukaran kunci simetris yang tidak mempunyai trafik pesan yang tinggi yaitu menggunakan algoritma pertukaran kunci Diffie-Hellman. Algoritma ini sering juga disebut dengan protokol Diffie-Hellman atau Diffie-Hellman key exchange yang berguna untuk mempertukarkan kunci sesi (simetri). Tetapi protokol Diffie-Hellman dan algoritma RC4 P 14

Implementasi Protokol Diffie-Hellman Dan Algoritma RC4 ...dalam makalah Diffie dan Hellman yang didefinisikan sebagai kriptografi kunci publik dan biasanya disebut sebagai Diffie-Hellman

  • Upload
    others

  • View
    21

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Implementasi Protokol Diffie-Hellman Dan Algoritma RC4 ...dalam makalah Diffie dan Hellman yang didefinisikan sebagai kriptografi kunci publik dan biasanya disebut sebagai Diffie-Hellman

IJCCS, Vol. 5 No. 1, Jan, 2011

Implementasi Protokol Diffie-Hellman Dan AlgoritmaRC4 Untuk Keamanan Pesan SMS

Decky Hendarsyah dan Retantyo Wardoyo

Abstrack— SMS now becomes such a needfor cellular phone users to communicate to otherpeople. But the cellular phone users do not realizethat the sent messages could be intercepted orchanged by an unwanted party. Therefore it requires asecurity in sending an SMS message which is calledcryptography. Given limited resources on cellularphone, then the implementation of symmetriccryptographic technique is suitable to meet thesecurity needs of an SMS message. In symmetriccryptography, there is a symmetric key for encryptionand decryption process. In order to secure exchangeof symmetric keys in public channels is required of aprotocol for key exchange.

This research implements RC4 symmetriccryptography to encrypt and decrypt messages, whilefor key exchange is using Diffie-Hellman protocol. Inthis research, there are modifications to the Diffie-Hellman protocol that is the calculation of the publickey and symmetric key to include cellular phonenumber as authentication. Whereas on a modifiedRC4 is the key where there is a combination withcellular phone number as authentication and keyrandomization, and then there are also modificationsto the pseudorandom byte generator, encryption anddecryption of the RC4 algorithm. The system isconstructed using the Java programming language inthe platform Micro Edition (J2ME) based MIDP 2.0and CLDC 1.0.

The research found that with the cellular phonenumber as authentication, key, encryption anddecryption process automatically it is able to maintainconfidentiality, data integrity, authentication and non-repudiation to the message.

Keywords— Diffie-Hellman, Key exchange, RC4,SMS Secure, Symmetric Cryptography.

I. PENDAHULUAN

erkembangan teknologi dan komunikasitumbuh dengan cepat, sehingga mengubah

sistem komunikasi analog menjadi digital.Seiring dengan kemajuan sosial ekonomimasyarakat menuntut mobilitas yang semakin

D. Hendarsyah, Magister Ilmu Komputer, Fakultas Matematikadan Ilmu Pengetahuan Alam,Universitas Gadjah Mada, Yogyakartae-mail : [email protected]

R. Wardoyo, Magister Ilmu Komputer, Fakultas Matematika danIlmu Pengetahuan Alam,Universitas Gadjah Mada, Yogyakartae-mail : [email protected]

tinggi. Kemudian dilandasi dengan adanyakendala dalam pengembangan sistem komunikasijaringan kabel akibat kondisi alam, makadikembangkan teknologi seluler atau yangdisebut dengan telepon seluler (handphone).

Telepon seluler menyediakan medialayanan komunikasi yang beragam dan salahsatunya adalah SMS (Short Message Service).SMS diartikan dalam bahasa Indonesia sebagailayanan pesan singkat. SMS merupakan suatulayanan yang memungkinkan pengguna teleponseluler dapat mengirim atau menerima pesansingkat kepada atau dari pengguna telepon seluleryang lain dengan cepat dan biaya yang relatifkecil.

Sewaktu proses pengiriman pesan padaSMS sangat besar kemungkinan celah keamanan,dimana pesan yang dikirim dapat disadap ataudisusupi oleh pihak-pihak yang tidak diinginkan.Salah satu upaya pengamanan pesan SMS yangdapat dilakukan adalah dengan menggunakankriptografi.

Kemajuan teknologi yang sangat pesattelah menciptakan telepon seluler yang memilikimemory cukup besar sehingga memungkinkanuntuk melakukan implementasi kriptografi padaSMS. Akan tetapi telepon seluler secara umumtidak memiliki processor seperti processor padaPC (Personal Computer) yang mempunyaikecepatan tinggi, sehingga membatasi aplikasiyang mempunyai beban komputasi tinggi danproses terlalu komplek pada telepon seluler.

Dengan keterbatasan sumber daya padatelepon seluler, maka implementasi teknikkriptografi simetrik sangat cocok untukmemenuhi kebutuhan keamanan pesan SMS,seperti algoritma RC4. Algoritma RC4 memilikisuatu kunci simetri untuk melakukan enkripsi dandekripsi. Dalam pendistribusian kunci RC4supaya lebih aman melalui jalur publik makadibutuhkan suatu algoritma pertukaran kuncisimetris yang tidak mempunyai trafik pesan yangtinggi yaitu menggunakan algoritma pertukarankunci Diffie-Hellman. Algoritma ini sering jugadisebut dengan protokol Diffie-Hellman atauDiffie-Hellman key exchange yang berguna untukmempertukarkan kunci sesi (simetri). Tetapiprotokol Diffie-Hellman dan algoritma RC4

P

14

Page 2: Implementasi Protokol Diffie-Hellman Dan Algoritma RC4 ...dalam makalah Diffie dan Hellman yang didefinisikan sebagai kriptografi kunci publik dan biasanya disebut sebagai Diffie-Hellman

D. Hendarsyah, Implementasi Protokol Diffie-Hellman

rentan terhadap serangan, untuk itu perludilakukan modifikasi untuk mengatasi serangantersebut.

Dengan demikian untuk menjagakeamanan pesan SMS agar tidak dapat dibacaoleh pihak yang tidak diinginkan makadiperlukan suatu sistem kriptografi. Dalammenemukan suatu sistem kriptografi yangmampu mengamankan pesan SMS dan dapatbekerja di telepon seluler yang memiliki sumberdaya terbatas maka perlu dilakukan suatupenelitian mengenai implementasi modifikasiprotokol Diffie-Hellman dan modifikasialgoritma RC4. Penelitian ini akan fokus padaproses pertukaran kunci, enkripsi dan dekripsipesan SMS.

II. KONSEP KEAMANAN

Menurut Bishop [1], terdapat tigakomponen dasar sebagai pertimbangan dalamperancangan dan pembahasan sistem keamanandiantaranya adalah sebagai berikut: Confidentiality adalah penyembunyian

informasi atau sumber daya yang berkaitandengan pencegahan akan pengaksesanterhadap informasi atau sumber daya yangdilakukan oleh pihak yang tidak berhak.

Integrity merupakan keandalan data atausumber daya dan biasanya dirumuskan untukmencegah perubahan yang tidak sah.Integritas mencakup integritas data (isi dariinformasi) dan integritas asli (sumber data,sering disebut otentikasi). Dengan demikianintegrity berkaitan dengan pencegahanmodifikasi informasi yang dilakukan olehpihak yang tidak berhak.

Availability merupakan kemampuan untukmenggunakan informasi atau sumber dayayang diinginkan. Availability adalah aspekyang penting dalam mendesain sistem karenasuatu sistem yang tidak memiliki availabilitysama buruknya dengan tidak ada sistem samasekali. Availability dapat melakukanpencegahan akan penguasaan informasi atausumber daya oleh pihak yang tidak berhak.

III. TUJUAN KRIPTOGRAFI

Dari beberapa tujuan keamananinformasi terdapat empat kerangka tujuan darikriptografi diantaranya sebagai berikut [11] :1. Confidentiality (kerahasiaan) adalah suatu

layanan yang digunakan untuk menjaga isi

informasi dari pihak yang tidak berwenanguntuk memilikinya.

2. Data integrity (integritas data) adalah suatulayanan yang menjamin bahwa pesan masihasli atau belum pernah dimanipulasi selamapengiriman.

3. Authentication (otentikasi) adalah suatulayanan untuk mengidentifikasi kebenaranpihak-pihak yang berkomunikasi (userauthentication) dan mengidentifikasikebenaran sumber pesan (data originauthentication).

4. Non-repudiation (penyangkalan) adalahsuatu layanan untuk mencegah entitas yangberkomunikasi melakukan penyangkalan,yaitu pengirim pesan menyangkal telahmelakukan pengiriman pesan atau penerimapesan menyangkal telah menerima pesan.

IV. PROTOKOL DIFFIE-HELLMAN (DIFFIE-HELLMAN KEY EXCHANGE)

Stallings [17], menerangkan bahwaalgoritma kunci publik diterbitkan pertama kalidalam makalah Diffie dan Hellman yangdidefinisikan sebagai kriptografi kunci publik danbiasanya disebut sebagai Diffie-Hellman KeyExchange (pertukaran kunci) atau ProtokolDiffie-Hellman. Tujuan dari algoritma ini adalahuntuk memungkinkan dua pengguna salingbertukar kunci secara aman, kemudian dapatdigunakan untuk enkripsi dan dekripsi pesanberikutnya. Algoritma itu sendiri terbatas padapertukaran nilai-nilai rahasia seperti yang terlihatpada Gambar 1.

Gambar 1. Skema algoritma protokol Diffie-Hellman (Stallings, 2005)

15

Page 3: Implementasi Protokol Diffie-Hellman Dan Algoritma RC4 ...dalam makalah Diffie dan Hellman yang didefinisikan sebagai kriptografi kunci publik dan biasanya disebut sebagai Diffie-Hellman

IJCCS, Vol. 5 No. 1, Jan, 2011

Skema algoritma protokol Diffie-Hellman pada Gambar 1. terdapat dua bilanganyang telah disepakati dan diketahui publik yaitusebuah bilangan prima q dan sebuah bilangan yang merupakan akar primitif dari q. Misalkanpengguna A dan B ingin bertukar kunci.Pengguna A memilih bilangan acak XA<q danmenghitung YA = XA mod q. Demikian pula,pengguna B secara bebas memilih bilangan bulatacak XB<q dan menghitung YB = XB mod q.Masing-masing pihak menyimpan nilai privat XA

dan XB. Pengguna A memberikan nilai publik YA

kepada pengguna B dan sebaliknya pengguna Bmemberikan nilai publik YB kepada pengguna A.Kemudian pengguna A menghitung kunci K =(YB) XA mod q dan pengguna B menghitungkunci K = (YA) XB mod q. Kedua perhitungantersebut menghasilkan kunci yang sama.

Stallings juga menjelaskan bahwaprotokol Diffie-Hellman memiliki kelemahansewaktu pertukaran kunci sehingga terjadi suatuserangan yang disebut dengan Man in the MiddleAttack. Serangan tersebut karena tidak adanyaotentikasi dari para pengguna. Celah ini dapatdiatasi dengan penggunaan tanda tangan digitaldan sertifikat kunci publik.

V.ALGORITMA RC4

Schneier [15], menyatakan bahwa RC4adalah suatu variable kunci stream cipher yangdikembangkan pada tahun 1987 oleh Ron Rivestuntuk RSA Data Security, Inc. Selama tujuhtahun algoritma itu dirahasiakan karena adanyasuatu perjanjian untuk menjaga kerahasiaanya.Pada bulan September 1994 seseorang telahmengirimkan source code RC4 ke milisCypherpunks. Dengan cepat source code tersebutmenyebar ke newsgroup Usenet yaitu sci.cryptdan Internet melalui situs-situs ftp di seluruhdunia. Kemudian RSA Data Security, Inc.mencoba menarik source code tersebut denganmengklaim bahwa source code tersebut masihmerupakan rahasia dagang mereka meskipun itutelah tersebar ke publik, tetapi itu sudahterlambat. Sejak itulah algoritma RC4 dibahasdan dibedah di Usenet, didistribusikan dikonferensi dan diajarkan di kursus kriptografi.

Menurut Stallings [17], RC4 telahdigunakan dalam SSL/TLS (Secure SocketLayer/Transport Layer Security) yang merupakanstandar yang telah ditetapkan untuk komunikasiantara Web browser dan server. RC4 jugadigunakan dalam protokol WEP (WiredEquivalent Privacy) dan yang lebih baru yaitu

pada protokol WiFi Protected Access (WPA)yang merupakan bagian dari standar WirelessLAN IEEE 802.11. RC4 adalah algoritma yangsangat sederhana dan cukup mudah untukmenjelaskan. Sebuah variabel kunci yangpanjangnya 1 sampai dengan 256 byte (8 sampaidengan 2.048 bit) digunakan untukmenginisialisasi 256 byte larik S, dengan elemenS[0], S[1 ], ..., S[255]. Setiap larik S berisipermutasi dari semua angka 8-bit mulai dari 0sampai 255. Untuk enkripsi dan dekripsi, sebuahbyte k (lihat Gambar 2.) dihasilkan dari larik Sdengan memilih salah satu byte dari 255 bytesecara sistematis. Karena setiap nilai k dihasilkandari nilai larik S yang dipermutasi.

Gambar 2. Skema stream cipher RC4 (Stallings,2005)

Untuk memulai inisialisasi larik S, makaditetapkan nilai larik S sama dengan nilai dari 0hingga 255 dalam urutan menaik yaitu; S[0]=0,S[1]=1, ..., S[255]=255. Kemudian diciptakansebuah larik sementara yaitu larik T. Jika panjangkunci K adalah 256 byte, maka elemen Kditransfer ke elemen T. Jika tidak, tergantungdengan panjang kunci (keylen), maka elemenpertama dari T disalin dari elemen K dankemudian diulangi sebanyak yang diperlukanuntuk mengisi elemen T. Operasi tersebut dapatdiringkas sebagai berikut:

for i = 0 to 255 doS[i] = i;T[i] = K[i mod keylen];Kemudian dilakukan permutasi larik S

dengan menggunakan elemen larik T untukmenghasilkan permutasi awal larik S. Inimelibatkan mulai dari S[0] hingga S[255] danuntuk setiap larik S[i] menukar S[i] dengan bytelainnya menurut skema larik S yang ditentukanoleh T[i] seperti ringkasan dibawah ini:

j = 0;for i = 0 to 255 do

j = (j + S[i] + T[i]) mod 256;Swap (S[i], S[j]);

16

Page 4: Implementasi Protokol Diffie-Hellman Dan Algoritma RC4 ...dalam makalah Diffie dan Hellman yang didefinisikan sebagai kriptografi kunci publik dan biasanya disebut sebagai Diffie-Hellman

D. Hendarsyah, Implementasi Protokol Diffie-Hellman

Karena operasi di atas adalah menukar letak ataupermutasi maka nilai dari larik S masih tetapangka 0 sampai 255.

Setelah larik S diinisialisasi, maka kunciK tidak digunakan lagi. Kemudian dilakukanstream generation yang mencakup perputaransemua elemen S[i]. Untuk setiap elemen S[i],menukar S[i] dengan byte larik S lainnyaberdasarkan skema yang telah ditentukan. SetelahS[255] tercapai, proses berlanjut dan dimulai lagidari S[0]:

i, j = 0;while (true)

i = (i + 1) mod 256;j = (j + S[i]) mod 256;Swap (S[i], S[j]);t = (S[i] + S[j]) mod 256;k = S[t];Untuk mengenkripsi, nilai k diXORkan

dengan byte plainteks. Sedangkan untuk dekripsi,XORkan nilai k dengan byte cipherteks. Daripenjelasan algoritma di atas dapat diilustrasikanseperti yang terlihat pada Gambar 3.

Gambar 3. Pseudorandom byte generator RC4(Stallings, 2005)

VI. SHORT MESSAGE SERVICE (SMS)

Short Message Service (SMS) adalahlayanan dasar yang memungkinkan pertukaranpesan teks singkat antara pelanggan. Pertama kalipesan teks singkat diyakini telah ditransfer padatahun 1992 melalui saluran sinyal jaringan GSMEropa. Karena ini sukses, maka penggunaan SMStelah menjadi subjek pertumbuhan yang luarbiasa. SMS memungkinkan pengguna untukbertukar pesan yang berisi teks singkat. Pesan-pesan ini dapat dikirim dari GSM/UMTSperangkat mobile tetapi juga dari berbagaiperangkat lain seperti Internet, telex, danfaksimili. SMS adalah teknologi yang sangatmatang didukung oleh 100% dari handset GSM

dan oleh sebagian besar jaringan GSM di seluruhdunia [2].

VI.I STRUKTUR PESAN

Bodic [2], menerangkan bahwa sebuahpesan terdiri dari teks atau unsur-unsur sepertigambar, melodi dan lain-lain. Untuk keperluantransportasi dan karena keterbatasan pada lapisantransfer, maka aplikasi membagi pesan menjadibeberapa bagian yang disebut dengan segmen.Sebuah segmen pesan memiliki ukuran yangterbatas. Dalam rangka untuk menyampaikansejumlah data, beberapa segmen pesan dapatdikombinasikan menjadi pesan yangdigabungkan (concatenated). Penggabunganpesan tersebut ditangani di lapisan aplikasi.Supaya dapat diangkut, pesan segmen perludipetakan ke sebuah TPDU di lapisan transferseperti Gambar 4.

Gambar 4. Struktur pesan (Bodic, 2005)

Sebuah segmen pesan dikaitkan dengansejumlah parameter. Parameter ini menunjukkanjenis pesan, kelas, kelompok coding, dan lain-lain. Selain itu, parameter juga mengandung isipesan yang disediakan sendiri oleh pelanggan,penyedia konten, atau konten yang dihasilkansecara otomatis oleh sebuah mesin.

VI.II TRANSPORT PROTOCOL DATA UNIT (TPDU)

TPDU melaksanakan setiap transaksiyang dilakukan antara SME dan SMSC padalapisan transfer. Struktur dari TPDU dapat dilihatseperti pada Gambar 5 [2].

17

Page 5: Implementasi Protokol Diffie-Hellman Dan Algoritma RC4 ...dalam makalah Diffie dan Hellman yang didefinisikan sebagai kriptografi kunci publik dan biasanya disebut sebagai Diffie-Hellman

IJCCS, Vol. 5 No. 1, Jan, 2011

Gambar 5. Struktur TPDU (Bodic, 2005)

VI.III SKEMA KODE TEKS

Bodic [2], menerangkan bahwa teksmerupakan bagian dari pesan yang bisadikodekan menurut beberapa abjad teks. Duaskema pengkodean teks yang dapat digunakandalam SMS adalah GSM 7-bit alfabet standar danUniversal Character Set (UCS2). Sedangkanjumlah teks 140 karakter yang terdapat dalamsegmen pesan merupakan skema kode 8-bit.Universal Character Set (UCS2) digunakanuntuk pengkodean kompleks set karakter non-Latin (16-bit) seperti Cina dan Arab.

VII.RANCANGAN SISTEM

Rancangan sistem adalah suatu gambarandan pembuatan sketsa atau pengaturan daribeberapa elemen yang terpisah yang disatukan kedalam satu kesatuan yang utuh. Dalam sistemyang akan dibangun, secara umum memiliki duabuah rancangan yaitu rancangan pertukaran kunci(Gambar 6.) dan rancangan enkripsi dan dekripsipesan (Gambar 8.).

Gambar 6. merupakan rancanganpertukaran kunci berbasis SMS. Algoritmapertukaran kunci yang digunakan dalam sistemini adalah algoritma pertukaran kunci Diffie-Hellman, dimana terdapat modifikasi padaperhitungan kunci publik dan kunci sesi darialgoritma tersebut (Gambar 7.). Tujuanmodifikasi adalah untuk mengatasi komputasiyang besar dan tidak adanya otentikasi dariperhitungan protokol Diffie-Hellman yang asli.

Gambar 6. dapat dijelaskan bahwa user Amenulis kunci private (XA) dimana nilainyaditentukan oleh user A dan memiliki batasanmulai dari 0 sampai 999999999. Kemudiansistem melakukan perhitungan kunci publik A(YA), tetapi sebelumnya terlebih dahulu kunciprivate (XA) disamarkan (ZA = XA mod p) olehsistem tujuannya supaya nilai kunci private (XA)yang besar dapat diperkecil. Pada prosespenyamaran nilai kunci private A (ZA) terdapatvariabel p yang nilainya adalah bilangan asli danharus kecil dari nilai q. Pada Gambar 7.(b) dapatdilihat bahwa terdapat juga variabel α dan qdimana nilainya adalah bilangan prima, nilai αharus kecil dari nilai q. Setelah dilakukanbeberapa kali percobaan pada pemrogramanmaka didapat nilai q maksimal 19, nilai pmaksimal 16 dan nilai α maksimal harus kecildari nilai q. Nilai α, p dan q ditentukan atau disetpada sistem.

Setelah kunci private A disamarkannilainya (ZA) oleh sistem maka dilakukanperhitungan kunci publik A (YA = αZA mod q).Kemudian kunci publik A disamarkan (YA

1) olehsistem dengan cara mengkombinasikan dengannomor HP user A (YA

1 = YA*HPA*VA) dimananilai nomor HP user A diambil dari setting nomorHP yang telah disimpan pada HP, setelah itukunci publik samar A (YA

1) dibalik posisinya(YA

1 = Balik(YA1)) oleh sistem. HPA digunakan

untuk otentikasi kunci publik dimana nilainyadiambil 9 digit sebelah kanan dari nomor HP userA dengan alasan nomor telepon seluler GSM diIndonesia yang terpendek adalah 10 digit ketikanomor telepon seluler tersebut diawali denganangka 0 dan 12 digit ketika diawali dengan +62(kode negara Indonesia). Jika diambil 10 digitsebelah kanan maka digit pertama pemenggalanakan terjadi perbedaan yaitu angka 0 atau angka2. Sedangkan variabel VA tujuannya untuk lebihmenyamarkan nilai kunci publik A (YA) dimananilainya diambil 2 digit sebelah kiri dari nilaiHPA. Alasan diambil 2 digit sebelah kiri dari nilaiHPA adalah untuk menghindari kemungkinannilai V menjadi nol. Karena nilai HP tidak

1

A AGambar 6. Rancangan pertukaran kunci

8

Page 6: Implementasi Protokol Diffie-Hellman Dan Algoritma RC4 ...dalam makalah Diffie dan Hellman yang didefinisikan sebagai kriptografi kunci publik dan biasanya disebut sebagai Diffie-Hellman

D. Hendarsyah, Implementasi Protokol Diffie-Hellman

diawali oleh angka nol, tetapi jika diambildiposisi tengah atau posisi kanan dari nilai HPA

ada kemungkinan nilai VA menjadi nol sehinggaakan menghasilkan nilai nol pada perhitungankunci publik samar A (YA

1). Sebagai contoh nilaiHPA = 324500500 jika diambil 2 digit sebelahkanan maka akan didapat nilai stringnya 00 danjika dikonversi ke integer maka nilainya menjadi0.

Setelah dilakukan penyamaran kuncipublik A (YA

1) oleh sistem maka sistem akanmenampilkan hasil kunci publik samar A (YA

1).Kemudian user A memasukan nomor HP user Bsebagai nomor tujuan pengiriman kunci publiksamar A. Setelah itu sistem mengirim kuncipublik samar A (YA

1) ke nomor HP user Bmelalui SMS Center Operator.

Kemudian sistem user B menerima SMSmasuk berupa kunci publik samar A (YA

1).Setelah itu user B membuka kotak SMS masukdan sistem menampilkan kunci publik samar A(YA

1). Kemudian user B memasukan ataumenulis kunci private B (XB) dimana batasannilainya adalah mulai dari 0 sampai 999999999.Kemudian sistem melakukan penyamaran kunciprivate B (ZB = XB mod p), kunci private samarB (ZB) nantinya akan digunakan untukperhitungan kunci sesi K oleh sistem, dimananilai p dan q yang digunakan pada perhitungankunci private B (ZB) dan perhitungan kunci sesiK sama nilainya dengan nilai p dan q waktumenyamarkan kunci private A (ZA) danperhitungan kunci publik A (YA).

Sebelum kunci sesi K dihitung makakunci publik samar A (YA

1) dikembalikan dulumenjadi kunci publik A (YA) oleh sistem dengancara membalikan posisi kunci publik samar A(YA

1 = Balik(YA1). Kemudian sistem

mengkombinasikan kembali kunci publik samarA (YA

1) yang telah dibalikan posisinya dengannomor HP user A (YA = YA

1/HPA/VA), dimananomor HP user A nilainya diambil dari nomorHP pengirim sewaktu SMS masuk. Sedangkannilai HPA diambil 9 digit dari nomor HP user Adan nilai VA diambil 2 digit dari nilai HPA.

Setelah kunci publik A (YA) yang aslitelah dikembalikan maka dilakukanpenggabungan nomor HP (HPG=HPA+HPB) olehsistem tujuannya supaya nilai penggabungan HP(HPG) dapat digunakan untuk perhitungan kuncisesi sekaligus sebagai otentikasi dari perhitungankunci sesi K. Setelah didapat nilai daripenggabungan HP (HPG) maka sistemmelakukan perhitungan kunci sesi K(K=((((YA)ZB mod q)*E*F) mod G)+F). Pada

perhitungan kunci sesi K terdapat variabel Edimana nilainya diambil 2 digit sebelah kiri darinilai HPG tujuannya supaya tidak menghasilkannilai nol sama halnya waktu menentukan nilaiVA. Kemudian terdapat juga variabel F dimananilainya adalah gabungan antara 1 digit awal dan1 digit akhir dari nilai HPG yang tujuannya untukmembedakan dengan nilai variabel E danmenghindari nilai nol. Variabel E dan Fdigunakan untuk memperbesar hasil perhitungankunci sesi asli ((YA)ZB mod q). Kemudian jugaterdapat variabel G dimana nilainya diambilsebanyak N digit dari nilai HPG. Variabel Nnilainya diambil 1 digit awal dari nilai HPG, jikanilai N<3 atau N>5 maka nilai N diset menjadi 4pada sistem selain itu nilai N sama nilainyadengan 1 digit awal dari nilai HPG. Tujuan dariadanya variabel G adalah untuk membatasi hasilperkalian ((YA)ZB mod q)*E*F supaya tidakterlalu besar yaitu dengan cara ((YA)ZB modq)*E*F) mod G. Karena kunci sesi K yang akandigunakan pada proses enkripsi dan dekripsimempunyai nilai maksimal 999999. Kemudianterdapat penambahan variabel F pada akhirperhitungan kunci sesi K, tujuannya untukmenjaga supaya hasil perhitungan kunci sesi Ktidak menghasilkan nilai nol. Karena sewaktumelakukan perhitungan ((YA)ZB mod q)*E*F)mod G ada kemungkinan menghasilkan nilai nol.Setelah dilakukan perhitungan kunci sesi K makasistem akan menampilkan kunci sesi hasilpertukaran dengan user A yang akan digunakanoleh user B untuk proses enkripsi dan dekripsipesan SMS berikutnya.

Setelah user B mendapatkan kunci sesi Kmaka user B melakukan hal yang sama sepertiyang dilakukan user A sehingga nantinya setelahpengiriman kunci publik samar B (YB

1) dansistem melakukan perhitungan kunci sesi K makauser A akan mendapatkan nilai kunci sesi K yangsama dengan user B seperti yang digambarkanpada Gambar 7.(b).

Pada sistem yang akan dibangun harusterdapat suatu port untuk komunikasi(pengiriman dan penerimaan) SMS. Dimana nilaiport tersebut harus sama waktu pengiriman danpenerimaan SMS. Port tersebut akan includedalam nomor HP sewaktu pengiriman SMS. Nilaiport tersebut bisa sembarangan yang pentingnilainya berupa angka dan harus diset padasistem. Jika tidak ada nomor port tersebut makapesan SMS yang dikirm akan diterima olehaplikasi SMS standar dari HP penerima.

19

Page 7: Implementasi Protokol Diffie-Hellman Dan Algoritma RC4 ...dalam makalah Diffie dan Hellman yang didefinisikan sebagai kriptografi kunci publik dan biasanya disebut sebagai Diffie-Hellman

IJCCS, Vol. 5 No. 1, Jan, 2011

Gambar 7. Rancangan modifikasi protokolDiffie-Hellman

Gambar 7. dapat dilihat bahwa terdapatmodifikasi pada protokol Diffie-Hellman yangasli. Dimana pada skema asli terdapat nilai α danq yang nilainya disepakati oleh kedua user dandiketahui oleh publik. Sedangkan skemamodifikasi terdapat nilai α, p dan q dimananilainya diset pada sistem dan tidak diketahuioleh publik maupun kedua user. Kemudian padaskema asli nilai kunci private X kecil dari nilai q,sedangkan pada skema modifikasi kunci privateX nilainya dari 0 sampai dengan 999999999 yangkemudian nilainya disamarkan dengan cara Z =X mod p.

Pada skema asli kunci publik Y setelahdihitung langsung dikirim kepada user penerima,sedangkan pada skema modifikasi setelah kuncipublik Y dihitung kemudian disamarkan terlebihdahulu dengan nomor HP user pengirim ((Y1 =Y*HP*V) dan (Y1 = Balik(Y1)) kemudian kuncipublik samar (Y1) baru dikirim kepada userpenerima. Setelah itu pada skema asli kuncipublik (Y) dari user pengirim diterima makalangsung dihitung kunci sesi K, sedangkan padaskema modifikasi kunci publik samar (Y1) yangditerima harus dikembalikan dulu menjadi kuncipublik asli (Y) dengan mengkombinasikan lagidengan nomor HP user pengirim ((Y1 = Balik(Y1)dan (Y = Y1/HP/V)) kemudian baru dihitungkunci sesi K seperti yang telah dijelaskan padarancangan pertukaran kunci.

Pada skema modifikasi protokol Diffie-Hellman (Gambar 7.(b)) terdapat perhitungankunci sesi K oleh user A yaitu K=((((YB)ZA mod

q)*E*F) mod G)+F dan user B yaitu K=((((YA)ZB

mod q)*E*F) mod G)+F dimana keduaperhitungan tersebut akan mempunyai hasil yangsama dan dapat dibuktikan secara matematissebagai berikut:

Gambar 8. Rancangan enkripsi dan dekripsipesan

Gambar 8. merupakan rancanganenkripsi dan dekripsi pesan SMS. Awalnyapengirim menulis pesan kemudian pengirimmenulis kunci sesi K, dimana nilai kunci sesi Kberasal dari hasil pertukaran kunci menggunakanmodifikasi algoritma Diffie-Hellman yang telahdijelaskan pada rancangan pertukaran kunci.Setelah pengirim menulis kunci sesi K makasistem melakukan kombinasi antara kunci sesi Kdengan nomor HP pengirim yang telah disettingdan telah disimpan pada HP (K1=K*HP danK2=K*HP*V) (Gambar 9.(b)) tujuannya sebagaiotentikasi dan memperpajang ukuran kunci.Variabel HP nilainya diambil 9 digit sebelahkanan dari nilai HP pengirim dan variabel Vnilainya diambil 2 digit sebelah kiri dari nilai HPtujuannya sama dengan waktu melakukan

K = ((((YB)ZA mod q)*E*F) mod G)+F

= ((((α ZB mod q) ZA mod q)*E*F) mod G)+F

= ((((α ZB) ZA mod q)*E*F) mod G)+F

= (((α ZB ZA mod q)*E*F) mod G)+F

= (((α ZA ZB mod q)*E*F) mod G)+F

= ((((α ZA) ZB mod q)*E*F) mod G)+F

= ((((α ZA mod q) ZB mod q)*E*F) mod G)+F

= ((((YA) ZB mod q)*E*F) mod G)+F

20

Page 8: Implementasi Protokol Diffie-Hellman Dan Algoritma RC4 ...dalam makalah Diffie dan Hellman yang didefinisikan sebagai kriptografi kunci publik dan biasanya disebut sebagai Diffie-Hellman

D. Hendarsyah, Implementasi Protokol Diffie-Hellman

perhitungan pertukaran kunci. Kemudian sistemmenggabung K2 dengan K1 (KG=K2||K1) dandilakukan pengacakan (KA=Acak(KG)).Pengacakan kunci digunakan untuk lebihmemperpanjang ukuran kunci yang telahdigabung sebelumnya sehingga mendekati ataumencapai 256 byte.

Setelah pengacakan kunci sesi makasistem melakukan proses enkripsi danmenampilkan hasil enkripsi (cipherteks)kemudian pengirim memasukan nomor HPtujuan dan sistem mengirim cipherteks melaluiSMS Center Operator. Kemudian pada HPpenerima SMS masuk dan penerima membukakotak SMS masuk dan sistem menampilkanpesan cipherteks. Setelah itu penerimamemasukan kunci sesi K yang sama dengankunci sesi K pengirim.

Setelah penerima menulis kunci sesi Kmaka sistem melakukan kombinasi antara kuncisesi K dengan nomor HP pengirim yang ada padaSMS masuk (K1=K*HP dan K2=K*HP*V)(Gambar 9.(b)) tujuannya sebagai otentikasi danmemperpajang ukuran kunci. Variabel HPnilainya diambil 9 digit sebelah kanan dari nilaiHP pengirim dan variabel V nilainya diambil 2digit sebelah kiri dari nilai HP tujuannya samadengan waktu melakukan perhitungan pertukarankunci. Kemudian sistem menggabung K2 denganK1 (KG=K2||K1) dan dilakukan pengacakankunci (KA=Acak(KG)). Setelah pengacakankunci maka sistem melakukan proses dekripsidan menampilkan hasil dekripsi (plainteks).

Algoritma yang digunakan untuk prosesenkripsi dan dekripsi adalah modifikasi algoritmaRC4. Modifikasi dilakukan pada kunci sesi(Gambar 9.(b)) seperti yang telah dijelaskan diatas. Setelah dilakukan kombinasi danpengacakan kunci maka sistem melakukan prosespseudorandom byte generator (Gambar 10.).

Pada proses pseudorandom bytegenerator tepatnya pada inisialisasi permutasi Sdan ST (Gambar 10.(b)) terdapat tiga buah prosesbaru yaitu proses pertukaran posisi genap keganjil dan sebaliknya dari larik S, prosesmembalik posisi larik S dan proses inisialisasilarik ST dengan cara mengXORkan nilai larik Sdan T. Pada proses pseudorandom byte generatorjuga terdapat penambahan proses pada streamgeneration untuk larik ST (Gambar 10.(c)).

Gambar 9. Rancangan modifikasi stream cipherRC4

Proses permutasi larik S, pertukaranposisi genap ke ganjil dan sebaliknya dari larik Sserta proses membalik posisi larik S akan diulangsebanyak nilai V. Tujuannya untuk lebihmengacak posisi larik S sehingga akan sulitdilacak posisi dari nilai larik S. Setelah prosestersebut, larik S masih memiliki nilai tetap dariangka 0 sampai 255 tetapi posisinya makin acak.Sedangkan proses inisialisasi larik ST digunakanuntuk menyamarkan kunci sesi acak (larik T)dimana nanti nilai dari larik ST akan digunakanuntuk proses enkripsi dan dekripsi. Kemudianpenambahan proses stream generation larik STbertujuan untuk mengacak larik ST pada waktuproses enkripsi dan dekripsi, proses tersebuthampir sama tujuannya dengan proses streamgeneration pada larik S.

Setelah proses pseudorandom bytegenerator maka dilakukan proses enkripsi atauproses dekripsi. Pada algoritma RC4 yang asli(Gambar 9.(a)) proses enkripsi dan dekripsihampir sama yang membedakan hanya alirankarakter plainteks dan cipherteks yang akandiXOR dengan nilai k. Sedangkan padamodifikasi RC4 proses enkripsi dan dekripsiberbeda karena terdapat dua proses XOR setelahproses pseudorandom byte generator danpembalikan posisi karakter.

21

Page 9: Implementasi Protokol Diffie-Hellman Dan Algoritma RC4 ...dalam makalah Diffie dan Hellman yang didefinisikan sebagai kriptografi kunci publik dan biasanya disebut sebagai Diffie-Hellman

IJCCS, Vol. 5 No. 1, Jan, 2011

Gambar 10. Modifikasi Pseudorandom bytegenerator RC4

Pada proses enkripsi RC4 yang telahdimodifikasi byte stream plainteks akandiXORkan terlebih dahulu dengan byte m (hasilstream generation larik ST) dan terbentuk bytestream cipherteks. Kemudian byte streamcipherteks tersebut diXORkan lagi dengan byte k(hasil stream generation larik S), setelah ituterbentuk byte stream cipherteks yang baru.Setelah itu byte stream cipherteks dibalik posisikarakternya.

Pada proses dekripsi RC4 yang telahdimodifikasi byte stream cipherteks dibalik lagiposisi karakternya sehingga kembali ke posisisemula. Kemudian byte stream ciphertekstersebut diXORkan dengan byte k dan terbentukbyte stream cipherteks baru. Setelah itu bytestream cipherteks yang baru diXORkan lagidengan byte m sehingga akan terbentuk bytestream plainteks (teks asli).

Tujuan dari pengacakan kunci yangberlapis, proses XOR yang berlapis dan prosespemutaran posisi teks pada enkripsi dan dekripsiadalah untuk menghindari serangan know-plaintext attack dan ciphertext-only attack,karena algoritma stream cipher rentan dari keduaserangan tersebut terutama pada algoritma RC4yang asli rentan dengan serangan know-plaintextattack. Serangan know-plaintext attack bisadiartikan jika kriptanalisis memiliki potongan

plainteks dan cipherteks maka ia akan dapatmenemukan aliran kunci dengan caramengXORkan plainteks dan cipherteks. Seranganciphertext-only attack bisa diartikan jikakriptanalisis memiliki dua potong cipherteksmaka ia akan dapat menemukan aliran kuncidengan cara mengXORkan kedua ciphertekstersebut kemudian menghasilkan dua buahplainteks, setelah itu plainteks dikombinasikandengan cipherteks dan setelah itu kriptanalisisbisa menerka kunci yang digunakan, tetapiserangan ini bisa terjadi jika menggunakan kunciyang sama. Jadi dengan terdapatnya modifikasipada algoritma RC4, seorang kriptanalis akansusah untuk membongkar pesan tanpa kunci.

VIII.IMPLEMENTASI

Implementasi dari semua proses dalamperancangan sistem dinyatakan denganmenggunakan bahasa pemrograman Java dalamplatform Micro Edition (J2ME) yang berbasisMIDP 2.0 dan CLDC 1.0. Dalam pemrogramanJ2ME menggunakan perangkat lunak NetBeansIDE 6.0. sekaligus sebagai emulator. Sedangkanuntuk implementasi pada telepon selulerdigunakan telepon seluler berbasis Java yangmendukung MIDP 2.0 dan CLDC 1.0.

Sebelum melakukan implementasiprogram pada telepon seluler ada beberapa halyang harus diperhatikan sewaktu melakukanpemrograman yaitu pengaturan konfigurasiplatform program dan port SMS pada perangkatlunak NetBeans IDE 6.0. Pada konfigurasiplatform program yang perlu diatur adalahDevice Configuration dengan konfigurasi CLDC-1.0 dan Device Profile dengan konfigurasiMIDP-2.0. Sedangkan untuk port SMSdikonfigurasi dengan nilai 50000.

IX. SIMULASI PENGUJIAN PERTUKARAN KUNCI

DISERANG PADA SMS

Protokol Diffie-Hellman yang aslimemiliki kelemahan yaitu tidak adanya otentikasidari pertukaran kunci. Sehingga rentan terhadapserangan terutama Man in the Middle Attackyaitu suatu serangan aktif dimana penyerangnyamenyadap dan merubah pesan dari pengirim kepenerima pesan, seolah-olah pesan tersebutberasal dari pengirim aslinya.

22

Page 10: Implementasi Protokol Diffie-Hellman Dan Algoritma RC4 ...dalam makalah Diffie dan Hellman yang didefinisikan sebagai kriptografi kunci publik dan biasanya disebut sebagai Diffie-Hellman

D. Hendarsyah, Implementasi Protokol Diffie-Hellman

Setelah adanya modifikasi protokolDiffie Hellman jika terdapat pembajakan danperubahan kunci publik oleh user lain yangmemakai nomor telepon seluler selain nomortelepon seluler user A dan B maka akan langsungketahuan bahwa nomor pengirim berbedasewaktu pesan SMS (kunci publik) masuk. Jaditidak akan mungkin penyerang bisa merubahkunci publik dengan menggunakan sistem yangdibangun dan nomor telepon yang berbeda darikedua user A dan B tersebut. Kecuali adakemungkinan pesan (kunci publik) dicegat dandirubah pada SMS Center dari operator seluler,tetapi perubahan itupun hanya mengakibatkankesalahan pada otentikasi dari kunci publiksehingga perhitungan kunci sesi tidak bisadilakukan karena kunci publik dianggap sistemtidak dapat dipercaya. Tabel 1. merupakan tabelsimulasi pengujian pertukaran kunci yangdiserang dengan Man in the Middle Attack padaSMS Center.

Tabel 1. Simulasi pengujian pertukaran kuncidiserang pada SMS Center

Pada Tabel 1. dapat dilihat bahwa jikaterjadi serangan dengan cara merubah kuncipublik maka kunci sesi tidak dapat dihitung. Jikasalah satu kunci publik diserang atau dirubahmaka hanya satu user yang mendapatkan kuncisesi tetapi nilainya akan salah dan user yang laintidak dapat menghitung kunci sesi, sehinggamengakibatkan komunikasi menjadi satu arah.

Kemudian dalam proses pertukaran kunciterdapat perhitungan dan penyamaran kuncipublik serta nomor telepon seluler sebagaiotentikasi sehingga dapat menjaga kerahasiaan,otentikasi, integritas dan penyangkalan dari kunciyang ditukarkan.

X. SIMULASI PENGUJIAN SERANGAN KNOW-PLAINTEXT ATTACK

Algoritma RC4 yang asli rentan denganserangan know-plaintext attack. Serangan know-plaintext attack bisa diartikan jika kriptanalisismemiliki potongan plainteks dan cipherteks makaia akan dapat menemukan aliran kunci dengan

cara mengXORkan plainteks dan cipherteksdengan syarat kunci untuk menghasilkancipherteks yang digunakan adalah sama.Kemudian kunci tersebut digunakan untukmembuka cipherteks yang lain dengan caramengXORkan kunci dengan cipherteks tersebut.Berikut ini adalah simulasi serangan know-plaintext attack, dimana kunci sesi yangdigunakan adalah sama. Sedangkan nomortelepon seluler yang digunakan adalah+6285228016518.

PlainteksIya pak, saya berangkat ke malang ntar malam.Makasih atas bantuannyaASCII dalam desimal:

Plainteks diketahui oleh penyerang

Cipherteks

ASCII dalam desimal:

Cipherteks diketahui oleh penyerangCipherteks diatas hasil enkripsi dari kalimat:Besok tolong kamu transfer uang sebesar Rp.10.000.000,- (plainteks tidak diketahuipenyerang)

Kunci (plainteks XOR cipherteks)ASCII dalam desimal:

Cipherteks1

ASCII dalam desimal:

Cipherteks diketahui oleh penyerangCipherteks diatas hasil enkripsi dari kalimat: Utklbh jelas, kamu hub. 0811245678, atas nama pakbroto (plainteks tidak diketahui penyerang)

Plainteks (kunci XOR cipherteks1)ASCII dalam desimal:

Plainteks hasil serangan know-plaintext attack

23

Page 11: Implementasi Protokol Diffie-Hellman Dan Algoritma RC4 ...dalam makalah Diffie dan Hellman yang didefinisikan sebagai kriptografi kunci publik dan biasanya disebut sebagai Diffie-Hellman

IJCCS, Vol. 5 No. 1, Jan, 2011

Plainteks asli dari cipherteks1Utk lbh jelas, kamu hub. 0811245678, atas namapak brotoASCII dalam desimal:

Jadi dapat dilihat bahwa plainteks hasilserangan berbeda dengan plainteks asli daricipherteks1. Dengan adanya modifikasi padaalgoritma RC4 maka terbukti dapat mencegahsera ngan know-plaintext attack. Kemudiandengan adanya nomor telepon seluler yangdigunakan sebagai otentikasi kunci, maka dapatmenjaga kerahasiaan, integritas, otentikasi danpenyangkalan pada pesan yang dikirim.

XI. PENGUJIAN PANJANG PESAN SMS

Pada pertukaran kunci, pengiriman pesanhanya dalam 1 segmen pesan, karena kuncipublik yang dikirim hanya terdiri dari beberapakarakter yaitu antara 10 sampai 12 karakter(byte). Karakter kunci publik tersebut berupaangka yang dapat dikenal oleh alfabet 7 bitstandar GSM. Untuk itu pengujian panjang pesanSMS hanya akan dilakukan pada hasil prosesenkripsi yang akan dikirim.

Pada pengujian panjang SMS jikaterdapat satu atau beberapa karakter yang tidakdikenali oleh alfabet 7 bit standar GSM sepertikarakter ASCII dalam desimal 237, 150 dan 154maka semua kumpulan karakter hasil enkripsitersebut akan dirubah menjadi karakter 16 bit(UCS2) walaupun terdapat karakter yang dikenaloleh alfabet 7 bit standar GSM dalam hasilenkripsi tersebut seperti karakter ASCII dalamdesimal 64, 117 dan 43. Sehingga jumlah bityang dihasilkan akan menjadi dua kali lipat darijumlah bit pesan asli. Oleh karena itumenyebabkan terjadinya pemborosan dalampengiriman pesan.

XII. KESIMPULAN

Berdasarkan hasil pembangunan sistemini dan pembahasan pada bab-bab yang tersajisebelumnya pada laporan ini, maka dapat ditarikkesimpulan yaitu:

1. Dengan adanya modifikasi protokol Diffie-Hellman yang menyertakan otentikasi maka

proses pertukaran kunci dapat diamankandari serangan Man in the Middle Attack.

2. Dengan adanya modifikasi algoritma RC4maka pesan dapat diamankan dari seranganknow-plaintext attack.

3. Dengan adanya nomor telepon selulersebagai otentikasi, kunci, proses enkripsi dandekripsi maka secara otomatis dapat menjagaconfidentiality (kerahasiaan), data integrity(integritas data), authentication (otentikasi)dan non-repudiation (penyangkalan) padapesan.

4. Sistem tidak akan berjalan jika salah satuuser tidak mengaktifkan sistem, karena pesan(kunci publik atau cipherteks) yang dikirimakan masuk ke aplikasi SMS standar daritelepon seluler.

5. Jika hasil enkripsi pesan (cipherteks) terdapatkarakter-karakter yang tidak dikenali olehalfabet 7 bit standar GSM waktu pengirimanpesan maka semua karakter ciperteks tersebutdirubah menjadi karakter 16 bit (UCS2).Oleh karena itu terjadi pemborosan dalampengiriman pesan SMS yang mengakibatkanpemakaian pulsa juga jadi boros.

XIII.SARAN

Adapun saran yang dapat dimanfaatkanbagi pengembangan perangkat lunak ini adalahmenambahkan sistem kompresi dalam sistemyang dibangun, sehingga pemborosan pulsa dapatdiminimalisir.

XIV. DAFTAR PUSTAKA

[1] Bishop, M., 2004, Introduction to Computer Security,Prentice Hall PTR, New Jersey.

[2] Bodic, G., L., 2005, Mobile Messaging Technologies andServices SMS, EMS and MMS Second Edition, John Wiley& Sons Ltd. England.

[3] Carts, D.A., 2001, A Review of the Diffie-HellmanAlgorithm and its Use in Secure Internet Protocols, SANSInstitute Infosec Reading Room, The SANS Institute,Maryland, USA.

[4] Chandra, P., 2005, Bulletproof Wireless Security - GSM,UMTS, 802.11 and Ad Hoc Security, Newnes Elsevier Inc.,USA.

24

Page 12: Implementasi Protokol Diffie-Hellman Dan Algoritma RC4 ...dalam makalah Diffie dan Hellman yang didefinisikan sebagai kriptografi kunci publik dan biasanya disebut sebagai Diffie-Hellman

D. Hendarsyah, Implementasi Protokol Diffie-Hellman

[5] Enany, A., 2007, Achieving Security in Messaging andPersonal Content in Symbian Phone, Thesis, Department ofInteraction and System Design School of Engineering,Blekinge Institute of Technology, Sweden.

[6] Fahmy, A., 2005, Key Exchange Protocol over InsecureChannel, Proceedings of World Academy of Science,Engineering and Technology, Volume 6:2005, Juni 2005,pp.34-36, Oslo, Norway.

[7] Hamilton, K. and Miles, R., 2006, Learning UML 2.0,O’Reilly, England.

[8] Hermawan, A. P., 2009, Kompresi Pesan SMSMenggunakan Algoritma Modified Half byte, Tesis, IlmuKomputer, Universitas Gadjah Mada, Yogyakarta.

[9] Khine, L., L., 2009, A New Variant of RC4 Stream Cipher,Proceedings of World Academy of Science, Engineeringand Technology, Volume 50:2009, Februari 2009, pp.958-961, Penang, Malaysia.

[10] Mahalanobis, A., 2005, Diffie-Hellman Key ExchangeProtocol, Its Generalization and Nilpotent Groups,Disertasi, Faculty of The Charles E. Schmidt College ofScience, Florida Atlantic University, Boca Raton, Florida.

[11] Menezes, A., Van Oorschot, P. and Vanstone, S., 1997,Handbook of Applied Cryptography, CRC Press, USA.

[12] Mousa, A. dan Hamad, A., 2006, Evaluation of the RC4Algorithm for Data Encryption, International Journal ofComputer Science & Applications, No.2, Vol.3, June 2006,pp. 44-56, An-Najah University, Nablus, Palestine.

[13] Oppliger, R., 2005, Contemporary Cryptography, ArtechHouse, Inc., Boston, London.

[14] Ratshinanga, H., Lo, J dan Bishop, J., 2004, A SecurityMechanism for Secure SMS Communication, Proceedingsof SAICSIT, South Africa.

[15] Schneier, B., 1996, Applied Cryptography – Protocol,Algorithms, and Source Code in C Second Edition, JohnWiley & Sons, Inc., United Kingdom.

[16] Setianto, Y. B. D., 2008, Distribusi Kunci Berbasis ShortMessage Service, Tesis, Ilmu Komputer, UniversitasGadjah Mada, Yogyakarta.

[17] Stallings, W., 2005, Cryptography and Network SecurityPrinciples and Practices Fourth Edition, Prentice Hall,New Jersey.

[18] Ye, N., 2008, Secure Computer and Network - SystemsModeling, Analysis and Design, John Wiley & Sons Ltd.,England.

25