kriptografi image.pdf

88
1 BAB I PENDAHULUAN 1.1.Latar Belakang Al-qur’an kitab suci kaum muslimin, dari zaman ke zaman telah dijamin keaslian dan kemurniannya oleh Allah SWT. Pada masa kenabian, setiap tahun Malaikat Jibril datang kepada Nabi Muhammad SAW. Jibril lantas memeriksa bacaan Al-quran dengan cara meminta Rasulullah mengucapkan ayat-ayat yang telah diwahyukan sebelumnya. Hal yang sama kemudian juga dilakukan oleh Rasulullah untuk mengontrol bacaan para sahabat. Demikianlah upaya yang dilakukan untuk menjaga serta memelihara kemurnian ayat-ayat Al-quran sepanjang masa. Hal ini telah ditegaskan oleh Allah dalam QS. Al Hijr:09 sebagai berikut: Artinya: Sesungguhnya Kami-lah yang menurunkan Al Quran, dan Sesungguhnya Kami benar-benar baginya adalah para Pemeliharanya. “ (Q.S Al Hijr: 09) Menurut Shihab (2002/95), QS. Al Hijr:09 ini merupakan bantahan atas ucapan orang-orang yang meragukan kemurnian Al Qur’an, dan merupakan dorongan kepada orang-orang kafir untuk mempercayai Al-Qur’an, karena Al- Qur’an dan nilai-nilainya tidak akan pernah punah tetapi akan terus bertahan,

Upload: ozcar-djarot

Post on 29-Nov-2015

220 views

Category:

Documents


8 download

DESCRIPTION

kriptografi

TRANSCRIPT

Page 1: kriptografi image.pdf

1

BAB I

PENDAHULUAN

1.1.Latar Belakang

Al-qur’an kitab suci kaum muslimin, dari zaman ke zaman telah dijamin

keaslian dan kemurniannya oleh Allah SWT. Pada masa kenabian, setiap tahun

Malaikat Jibril datang kepada Nabi Muhammad SAW. Jibril lantas memeriksa

bacaan Al-quran dengan cara meminta Rasulullah mengucapkan ayat-ayat yang

telah diwahyukan sebelumnya. Hal yang sama kemudian juga dilakukan oleh

Rasulullah untuk mengontrol bacaan para sahabat. Demikianlah upaya yang

dilakukan untuk menjaga serta memelihara kemurnian ayat-ayat Al-quran

sepanjang masa. Hal ini telah ditegaskan oleh Allah dalam QS. Al Hijr:09 sebagai

berikut:

$¯RÎ) ß`øtwU $uZø9¨�tR

t�ø.Ïe%!$# $¯RÎ)ur ¼çms9

tbqÝàÏ�»ptm: ÇÒÈ

Artinya: “Sesungguhnya Kami-lah yang menurunkan Al Quran, dan

Sesungguhnya Kami benar-benar baginya adalah para Pemeliharanya. “ (Q.S Al

Hijr: 09)

Menurut Shihab (2002/95), QS. Al Hijr:09 ini merupakan bantahan atas

ucapan orang-orang yang meragukan kemurnian Al Qur’an, dan merupakan

dorongan kepada orang-orang kafir untuk mempercayai Al-Qur’an, karena Al-

Qur’an dan nilai-nilainya tidak akan pernah punah tetapi akan terus bertahan,

Page 2: kriptografi image.pdf

2

yang berarti segala kepercayaan yang bertentangan dengan Al-Qur’an pasti akan

dikalahkan oleh ajaran Al-Qur’an. Pada kata ����� ��� mempunyai arti

Sesungguhnya Kami (Allah) yang mempunyai makna jamak(banyak), hal ini

menunjukkan adanya keterlibatan campur tangan selain Allah dalam menjaga

keaslian dan kemurnian Al-Qur’an yakni seluruh kaum muslimin dari zaman ke

zaman.

Al-Qur’an diwahyukan kepada Nabi Muhammad melalui malaikat jibril

secara berangsur-angsur dalam masa 22 tahun 2 bulan 22 hari yang biasa

dibulatkan menjadi 23 tahun (13 tahun di Mekkah dan 10 Madinah) dengan

jumlah 6666 ayat 114 surat dan 30 juz. Di dalam Al-Qur’an terkandung petunjuk

dan pedoman bagi seluruh umat manusia sampai akhir zaman, oleh karena itu Al-

qur’an harus terjamin keasliannya, agar umat manusia khususnya umat islam tidak

tersesat karena ketidak aslian Al-Qur’an tersebut. Oleh karena itu kaum muslimin

juga ikut memelihara otentitas Al Qur’an dengan banyak cara, yakni dengan

menghafalnya, menulis, dan membukukannya. Bahkan sesuai dengan

perkembangan teknologi pada masa sekarang, cara menjaga Al qur’an telah

dilakukan dengan cara merekam dan menyimpan dalam piringan hitam, kaset,

CD, dan berbagai media lainnya. Selain memelihara kemurnian tulisan dan makna

yang di kandung Al Qur’an, juga menjaga dalam menafsirkan maknanya, karena

jika ada yang salah menafsirkan maknanya, maka akan ada banyak orang yang

meluruskannya. Hal ini tidak lepas dari taufik dan bantuan dari Allah SWT.

Di era ICT (Information and Communication Technologi) saat ini,

dokumen-dokumen dan informasi yang sangat penting juga membutuhkan

penjagaan keaslian secara khusus, sebagaimana Al-Quran yang selalu dijaga

Page 3: kriptografi image.pdf

3

keasliannya, agar keaslian dokumen dan informasi dapat terjmain dari pihak-pihak

yang berkepentingan menyadap atau merubah dokumen. Stalling (2002:280)

mengungkapkan bahwa ancaman keamanan dokumen terbagi dalam dua kategori

yaitu pertama serangan pasif yang mencakup upaya-upaya penyerang

mendapatkan informasi yang berkaitan dengan komunikasi seperti membuka isi

pesan serta analisis lalu lintas, dan kedua adalah serangan aktif yaitu mencakup

beberapa modifikasi data yang ditransmisikan atau pembuatan transmisi yang

salah seperti penyamaran identitas, jawaban, modifikasi pesan dan penolakan

layanan pada manajemen fasilitas-fasilitas komunikasi.

Para ahli berusaha menemukan cara untuk penjamin keaslian dokumen dan

serangan-serangan tersebut, yakni salah satunya menggunakan teknik kriptografi

dengan menggunakan algoritma yang bermacam-macam seperti algoritma DES,

AES, RC4, vigenere .Orang yang ahli dalam bidang kriptografi disebut dengan

cryptographers,

Kriptografi, secara umum adalah ilmu dan seni untuk menjaga kerahasiaan

berita (Wikipedia, 2009). Selain pengertian tersebut terdapat pula pengertian

yang lebih luas yaitu ilmu yang mempelajari teknik-teknik matematika yang

berhubungan dengan aspek keamanan informasi seperti kerahasiaan data,

keabsahan data, integritas data, serta autentikasi data(Kurniawan, 2004).

Sistem kriptografi harus memenuhi tiga kebutuhan secara umum:

1. Proses transformasi enkripsi dan dekripsi harus efisien untuk semua

kunci

2. Sistem harus mudah untuk digunakan

Page 4: kriptografi image.pdf

4

3. Keamanan daris sistem sebaiknya hanya tergantung pada kerahasiaan

kunci dan tidak tergantung pada kerahasiaan dari algoritma enkripsi

maupun deskripsinya.

Dengan berkembangnya teknik-teknik pengamanan pesan ini, teknik

kriptografi tidak hanya dapat diaplikasikan pada perangkat komputer saja, salah

satunya dapat di aplikasikan pada perangkat telepon seluler. Telepon selular

merupakan alat komunikasi yang sudah dipakai banyak orang. Telepon selular

menyediakan media komunikasi yang beragam, salah satu diantaranya adalah

media MMS (Multimedia Message Service). MMS merupakan suatu layanan

yang berfungsi untuk mengirimkan pesan berupa text, image dan video kepada

pengguna telepon selular lain dengan cepat dan biaya yang terjangkau.

Layanan pengiriman pesan singkat ini sangatlah standar, sehingga banyak para

pengguna telepon selular yang menggunakan layanan ini untuk mengirimkan

suatu pesan multimedia yang penting dan rahasia. Akan tetapi para pengguna

layanan MMS ini sering kali tidak mengetahui, bahwa jalur komunikasi MMS

memiliki banyak sekali celah yang memungkinkan untuk terjadinya serangan

pada pesan teks maupun multimedia yang dikirim. Tingkat keamanan data yang

dikirim melalui MMS masih belum terjamin, karena pihak penyelenggara jaringan

atau operator masih dapat mengetahui isi pesan yang dikirim. Terutama karena

penerimaan dan pengiriman pesan melalui MMS menggunakan jalur dan protokol

IP yaitu WAP (Wireless Aplication Protocol), HTTP (Hypertext Transfer

Protocol), dan SMTP (Simple Mail Transfer Protocol) yang merupakan jalur yang

rentan terhadap serangan dari pihak-pihak yang tidak berhak (unauthorized

persons).

Page 5: kriptografi image.pdf

5

Komunikasi melalui media MMS bukanlah komunikasi point-to-point,

pesan yang dikirimkan melalui media MMS tidak langsung sampai pada tujuan,

melainkan melalui jaringan MMS. Oleh sebab itu, keamanan pesan merupakan hal

yang sangat penting. Data dan pesan yang jatuh kepada orang yang tidak berhak,

dapat diubah isinya tanpa diketahui oleh pengirim atau penerima. Akibatnya,

penerima akan menerima dokumen tersebut tanpa mencurigai adanya perubahan

yang dapat merugikan baik bagi pengirim maupun penerima.

Pencurian dan modifikasi pesan juga dapat dilakukan melalui penyusupan

MMSC (Multimedia Message Service Center). MMSC adalah pusat pesan

multimedia yang berfungsi untuk menyimpan pesan-pesan yang akan dikirim

sebelum pesan tersebut dikirimkan ke nomor tujuan. Maka dengan adanya MMSC

ini, apabila nomor tujuan atau jaringan MMS sedang sibuk, pesan yang dikirim

tetap dapat dikirimkan dengan menyimpan pesan tersebut terlebih dahulu pada

MMSC, dan akan dikirimkan kembali ketika tujuan sudah tidak sibuk lagi.

Untuk itu diperlukan sistem pengamanan untuk melindungi data yang

ditransmisikan melalui suatu jaringan komunikasi ini, salah satu caranya adalah

menerapkan suatu algoritma kriptografi pada pesan yang dikirimkan. Dengan

terenkripsinya pesan yang dikirim, maka seseorang yang berhasil menyusup

MMSC dan mencuri informasi pesan teks maupun multimedia yang dikirim,

akan tetap kesulitan membuka isi pesan tersebut.

Dari sekian banyak algoritma kriptografi yang telah dikembangkan saat

ini, algoritma DES(Data Encription Standard) menjadi algoritma pilihan penulis

untuk diterapkan pada pengamanan pesan image ini, karena algoritma DES

dianggap cukup kuat dan rumit untuk dipecahkan.

Page 6: kriptografi image.pdf

6

Oleh karena itu pada tugas akhir ini penulis mengambil topik tentang

kriptografi pada perangkat telepon seluler dengan menggunakan Algoritma DES

yang penulis khususkan pada kriptografi pengiriman image saja, sehingga judul

tugas akhir ini adalah KRIPTOGRAFI PENGIRIMAN IMAGE PADA

TELEPON SELULER DENGAN METODE DES.

1.2 Rumusan Masalah

Dari latar belakang di atas, maka rumusan masalah tugas akhir ini adalah

“Bagaimana merancang dan membuat kriptografi pengiriman Image pada

telepon seluler dengan algoritma DES?”

1.3 Batasan Masalah

Pada tugas akhir ini diberikan pembatasan masalah sebagai berikut:

a. Algoritma yang dipakai dalam enkripsi dan deskripsi ini menggunakan

algoritma DES.

b. MIDlet pemrograman MMS membatasi ukuran file image maximal 30KB

c. Type file image yang diproses adalah type JPEG, dan PNG.

d. Telepon seluler yang digunakan adalah telepon selular GSM yang

mendukung aplikasi java dan mempunyai fasilitas kamera.

1.2.Tujuan dan Manfaat penelitian

1. Tujuan Penelitian

Tujuan dari Penelitian ini adalah:

a. Memahami dengan baik algoritma DES.

b. Melakukan pengkajian algoritma DES yang diterapkan untuk enkripsi

pengiriman image pada telephon seluler

Page 7: kriptografi image.pdf

7

c. Melakukan pengujian dari perangkat lunak yang telah dibangun.

2. Manfaat Penelitian

Hasil penelitian ini diharapkan dapat digunakan sebagai langkah

penyalamatan data berupa pesan image yang dianggap penting dan rahasia,

1.3.Sistematika Pembahasan

Sistematika penulisan penelitian ini dibagi menjadi 5 (lima) bab, yakni:

Pada BAB I membahas tentang latar belakang permasalahan, rumusan

masalah, batasan masalah yang diambil, tujuan dan manfaat penilitian, dan

sistematika pembahasan.

Selanjutnya pada BAB II Membahas tentang teori dasar tentang

kriptografi, struktur jaringan MMS dan teori-teori yang berhubungan dengan

pembuatan tugas akhir sebagai penunjang dari permasalahan yang diambil.

BAB III ini berisi tentang metodologi serta analisis dan perancangan

sistem dengan menggunakan algoritma enkripsi dekripsi imgae dengan algoritma

DES pada telepon seluler.

Pada BAB IV ini akan dilakukan implementasi program, pengujian dan

analisa sistem perangkat lunak yang dibangun, yaitu apakah sudah sesuai dengan

Algoritma DES dan dapat di implementasikan pada pengiriman image perangkat

telepon seluler.

Sedangkan BAB V berisi tentang ringkasan atau kesimpulan dari seluruh

rangkaian penelitian serta saran kemungkinan pengembangan sistem.

Page 8: kriptografi image.pdf

8

BAB II

KAJIAN PUSTAKA

2.1. Struktur jaringan MMS

Multimedia Messaging Service (MMS) adalah sebuah standar layanan

pesan telepon yang memungkinkan untuk mengirim pesan yang mengandung

objek multimedia, seperti gambar, audio, video, dan rich text. (Wapedia, 2010).

MMS dapat dikatakan sebagai bentuk evolusi dari SMS atau Short Messaging

Service, dimana pada layanan pesan tersebut terdapat transmisi jenis media

tambahan yang meliputi teks, image, audio, animasi, videoklip atau kombinasi

antar media-media tersebut. Teknologi MMS ini dimunculkan pertama kali di

Eropa sekitar tahun 2002, oleh suatu badan yang disebut dengan 3G Partnership

Project (3GPP) yang bertanggung jawab dalam hal spesifikasi dan pengembangan

dari MMS, sedangkan teknis realisasinya dilakukan oleh Open Mobile Alliance

(OMA) yang sebelumnya dikenal sebagai WAP Forum.

Elemen dan arsitektur jaringan MMS terdiri dari :

a. MMS Centre: Disinilah pesan MMS yang dikirimkan atau yang akan diterima

disimpan. Pada waktu menerima MMS, penerima akan mendapatkan pesan

notifikasi dari MMSC menggunakan WAP push (suatu format khusus dari

MMS) yang secara otomatis memicu telepon genggam penerima untuk

mengambil pesan MMS dari MMSC. Sedangkan untuk pengiriman MMS,

pengirim akan mengirimkan pesan MMS secara langsung dari telepon

genggamnya ke MMSC, dimana MMS Centre sebenarnya mirip dengan Web

Server.

Page 9: kriptografi image.pdf

9

b. WAP Gateway: Perangkat ini bertindak sebagai penghubung antara MMSC

dengan telepon genggam pengguna. WAP ini sebenarnya hampir mirip

dengan protokol internet. Sewaktu mengirim pesan MMS, maka telepon

genggam akan menggunakan WAP Session Protocol (WSP)/HTTP POST ke

MMSC melalui WAP Gateway ini.

c. SMS Centre: Perangkat SMSC ini digunakan oleh MMSC untuk

mengirimkan pesan SMS notifikasi bahwa ada pesan MMS yang dikirimkan

kepada si penerima MMS.

Adapun bentuk jaringan MMS dapat dilihat pada gambar berikut ini:

(sumber: http://elektronika-elektronika.blogspot.com/2007/05/mms-multimedia-

messaging-service.html)

Gambar 2.1: Bentuk jaringan MMS

Page 10: kriptografi image.pdf

10

MMS distandarisasi WAP forum dan 3GPP, serta pesan MMS dapat

dikirim dan diterima antara person to person dan person to email. Mekanisme

pengiriman MMS person to person yaitu pada tahap pertama, pihak originator

melakukan send kepada receiver melalui MMSC dengan menggunakan WAP

Post, dan pesan tersimpan dalam MMSC. Kemudian pada tahap kedua, MMSC

memberitahukan atau memberikan notifikasi kepada receiver melalui SMS

dengan WAP Push. Tahap ketiga, setelah receiver menerima notifikasi, untuk

mengambil pesan MMS, receiver melakukan inisialisasi hubungan WAP Get

untuk mengambil MMS yang ada didalam MMSC. Dan tahap terakhir, setelah

semua proses tersebut berjalan maka report via SMS dikirim ke originator

Pada aplikasi pengiriman dan penerimaan pesan pada telephon seluler

dikenal istilah nomor port. Nomor port ini digunakan sebagai pengenal apabila

dalam sebuah telephon seluler terdapat dua buah atau lebih aplikasi penerimaan

pesan. Aplikasi penerimaan pesan tersebut akan menunggu pesan yang ditujukan

pada nomor port tersebut. Untuk mengirimkan pesan pada port yang spesifik,

pengirim harum menyertakan nomor port pada pesan yang dikirimnya. Jika

pengirim tidak menyertakan nomor port, maka pesan yang dikirim akan masuk

dan diterima oleh sistem penerima pesan pada aplikasi standard yang sudah

disediakan telephon seluler secara umum, karena pada aplikasi pengiriman pesan

standard mempunyai nomor port default yaitu nomor port 0, sehingga pesan yang

dikirim tanpa memasukkan nomor port yang baru dianggap menggunkan nomor

port default.

Page 11: kriptografi image.pdf

11

2.2 Format image PNG dan JPG

Portable Network Graphics (PNG) adalah format gambar bitmap yang

menggunakan kompresi lossless data. PNG diciptakan untuk memperbaiki dan

menggantikan GIF (Graphics Interchange Format), sebagai format file gambar

yang tidak memerlukan lisensi paten. Singkatan rekursif PNG adalah opsional, .

PNG mendukung gambar palet berbasis (dengan palet RGB 24-bit atau 32-bit

RGBA warna), gambar abu-abu (dengan atau tanpa alpha channel), dan RGB

gambar (dengan atau tanpa alpha channel). PNG dirancang bukan untuk grafis

cetak, tetapi untuk mentransfer gambar pada Internet, oleh karena itu PNG tidak

mendukung non-ruang warna RGB seperti CMYK. PNG file hampir selalu

menggunakan file ekstensi PNG atau ping dan ditugaskan tipe MIME media

"image / png";. Itu telah disetujui untuk digunakan oleh Internet Engineering

Steering Group pada tanggal 14 Oktober 1996.

Fitur lain yang memenangkan format PNG adalah kemampuannya untuk

menyesuaikan gamma berdasarkan pengaturan monitor. PNG digunakan di

Internet dan merupakan format terbaru setelah GIF, bahkan menggantikan GIF

untuk Internet image karena GIF terkena patent LZW yang dilakukan oleh Unisys.

Secara garis besar, format PNG mempunyai fitur sebagai berikut:

• Sebagai pengganti format GIF dan TIFF.

• Format terbuka atau open, efisien, gratis, dan kompresi jenis lossless.

• Mempunyai tiga mode warna yaiut : paletted (8 bit), greyscale (16 bit),

truecolour (hinga 48 bit)

• Dukungan terhadap profile colour, gamma, dan metadata.

Page 12: kriptografi image.pdf

12

• Mempunyai fitur transparansi serta dukungan penuh terhadap alpha

channel.

• Mendukung shoftware manipulasi grafis dan web browser.

Kelemahan dari format PNG adalah tidak dapat mengompres gambar-

gambar alam secara kompleks. Di sinilah keuntungan format JPG. Format JPG

yang dikembangkan oleh Joint Photographic Experts Group (JPEG) merupakan

teknik kompresi grafis high color bit-mapped dan tipe file gambar yang menjadi

standard untuk fotografer professional. Umumnya digunakan untuk kompresi

citra berwarna maupun gray scale.

Format JPG bisa mensupport sampai 16.7 juta warna. Jumlah tersebut

cukup untuk keperluan apapun bahkan pencitraan warna yg tidak bisa dicerna

mata manusia. Selain jumlah kombinasi warna yang cukup banyak, algoritma

kompresi jpeg bekerja dengan meresonansi informasi2 image keluar, dan

tergantung setting yang diberikan, Format JPG (Joint Photographic Ahli Group)

memiliki kompresi lebih rumit serta sistem pola dan warna yang dapat

menjelaskan setiap pixel secara terpisah.. Secara umum, format JPG dapat

mengkompresi foto natural dengan baik, karena kompresi JPG sangat kompleks

dan merupakan format kompresi yang sempurna. Sedikit kesalahan pengompresan

dapat muncul pada gambar ketika didekompresi jika proses kompresi secara tidak

benar. Contoh dari kesalahan proses pengompresan umumnya terdapat noise atau

kabur di sekitar teks dan warna. Kelemahan lain format JPG adalah tidak dapat

memproses area transparan dan terjadi degradasi kualitas gambar setiap kali JPEG

disimpan ulang. Untuk itu, JPEG kemudian mengembangkan teknologi JPG guna

menangani problem serius soal degradasi kualitas gambar tersebut.

Page 13: kriptografi image.pdf

13

2.3 Keamanan Data

Dalam dunia informasi, kita perlu menyadari bahwa banyak sekali

ancaman terhadap keamanan dan kerahasiaan data yang mungkin akan

mengganggu kita. Kita tidak bisa terus menerus terlena akan keadaan kondisi

dimana kita merasa dalam keadaan aman, oleh karena itu para ahli teknologi

informasi, dari hari ke hari terus mempelajari teknik dan strategi dalam

meningkatkan keamanan dan kerahasiaan data. Mereka menyebutkan bahwa,

kerahasiaan data akan tetap terjaga jika memenuhi aspek-aspek berikut ini.: 1

a. Authentication : agar penerima informasi dapat memastikan keaslian

pesan tersebut, dari orang yang dimintai informasi. Dengan kata lain

informasi tersebut benar-benar dari orang yang dikehendaki.

b. Integrity: keaslian pesan yang dikirim melalui sebuah jaringan dan dapat

dipastikan bahwa informasi yang dikirim tidak dimodifikasi oleh orang

yang tidak berhak dalam perjalanan informasi tersebut.

c. Nonrepudiation: merupakan hal yang bersangkutan dengan si pengirim. Si

pengirim tidak dapat mengelak bahwa dialah yang mengirim informasi

tersebut.

d. Authorithy : informasi yang berada pada sistem jaringan tidak dapat

dimodifikasi oleh pihak yang tidak berhak atas akses tersebut.

e. Confidentiality : merupakan usaha untuk menjaga informasi dari orang

yang tidak berhak mengakses.

f. Privacy :merupakan lebih kearah data-data yang sifatnya private(pribadi).

1 Dony Ariyus, Computer Security, (Penerbit Andi 2006), hal 2-3

Page 14: kriptografi image.pdf

14

g. Avability: ketersediaan informasi ketika dibutuhkan. Sistem informasi

yang disadap dapat menghambat akses informasi. Acces control : Aspek

ini berhubungan dengan cara pengaturan akses kepada informasi. Hal itu

biasanya berhubungan dengan masalah authentication dan juga privacy.

Aspek ini sering kali dilakukan menggunakan kombinasi user id dan

password atau dengan menggunakananmekanisme lainnya.

2.4 Keamanan Dalam Al Qur’an

uqèd ª!$# �Ï%©!$# Iw tm»s9Î) �wÎ)

uqèd à7Î=y☺ø9$# â¨r��à)ø9$#

ãN»n=¡¡9$# ß`ÏB÷sß☺ø9$#

ÚÆÏ☺ø�ygß☺ø9$# â��Í�yèø9$#

â�$¬6yfø9$# ç�Éi9⌧6tGß☺ø9$# 4

z`»ysö6ß� «!$# $£☺tã �cqà2Î�ô³ç�

ÇËÌÈ

Artinya : “ Dialah Allah yang tiada Tuhan selain Dia, Raja, yang Maha Suci,

yang Maha Sejahtera, yang Mengaruniakan Keamanan, yang Maha Memelihara,

yang Maha perkasa, yang Maha Kuasa, yang memiliki segala Keagungan, Maha

suci Allah dari apa yang mereka persekutukan.” (QS.Al Hashr:23)

Allah berfirman dalam Al Qur’an, sebagimana tertera pada ayat di atas,

bahwasanya Allah Tuhan Maha Suci telah mengaruniakan keamanan kepada kita

sebagai tanda Keagungan dan Kekuasaan-Nya. Untuk itu kita harus

mensyukurinya.

Page 15: kriptografi image.pdf

15

Menurut Sayyid Quthb dalam kitabnya Tafsir fi Zhilalil Qur’an, kalimat

LMNOPم اSTPا yang berarti Maha Sejahtera yang Mengaruniakan Keamanan,

merupakan nama yang menyebarkan tentang keselamatan, keamanan, dan

kedamaian dalam lembaran-lembaran ruang alam semesta, dalam hati orang-orang

yang beriman kepada Tuhannya, maka mereka merasa aman di sisi-Nya dan

merasa selamat di bawah naunganNya. Selain itu lafadz di atas memberikan

kesadaran dalam hati tentang nilai iman, dimana ia bertemu dengan Allah di

dalam nama itu. Dari nama ini hati merasa terlindungi dengan keselamatan,

ketenangan dan kedamian. Keliaran nafsu dan guncangannya pun menjadi tenang

dan mereda sehingga selalu condong kepada keharmonisan, ikatan, dan kedamian.

Salah satu rahmat dan karunia Allah adalah rasa aman, sebagaimana

teraktub pada ayat di atas. Rasa aman ini tidak semata-mata diberikan kepada

hamba-Nya dengan cuma-cuma, hal ini tergantung dengan hamba itu sendiri.

Apakah dia mau berusaha untuk mendapatkan rahmat dan karunia-Nya itu atau

tidak?. Sebagaimana yang telah disebutkan oleh Sayyid Quthb, hati kita akan

merasa terlindungi dengan keselamatan, ketenangan dan kedamian jika kita selalu

meningkatkan nilai keimanan kepada Allah

Jika keamanan secara bathiniah dapat diperoleh dengan cara

meningkatkan nilai keimanan kita kepada Allah SWT, sekarang bagaimana cara

kita meningkatkan kemanan dalam dunia teknologi informasi?. Di zaman modern

ini telah ditemukan banyak cara bagaimana meningkatkan keamanan ketika kita

bergelut dalam dunia teknologi dan informasi, salah satunya adalah teknik

penyandian kode-kode, atau lebih dikenal dengan sebutan teknik kriptografi,

sebagaimana menjadi topik utama dalam pembuatan tugas akhir ini. Namun

Page 16: kriptografi image.pdf

16

barangkali tidak ada yang menyangka bahwa Islam juga ikut andil dalam

menyumbang kontribusi dalam teknik pengkodean ini. Karena Al-Kindilah yang

memperkenalkan teknik penguraian kode atau sandi-sandi yang sulit dipecahkan.

Al-Kindi juga mengklasifikasikan sandi-sandi rahasia serta menjelaskan

ilmu fonetik Arab dan sintaksisnya. Yang paling penting lagi, dalam bukunya ini

ia mengenalkan penggunaan beberapa teknik statistika untuk memecahkan kode-

kode rahasia. Yang kemudian ia tulis dalam kitab yang berjudul Risalah fi

Istikhraj al-Mu’amma(Manuscript for the Deciphering Cryptographic Messages).

Bekerja di bidang sandi-sandi rahasia dan pesan-pesan tersembunyi dalam

naskah-naskah asli Yunani dan Romawi mempertajam nalurinya dalam bidang

kriptoanalisa. Ia menjabarkannya dalam sebuah makalah, yang setelah dibawa ke

Barat beberapa abad sesudahnya diterjemahkan sebagai Manuscript on

Deciphering Cryptographic Messages. Di dalamnya antara lain mengungkapkan:

“Satu cara untuk memecahkan kode rahasia, jika kita tahu bahasanya, adalah

dengan menemukan satu naskah asli yang berbeda dari bahasa yang sama, lalu

kita hitung kejadian-kejadian pada tiap naskah. Pilah menjadi naskah kejadian

satu, kejadian dua, dan seterusnya. Kemudian kita lihat teks rahasia yang ingin

kita pecahkan, dan mulailah mengklasifikasikan simbol-simbolnya. Kita lalu

menemukan simbol yang paling sering muncul, lalu ubahlah dengan catatan

kejadian satu, dua dan seterusnya itu, sampai seluruh simbol itu terbaca.” Teknik

Al Kindi ini kemudian dikenal sebagai analisa frekuensi dalam kriptografi, yaitu

cara paling sederhana untuk menghitung persentase bahasa khusus dalam naskah

asli, persentase huruf dalam kode rahasia, dan menggantikan simbol dengan huruf.

2.5 Kriptografi

Page 17: kriptografi image.pdf

17

Kriptografi berasal dari kata yunani. Menurut bahasa tersebut, kata

kriptografi dibagi menjadi dua bagian, yaitu kripto dan graphia. Kripto berarti

secret (rahasia) dan rahasia berarti writing (tulisan). Menurut terminologinya

kriptografi adalah ilmu dan seni untuk menjaga keamanan pesan dikirim dari

suatu tempatke tempat yang lain. Dalam perkembangannya, kriptografi juga

digunakan untuk mengidentifikasi pengiriman pesan dengan tangan digital untuk

keaslian pesan dengan sidik jari digital (fingerprinting).2

2.5.1 Sejarah Kriptografi

Kriptografi memiliki sejarah yang sangat menarik dan panjang. Teknik

kriptografi sudah digunakan 400 tahun yang lalu dan diperkenalkan oleh orang-

orang mesir untuk mengirim pesan ke pasukan militer yang berada di lapangan.

Dengan demikian, pesan tersebut tidak bisa terbaca oleh pihak musuh.

Pada zaman romawi kuno dikisahkan tentang Julius Caesar yang ingin

mengirimkan satu pesan rahasia kepada seorang jendral di medan perang. Pesan

tersebut harus dikirimkan melalui seorang kurir. Karena pesan tersebut bersifat

rahasia dan Julius Caesar pesan tersebut bocor sebelum diterima orang yang

berhak, maka Julius Caesar kemudian memikirkan bagaiman caranya mengatasi

hal tersebut. Kemudian Julius Caesar mempunyai ide untuk mengacak pesan

tersebut menjadi suatu pesan yang tidak dapat dipahami oleh orang lain kecuali

jendral saja. Tentu saja sang jendral sudah tahu bagaimana cara membaca pesan

tersebut dengan kuncinya. Hal yang dilakukan Caesar Julius adalah mengganti

2 Dony Ariyus, Computer Security, (Penervit Andi 2006), hal 78

Page 18: kriptografi image.pdf

18

semua susunan alphabet dari a, b, c dan….seterusnya, dengan a menjadi d, b

menjadi e, c menjadi f dan seterusnya.

Dari ilustrasi tersebut, beberapa istilah kriptografi dipergunakan untuk

menandai aktifitas-aktifitas rahasia untuk mengirim pesan. Apa yang dlakukan

Julius Caesar dengan cara mengacak pesannya disebut sebagai encription,

sedangkan saat jendral merapikan pesan yang teracak disebut dengan istilah

decription. Sedangkan pesan yang teracak disebut dengan plaintext..

Pada cipher yang digunakan oleh Julius Caesar ini, huruf-huruf

distubstitusi dengan huruf-huruf yang lain pada alfabet yang sama. Karena hanya

satu alfabet yang digunakan, cipher ini merupakan substitusi mono alfabetik.

Cipher semacam ini mencakup penggeseran alphabet dengan 3 huruf dan

mensubstitusikan huruf tersebut. Substitusi ini kadang dikenal dengan C3 (untuk

Caesar menggeser 3 tempat). Secara umum sistem cipher Caesar dapat ditulis

sebagai berikut.

Zi=Cn(Pi)

Dimana Zi adalah karakter-karakter ciphertext, CN adalah transformasi substitusi

alfabetik, n adalah jumlah huruf yang digeser, dan Pi adalah karakter-karakter

plaintext..

Huruf-huruf dengan bentuk tegak akan memiliki lebar huruf yang lebih

kecil dibandingkan dengan huruf-huruf yang melintang, sehingga dengan huruf

yang sama, hutruf yang melintang akan memakan banyak tempat. Spasi antar

huruf juga akan terlihat berfariasi pada huruf yang melintang daripada huruf

tegak.

Page 19: kriptografi image.pdf

19

Pada perang kedua, Jerman menggunakan enigma atau disebut dengan

mesin rotor yang digunakan oleh Hitler untuk mengirim pesan kepada tentaranya.

Jerman sangat percaya bahwa pesan yang dikirim melalui enigma tidak aakn

terpecahkan kode-kode enkripsinya. Akan tetapi anggapan itu keliru. Ternyata

setelah bertahun-tahun sekutu dapat memecahkan kode-kode tersebut setelah

mempelajarinya. Setelah Jerman mengetahui bahwa kode-kode tersebut telah

dipecahkan oleh sekutu, maka enigma yang digunakan pada saat itu beberapa kali

mengalami perubahan.

Enigma yang digunakan Jerman bisa mengenkripsikan satu pesan

sehingga memiliki 15 milyar kemungkinan untuk dapat mendeskripsikan satu

pesan. Dari kemungkinan tersebut, Jerman tidak percaya bahwa pesan yang

dikirim dapat dipecahkan oleh sekutu.

Selama bertahun-tahun, kriptografi menjadi bidang khusus yang dipelajari

pihak militer, seperti agen Keamanan Nasional Amerika (National Amerika

Agency), Uni Soviet, INggris, Perancis, Israel, dan Negara-Negara lainnya yang

telah membelanjakan miliaran dolar untuk mengamankan komunikasi mereka dari

pihak luar. Namun demikian, mereka tetap mempelajari kode-kode rahasia Negara

lain. Adanya persaingan tersebut memungkinkan kriptografi terus berkembang

sesuai dengan perkembangan zaman. Namun, pada 30 tahun terakhir ini,

kriptografi tidak hanya dimonopoli oleh pihak militer saja. Hal yang sama juga

dilakukan oleh individu-individu yang menginginkan pesan dan komunikasi

mereka tidak diketahui oleh pihak lain, dan setiap individu berhak mengamankan

informasi. Apalagi pada zaman sekarang ini, persaingan disetiap hal sangat ketat

Page 20: kriptografi image.pdf

20

dan tinggi, sehingga perlu pengaman disetiap individu, agar privasi mereka tidak

diketahui oleh lawannya.

2.5.2 Algoritma Kriptografi

Perkembangan kriptografi memang sangat pesat. Para ahli kriptografi

(cryptographers) terus menerus menciptakan algoritma-algoritma kriptografi

yang baru. Hal ini dikarenakan pula semakin banyak orang-orang ahli yang

mampu memecahkan kode-kode ciphertext ke dalam plaintext.. Orang-orang ahli

semacam ini sering disebut cryptoanalisis. Ketika suatu algoritma kriptografi

sudah dapat dipecahkan, maka diperlukan algoritma-algoritma baru yang lebih

handal, agar keamanan data dapat terjaga. Hal ini menyebakan kriptografi tak

akan pernah berhenti berkembang.

Definisi terminologinya algoritma adalah urutan langkah-langkah logis

untuk penyelesaian logis untuk penyelesaian masalah yang disusun secara

sistematis. Algoritma kriptografi merupakan langkah-langkah logis bagaimana

menyembunyikan pesan dari orang-orang yang tidak berhak atas pesan tesebut.

Algotitma kriptografi terdiri dari tiga fungsi dasar yaitu: 3

a) Enkripsi merupakan hal yang sangat penting dalam kriptografi yang

merupakan pengamanan data yang dikirimkan terjaga kerahasiaannya. Pesan

asli disebut plaintext. yang dirubah menjadi kode-kode yang tidak dimengerti.

Enkripsi dapat diartikan cipher atau kode. Sama halnya dengan kita tidak

mengerti akan sebuah kata, maka kita akan melihatnya di dalam kamus atau

3 Dony Arius, Kriptografi Keamanan Data dan Komunikasi, (Yogyakarta: Graha

Ilmu 2006) hal 13

Page 21: kriptografi image.pdf

21

daftar istilah. Beda halnya dengan enkripsi, untuk merubah plaintext. ke

bentuk ciphertext kita menggunakan algoritma yang dapat mengkodekan data

yang kita inginkan.

b) Dekripsi merupakan kebalikan dari dekripsi, pesan yang telah dienkripsi

dikembalikan kebentuk aasalnya disebut dengan dekripsi pesan. Algoritma

yang digunakan untuk dekripsi berbeda dengan yang digunakan untuk

enkripsi.

c) Kunci. Kunci yang dimaksud disini adalah kunci yang dpakai untuk

melakukan enkripsi dan dekripsi.

Gambar 2.2 Proses Enkripsi dan Dekripsi

Kategori algoritma yang handal adalah algoritma yang kekuatannya

terletak pada kunci, bukan terletak pada kekuatan algoritma itu sendiri. Dasar

matematis yang mendasari proses enkripsi dan dekripsi adalah relasi antara dua

himpunan yaitu yang berisi elemen teks terang plaintext. dan yang berisi elemen

teks sandi/ciphertext. Enkripsi dan dekripsi merupakan fungsi transformasi antara

himpunan-himpunan tersebut. Apabila elemen-elemen teks terang dinotasikan

dengan P, elemen-elemen teks sandi dinotasikan dengan C, sedang untuk proses

enkripsi dinotasikan dengan E, dekripsi dengan notasi D. maka kita dapat

rumuskan sebagai berikut:

Page 22: kriptografi image.pdf

22

Enkripsi : E(P) = C

Dekripsi : D(C) = P atau D(E(P)) = P4

Algoritma Kriptografi merupakan bagian dari cryptosistem. Secara umum

cryptosistem dapat digolongkan menjadi dua buah, yaitu: 5

a. Symmetric cryptosistem

Dalam Symmetric cryptosistem ini, kunci yang digunakan untuk proses

enkripsi dan dekripsi pada dasarnya identik. Tetapi satu buah kunci dapat

pula diturunkan pula dari kunci yang lainnya. Kunci-kunci ini harus

dirahasiakan. Oleh karena itulah sistem ini sering disebut sebagai secret-key

ciphersistem. Jumlah kunci yang dibutuhkan umumnya adalah:

nC2 = n . ������

Dengan n menyatakan banyaknya pengguna, contoh dari sistem ini adalah

DES(Data Encryptuon Standard), blowfish, AES.

b. Assymmetric cryptosistem

Dalam Assymmetric cryptosistem ini digunakan dua buah kunci. Satu kunci

yang disebut kunci publik (publik key) dapat dipublikasikan, sedang kunci

yang lain disebut kunci privat (private key) harus dirahasiakan. Proses dalam

menggunakna kunci dapat diterangkan secara sederhana sebagai berikut: bila

4 http://wikepedia.com/kriptografi

5 Wahana komputer semarang, Memahami Model Enkripsi dan Scurity Data,

(Yogyakarta: Andi, 2003), hal 106-107.

Page 23: kriptografi image.pdf

23

A ingin mengirimkan pesan kepada B, A dapat menyandikan pesannya

dengan menggunakan kunci publik B, dan bila B ingin membaca surat

tersebut, ia perlu mendiskripsikan surat tersebut dengan kunci privatnya.

Dengan demikian kedua belah pihak dapat menjamin asal surat serta keaslian

surat tersebut, karena adanya mekanisme ini. Contoh sistem iniantara lain

RSA Scheme dan Merkle-Hellman Scheme.

2.5.3 Algoritma klasik

Algoritma ini sudah jarang digunakan karena sudah tidak aman lagi. Hal

ini dikarenakan metode yang dibuat dianggap terlalu sederhana dengan mikanisme

perhitungan yang tidak terlalu sulit dipecahkan. Pada algoritma klasik ini,

menggunakan teknik subsitusi dan transposisi.

2. 5.3.1 Teknik Subsitusi

Sutsitusi merupakan penggantian karakter dari plaintext. dengan karakter lainnya,

ada empat istilah dari subtitusi cipher diantaranya adalah: monoalohabet,

polyalphabet, monograf, polygraph.

a. Caesar Cipher

Subsitusi cipher yang pertama dalam dunia penyandian pada waktu

pemerintahan Yulius Caesar yang dikenal sebagai Caesar Cipher, dengan

mengganti posisi huruf awal dari alphabet sebagai contoh:

A B C D E F G H I J K L M ….

0 1 2 3 4 5 6 7 8 9 10 11 12 ….

Page 24: kriptografi image.pdf

24

Menjadi

D E F G H I J K L M N O P ….

3 4 5 6 7 8 9 10 11 12 13 14 15 ….

Jika penggeseran yang dilakukan sebanyak tiga kali maka, kunci untuk

deskripsinya adalah 3 kali maka deskripsinya adalah 3, penggeseran kunci

yang dilakukan tegantung pada keinginan pengirim pesan, bisa saja kunci

yang dipakai a=7, b=9 dan seterusnya.

Jadi rumusnya dapat dibuat sebagi berikut:

C=E(P)=(P+K)mod(26) ….enkripsi

P=D(C)=(C-K)mod(26)…..dekripsi

b. Playfair Cipher

Playfair cipher ditemukan oleh Sir Charkes Wheatstone dan Baron Lyon.

Playfair cipher pada tahun 1854 dan digunakan pertama kali pada awal abad

20.

c. Shift Cipher

Teknik dari subtitusi shift chipper dengan modulus 26, memberikan angka ke

setiap alphabet seperti A←→0, B←→1…………Z←→25, jadi dalam

penulisan pesan yang telah di enkripsi berupa angka-angka sesuai dengan

keinginan pengirim.

d. Hill Cipher

Hill cipher termasuk dalam salah satu kriptosistem polialfabetik, artinya

setiap karakter alphabet bisa dipetakan lebi dari satu macam karakter

Page 25: kriptografi image.pdf

25

alphabet. Cipher ini ditemukan pada tahun 1929 oleh Lester S. Hill. Misalkan

m adalah bilangan bulat positif, dan P=C=(Z26)m. ide dari Hill cipher adalah

dengan mengambil m kombinasi linier dan m karakter alphabet dalam satu

elemen plaintext., sehingga menghasilkan m alphabet karakter dalam satu

elemen plaintext..

Misalkan m=2, maka kita dapat menuliskan suatu elemen plaintext.

sebagai x=(x1,x2)dan suatu elem ciphertext sebagai y=(y1,y2). Di sini y1,y2

adalah kombinasi linier dari x1,x2.

y1=11x1+3x2

y2=8x1+7x2

e. Vigere Cipher

Bila pada teknik-teknik sebelumnya ciphertext selalu menggantikan nilai dari

setiap plaintext. tertentu (tidak peduli apakh jumlah dari ciphertextnya yang

ekivalen dengan plaintext. tertentusatu atau lebih) pada teknik subsitusi

vigenere setiap ciphertext bisa memiliki banyak kemungkinan plaintext.nya.

2.4.3.2 Teknik Transposisi

Metode ini menggunakan permutasi karakter, yang mana dengan menggunakan

teknik ini pesan yang asli tidak dapat dibaca kecuali memiliki kunci untuk

mengembelikan pesan tersebut kebentuk semula atau disebut dengan dekripsi.

Sebagai contoh:

Ada kunci yang digunakan untuk melakukan permutasi cipher,

1 2 3 4 5 6

Page 26: kriptografi image.pdf

26

3 5 1 6 4 2

Dan kunci untuk invers dari permutasi tersebut

1 2 3 4 5 6

3 5 1 6 4 2

“SAYA SEDANG MENGERJAKAN TUGAS”

Terlebih dahulu kalimat tersebut dibagi menjadi 6 block adan apabila terjadi

kekurangan dari block bisa ditambah dengan huruf yang disukai misalkan

menambahkan huruf X. hal ini berguna untuk mempersulit analisis dari chipper

tersebut.

“SAYASE DANGME NGERJA KANTUG ASXXXX ”

Setelah dibagi menjadi 6 blok maka dengan menggunakan kunci diatas setiap

block akan terjadi perubahan seperti di bawah ini:

“YSSEAA NMDEGA EJNARG NUKGTA XXAXXS”

Jadi cipher yang dihasilkan adalah:

“YSSEAANMDEGAEJNARGNUKGTA XXAXXS”

Untuk mengembalikannya kebentuk plaintext. dilakukan invers terhadap

ciphertext dengan mengikuti kunci nomor dua di atas. Banyak dari teknik lain

permutasi ini seperti zig, zag, segi tiga, spiral, diagonal.

2.4.4 Algoritma Modern

Page 27: kriptografi image.pdf

27

Perbedaan algoritma modern dengan algoritma klasik adalah, algoritma

modern memiliki kerumitan yang sangat kompleks dan dalam pengoperasiannya

sudah menggunakan komputer. Pada algoritma modernterdapat berbagao macam

algoritma yang brtujuan untuk mengamankan informasi yang dikirim melalui

jaringan maupun tidak. Algoritma modern terdiri dua bagian yaitu Simetri

Algoritma (DES, 3DES, AES) dan Asimetri Algoritma (RSA, ECC, dll). Akan

tetapi penulis hanya akan menjelaskan algoritma DES, karena pada laporan tugas

akhir ini menggunakan algoritma DES,

Data Encryption Standard (DES) merupakan nama algoritma untuk

mengenkripsi data yang dikeluarkan oleh Federal Information Processing

Standard (FIPS) 46-1 Amerika Serikat. Algoritma pada dasarnya dikembangkan

oleh IBM, NSA, dan NBS yang berperan penting dalam pengembangan akhir

algoritmanya. DEA dan DES dipelajari secara ekstensif sejak publikasi

pertamanya dan diketahui sebagai simetris algoritma yang paling baik dan banyak

digunakan di dunia.

Simetri algoritma adalah algoritma yang menggunakna kunci yang sama

pada enkripsi dan dekripsinya. Sedangkan Asimetri algoritma adalah algoritma

yang kuncinya berbeda, salah satu kuncinya digunakan untuk proses enkripsi dan

salah satunya yang lain digunakan untuk proses dekripsi.

DES memiliki blok kunci 64 bit, akan tetapi yang digunakan dalam proses

eksekusi adalah 56 bit. Secara umum DES terbagi menjadi 3 kelompok, yaitu

pemrosesan kunci, enkripsi data 64 bit, dan dekripsi data 64 bit, yang mana satiu

kelompok saling berinteraksi satu dengan yang lainnya.

Page 28: kriptografi image.pdf

28

Algoritma DES dirancang untuk menulis dan membaca berita blok data

yang terdiri dari 64 bit dibawah kontrol kunci 64 bit. Dalam pembacaan pesan

harus dikerjakan dengan menggunakan kunci yang sama dengan waktu menulis

berita, dengan penjadwalan alamat kunci bit yang diubah sehingga proses

membaca adalah kebalikan dari proses menulis.

Sumber: (Dony Arius, 2006)

Gambar 2.3 pemakaian kunci dalam DES

Secara global skema DES dapat dijelaskan sebagi berikut:

1. Blok plainteks dipermutasi dengan matriks permutasi awal (initial

permutation atau IP).

2. Hasil permutasi awal kemudian dienciphering sebanyak 16 kali (16

putaran). Setiap putaran menggunakan kunci internal yang berbeda.

3. Hasil enciphering kemudian dipermutasi dengan matriks permutasi

balikan (invers initial permutation atau IP-1 ) menjadi blokcipherteks.

Di dalam proses enciphering, blok plainteks terbagi menjadi dua bagian,

kiri (L) dan kanan(R), yang masing-masing panjangnya 32 bit.Kedua bagian ini

masuk ke dalam 16 putaranDES. Pada setiap putaran i, blok R merupakan

masukan untuk fungsi transformasi yang disebut f. Pada fungsi f, blok R

dikombinasikan dengan kunci internal Ki. Keluaran dari fungsi f di-XORkan

DATA

Fungsi Enkripsi

Data acak

Fungsi Dekripsi

DATA

KODE KUNCI

Page 29: kriptografi image.pdf

29

dengan blok L untuk mendapatkan blok R yang baru. Sedangkan blok L yang baru

langsung diambil dari blok R sebelumnya. Ini adalah satu putaran DES.

Secara matematis, satu putaran DES dinyatakan sebagai

Li = Ri – 1

Ri = Li – 1 Å f(Ri – 1, Ki)

2.5.5 Mode Enkripsi dan Dekripsi pada API

Untuk mengenkripsi atau mendekripsi lebih dari 64 bit ada 4 model resmi

yang telah ditetapkan oleh FIPS PUB 81. Salah satu model yang digunakan adalah

untuk memeriksa proses untuk masing-masing blok secara berurutan. Model ini

disebut dengan model Electronic Code Book (EBC). Kelebihan dari metode ini

adalah melakuakn XOR masing-masing blok plaintext. dengan blok ciphertext

sebelumnya untuk proses enkripsi. Model ini dinamakan Chipper Blok Chaining

(CBC). Dua model yang lain adalah Output Feedback (OFB) dan Cipher

Feedback (CFB). Adapun mode enkripsi dan dekripsi yang didukung pada API ini

adalah sebagai berikut:

2.4.5. 1 Mode Electric Code Book (ECB)

Menggunakan mode ini suatu block cipher yang panjang dibagi dalam

bentuk sequence biner menjadi satu block tanpa mempengaruhi block yang lain,

satu block terdiri dari 64 bit atau 128 bit, setiap block merupakan bagian dari

pesan yang di enkripsi.

Mode ini merupakan suatu enkripsi yang sederhana, kerusakan satu block

data tidak mempengaruhi block lainnya, sehingga jika penerima mendapatkan satu

block yang rusak, maka penerima hanya minta dikirimkan kembali hanya block

yang rusak, tanpa harus meminta semua block, hal ini membantu pengiriman

Page 30: kriptografi image.pdf

block yang rusak dengan cepat. Pada dasarnya sifat yang paling mendasar dari

mode ECB ini adalah

yang sama.

Keuntungan dari mode OBC ini adalah kemudahan dalam implementasi

dan pengurangan resiko salahnya semua

plaintext.. Namun mode ini memiliki kelemahan pada aspek keamanannya.

Dengan mengetahui pasangan

menyusun suatu code book

2.4.5 .2 Mode Cipher

Sistem dari mode

sama akan di enkripsi ke dalam bentuk

cipher yang satu tidak berhubungan dengan

tergantung pada cipher

yang rusak dengan cepat. Pada dasarnya sifat yang paling mendasar dari

mode ECB ini adalah block plaintext. yang sama akan di kodekan menjadi

Sumber : (Yusuf Kurniawan, 2004)

Gambar 2.4 Mode Operasi ECB

Keuntungan dari mode OBC ini adalah kemudahan dalam implementasi

dan pengurangan resiko salahnya semua plaintext. akibat kesalahan pada satu

. Namun mode ini memiliki kelemahan pada aspek keamanannya.

Dengan mengetahui pasangan plaintext. dan ciphertext, seorang cryptanalist

code book tanpa perlu mengetahui kuncinya.

Cipher Block Chainning (CBC)

Sistem dari mode cipher block chainning (CBC) adalah

a akan di enkripsi ke dalam bentuk cipher yang berbeda, disebabkan

yang satu tidak berhubungan dengan block cipher yang lain. Melainkan

cipher yang sebelumnya.

30

yang rusak dengan cepat. Pada dasarnya sifat yang paling mendasar dari

yang sama akan di kodekan menjadi cipher

Keuntungan dari mode OBC ini adalah kemudahan dalam implementasi

akibat kesalahan pada satu

. Namun mode ini memiliki kelemahan pada aspek keamanannya.

cryptanalist dapat

(CBC) adalah plaintext. yang

yang berbeda, disebabkan block

yang lain. Melainkan

Page 31: kriptografi image.pdf

31

K

IV

P1 P2 P3

P1 P2 P3

C1 C2 C3

IV

K K

K K K

DES E

DES E

DES E

DES D

DES D

DES D

Pada CBC digunakan operasi umpan balik atau dikenal dengan operasi

berantai (chaining). Pada CBC, hasil enkripsi dari blok sebelumnya adalah

feedback untuk enkripsi dan dekripsi pada block berikutnya. Dengan kata lain,

setiap block ciphertext dipakai untuk memodifikasi proses enkripsi dan dekripsi

pada block berikutnya.

Sumber : (Yusuf Kurniawan, 2004)

Gambar 2.5 Mode Operasi CBC

Pada CBC diperlukan data acak sebagai block pertama. Blok data acak ini

sering disebut initialization vector atau IV. IV digunakan hanya untuk membuat

suatu pesan menjadi unik dan IV tidak mempunyai arti yang penting sehingga IV

tidak

2.4.5 .3 Mode Cipher Feed Back (CFB)

Pada mode CBC, proses enkripsi atau dekripsi tidak dapat dilakukan

sebelum blok data yang diterima lengkap terlebih dahulu. Masalah ini diatasi pada

mode Cipher Feedback (CFB). Pada mode CFB, data dapat dienkripsi pada unit-

Page 32: kriptografi image.pdf

32

unit yang lebih kecil atau sama dengan ukuran satu block. Misalkan pada CFB 8

bit, maka data akan diproses tiap 8 bit.

Sumber : (Yusuf Kurniawan, 2004)

Gambar2.6 Mode Operasi CFB

Pada permulaan proses enkripsi, IV akan dimasukkan dalam suatu register

geser. IV ini akan dienkripsi dengan menggunakan kunci yang sudah ada. Dari

hasil enkripsi tersebut, akan diambil 8 bit paling kiri atau Most Significant Bit

untuk di-XOR dengan 8 bit dari plaintext.. Hasil operasi XOR inilah yang akan

menjadi ciphertext dimana ciphertext ini tidak hanya dikirim untuk ditransmisikan

tetapi juga dikirim sebagai feedback ke dalam register geser untuk dilakukan

proses enkripsi untuk 8 bit berikutnya.

2.4.5 .4 Mode Output Feedback (OFB)

Sama pada mode CFB, mode OFB juga memerlukan suatu register geser

dalam pengoperasiannya. Pertama kali, IV akan masuk ke dalam register geser

dan dilakukan enkripsi terhadap IV tersebut. Dari hasil proses enkripsi tersebut

akan diambil 8 bit paling kiri untuk dilakukan XOR dengan plaintext. yang

Shift Register Shift Register

1 Byte Terkirii1 Byte Terkirii

8 Byte 8 Byte

DES DES

K K

P1 C1 C1 P1

Page 33: kriptografi image.pdf

33

nantinya akan menghasilkan ciphertext. Ciphertext tidak akan diumpan balik ke

dalam register geser, tetapi yang akan diumpan balik adalah hasil dari enkripsi IV.

Sumber : (Yusuf Kurniawan, 2004)

Gambar 2.7 Mode Operasi OFB

Di dalam algoritma DES dijabarkan menjadi dua bagian yaitu penulisan

pesan dan penguraian pesan.

a. Penulisan Pesan

Perhitungan dalam penulisan pesan pada gambar 2.7 64 bit dari blok input yang

dienkripsi adalah subjek pertamadari permutasi yang disebut permutasi dengan

inisial IP. Perhatikan table permutasi inisial IP pada lampiran 1.

IP

58 50 42 34 26 18 10 2

60 52 44 36 28 20 12 4

62 54 46 38 30 22 14 6

64 56 48 40 32 24 16 8

57 49 41 33 25 17 9 3

Shift Register Shift Register

1 Byte Terkirii1 Byte Terkirii

8 Byte 8 Byte

DES DES

K K

P1 C1 C1 P1

Page 34: kriptografi image.pdf

34

61 53 45 37 29 21 13 5

63 55 47 39 31 23 15 7

Input yang mengalami permutasi mempunyai bit 58 dari input bit pertamanya, bit

50 sebagai bit ke 2 dan bit ke 7 sebagai bit terakhir. Blok input mengalami

permutasi kemudian menjadi input pada perhitungan dan tergantung pada kunci

kompleks.

Output perhitungan ini, disebut preoutput dan output ini akan diteruskan

pada permutasi berikutnya yang mempunyai kebalikan dari permutasi inisial.

Perhatikan table kebalikan dari permutasi inisial IP yaitu IP-1.

IP-1

40 8 48 16 56 24 64 32

39 7 47 15 55 23 63 31

36 6 46 14 54 22 62 30

37 5 45 13 53 21 61 29

36 4 44 12 52 20 60 28

35 3 43 11 51 19 59 27

34 2 42 10 50 18 58 26

33 1 41 9 49 17 57 25

Outout dari algoritma diatas mempunyai bit 40 dari blol preoutput sebagai bit

pertamanya, bit 8 sebagai bit ke dua samapai 25 sebagai bit terakhir.

Perhitungan yang menggunakan blok input dikenakan permutasi sebagai inputnya

untuk mengahsilkan blok preoutput. Tetapi untuk pertukaran blok akhir, dari 16

Page 35: kriptografi image.pdf

35

iterasi dari kalkulasi yang dijelaskan di bawah ini merupakan fungsi cipher f yang

mengoperasikan 12 blok, yaitu salah satu dari 32 bit dan salah satu dari 48 bit.

Kalkulasi tersebut akan menghasilkan blok sepanjang 32 bit.

64 bit dariblok input terdirii dari 32 bit blok L dan diikuti oleh 32 bit blok

L, input blok ini didefinisikan sebagi LR. K menjadi input blok dari 48 bit yang

dipilih dari 64 bit kunci. Kemudian output L’R’ dari iterasi dengan input LR

menghasilkan persamaan 1:

L’=R

R’=L f(R,K) …………….Persamaan (1)

Di mana merupakan penambahan bit demi bit kemudian dibagi 2.

Input iterasi pertama drai perhitungan tadi adalah blok input yang mengalami

permutasi. L’R’ adala output dari iterasi ke 16, kemudian R’L’ adalah blok

preoutput. Pad amasing-masing itersi sebuah blok yang berbeda. K merupakan

kunci bit yang dipilih dari 64 kunci yang ditunjukkan oleh KEY.

Dengan notasi diatas, kita bisa menjelaskan iterasi menjadi lebih rinci. KS

menjadi sebua fungsi yang menggunakan bilangan bulat n dengan jangkauan dari

bilangan 1 sampai bilangan 16 dan blok 64 bit KEY sebagai input serta hasilnya

sebagai output blok 48 bitKn, di mana bisa dilihat pada persamaan 2 berikut:

Kn=KS(n,KEY) …………….Persamaan (2)

Dengan Kn, ditentukan oleh bit dalam posisi bit yang berbeda dengan KEY. KS

disebut kunci schedule karena blok K digunakan dalam iterasi ke-n (persamaan 1)

dan blok Kn ditentukan oleh persamaan 2. Karena sebelumnya blok input

dipermutasikan dengan LR, akhirnya L0 dan R0 berubah menjadi L dan R,

sedangkan Ln dan Rn berubah menjadi L’ dan R’(persamaan 1). Selanjutnya L dan

Page 36: kriptografi image.pdf

36

R berubah menjadi Ln-1 dan Rn-1. K adalah Kn, yaitu ketika n dalam jangkauan

bilangan 1 sampai 16. Perhatikan persamaan 3 berikut ini:

Ln=Rn-1

Rnn=Ln-1 f(Rn-1,Kn) …………..Persamaan (3)

Blok preoutput dari persamaan di atas adalah R16L16

b. Penguraian Pesan

Permutasi IP-1 menerapkan blok preoutput yang merupakan kebalikan dari

permutasi dengan inisial IP. Adapun persamaan 4 berikut ini merupakan

kelanjutan dari persamaan 1.

R’=L

L’=R f(L’,K) ……………Persamaan (4)

Akibatnya, penguraian pesan ini harus menerapkan algoritma yang sama pada

waktu pesan ditulis. Dengan mengambil masing-masing iterasi dari perhitungan

blok yang sama dari kunci bit K maka penguraian itu dilakukan. Dengan

menggunakna notasi-notasi dari persamaan seblumnya. Persamaan 5 berikut ini

menjelaskan kondisi berikut:

Rn-1=Ln

Ln-1=Rn f(Ln,Kn) ……………Persamaan (5)

Setelah adanya persamaan diatas, sekarang R16L16 adlah blok input dari permutasi

dalam perhitungan penguraian dan L0 dan R0 adala blok preoutput. Untuk

penguraian perhitungan dengan R16L16 sebagai input permutasi. K16 digunakan

dalam iterasi yang pertama. K15 sebagai yang kedua dan seterusnya sampai

dengan K1 digunakan dalam iterasi ke-16.

Page 37: kriptografi image.pdf

37

2.6. J2ME

Java menurut definisi Sun adalah nama sekumpulan teknokogi untuk

membuat dan menjalankan perangkat lunak computer standalone ataupun pada

lingkungan jaringan. Java2 adalah generasi kedua dari java platform, java berdiri

diatas sebuah mesin interpreter yang diberi nama Java Virtual Mechine (JVM).

JVM inilah yang akan membaca bytecode dalam file .class dari suatu program

sebagai representasi langsung program yang berisi bahasa mesin. Oleh karena itu

bahasa java disebut sebagai bahasa pemgrograman yang portable karena dapat

dijalankan pada berbagai system operasi, asalkan pada system itu terdapat JVM.

Platform Java memiliki tiga buah edisi yang berbeda yaitu J2EE (Java2

Enterprise Edition), J2ME (Java2 Micro Edition), dan J2SE (Java2 Second

Edition). J2EE adalah kelompok dari beberapa API dari java dan teknologi selain

Java. J2EE dibuat untuk membuat aplikasi yang kompleks. J2EE sering dianggap

sebagai middleware atau teknologi yang berjalan di server, namun sebenarnya

J2EE tidah hanya terbatas untuk itu. Faktanya J2EE juga mencakup teknologi

yang dapat digunakan disemua lapisan dari sebuah sistem informasi.

Implementasi J2EE menyediakan kelas dasar dan API dan java yang mendukung

pengembangan dan rutin standart untuk aplikasi clien maupun server, termasuk

aplikasi yang berjalan di browser. J2SE adalah lingkungan dasar dari java,

sedangkan J2ME (Java2 Micro Edition) adalah lingkungan pengembangan yang

didesain untuk meletakkan perangakat perangkat lunak pada barang elektronik

Page 38: kriptografi image.pdf

38

beserta perangkat pendukungnya. Ruang lingkup keterhubungan J2EE, J2SE, dan

J2ME dapat dilihat pada gambar 2.8 berikut,6

Sumber : (Sholahuddin dan Rosa, 2006)

Gambar 2.9 Ruang lingkup keterhubungan J2SE, J2EE, dan J2ME

Pada J2ME, jika perangkat lunak berfungsi baik pada sebuah perangkat,

maka belum tentu java berfungsi baik pada perangkat lainnya. J2ME membawa

java ke dunia informasi, komunikasi dan perangkat komputasi selain perangkat

komputer dekstop yang biasanya lebih kecil dibandingkan perangakat komputer

dekstop. J2ME biasa digunakan pada telephon seluler, pager, personal digital

assistants (PDA’s), SmartCard, Embedded Device, dan sebagainya.

J2ME adalah bagian dari J2SE, karena itu tidak semua library yang ada

pada J2SE dapat digunakan pada J2ME. Tetapi J2mE mempunyai library khusus

yang tidak dimiliki J2SE. Arsitektur J2ME dapat dilihat pada gambar 2.9 7

6 Sholahuddin dan Rosa AS, Pemrograman J2ME Belajar Cepat Pemrograman

Perangkat Telekomunikasi Mobile, (Bandung : Informatika, 2006), hal 4

7Sholahuddin dan Rosa AS, Pemograman J2ME Belajar Cepat Pemograman

Perangkat Telekomunikasi Mobile, (Bandung: Informatika, 2006), hal 5

J2ME

J2SE

CDC

Fondation Profile

Lainnya

MIDP

CLDC

KVM JVM

Package Opsional

J2EE

Package Opsional

Page 39: kriptografi image.pdf

39

Profile

Configuration Kumpulan Library

JVM

Sistem Operasi

Sumber : (Sholahuddin dan Rosa, 2006)

Gambar 2.10 Arsitektur J2ME

Teknologi J2ME juga mempunyai keterbatasan terutama jika iaplikasikan

pada ponsel. J2mE sangat tergantung pada perangkat (device) yang digunakan,

bisa dari segi merk ponsel, maupun kemampuan ponsel, dan dukungannya

terhadap teknologi J2ME. Misalnya,jika sebuah ponsel tidak memiliki kamera

maka jelas J2ME pada ponsel tersebut tidak dapat mengakses kamera.

Keterbatasannya adalah pada ukuran aplikasi, karena memori pada ponsel sangat

terbatas. Sebagian besar ponsel tidak mengijinkan aplikasi J2ME menulis pada

file karena alasan keamanan.

Konfigurasi adalah sekumpulan API lebel rendah dan mesin maya yang

dioptimasi untuk sekeluarga perangkat. Terdapat dua konfigurasi yang sering

digunakan yaitu:

• CDC (Connected Device Configuration)

• CLDC (Connected Limited Device Configuration)

CDC menyediakan mesin maya dan pustaka kelas dasar yang mendukung aplikasi

java untuk perangkat seperti smart comunicator, pager, PDA, dan television set-

top box. `Perangkat-perangkat ini umumnya memiliki pemroses 32 bit dan

memory lebih dari 2 MB untuk menyimpan mesin maya dan pustaka.

Page 40: kriptografi image.pdf

40

Fungsionalitas mesin maya java dipenuhi CVM virtual mechine yang merupakan

mesin maya dengan fitur penuh.

CLDC menyediakan platform Java standar yang cook untuk perangakat

kecil dengan sumber daya terbatas. Perangkat ini umumnya mempunyai pemroses

16bit atau 32 bit dan memory 160 KByte sampai 512 Kbyte untuk menyimpan

mesin maya dan pustaka. Perangkat-perangajat ini diberdayakan dengan baterai

dan mempunyai konektivitas suatu jenis jaringan, biasanya wiereless dengan

koneksi tak tetap berbanwidth 9600 bps, layar tampil sempit. Inti CLDC adalah

mesin maya K (KVM). Lingkup CLDC dan CDC dapat dilihat pada gambar

2.108

Sumber : (Sholahuddin dan Rosa, 2006)

Gambar 2.11 Lingkup Konfigurasi.

8 Sholahuddin dan Rosa AS, Pemograman J2ME Belajar Cepat Pemograman Perangkat

Telekomunikasi Mobile, (Bandung: Informatika, 2006), hal 6

J2SE

CDC

CLDC

Page 41: kriptografi image.pdf

41

Profile adalah spesifikasi yang merinci kumpulan API yang dibangun

menggunakan konfigurasi. Bersama-sama menyediakan lingkungan jalan lengkap

untuk suatu jenis perangkat. Sebagai contoh implementasi profile adalah: 9

• Foundation profile yang dibangun pada CDC. Profile ini menyediakan

lingkungan jalan J2ME lengkap untuk aplikasi yang ditargetkan pada

gateway, smartphone, dan pager dua arah.

• Contoh lain adalah MIDP (Mobile Information Device Profile) yang

dibangun pada CLDC dan menyediakan lingkungan jalan J2ME

lengkap untuk aplikasi pada perangkat seperti mobile phone dan entry-

level PDA. MIDP mengatasi isu-isu seperti antarmuka pemakai.

MIDP ditargetkan untuk perangkat komunikasi dua arah yang

mengimplementasikan J2ME CLDC dengan fasilitas toolkit, metode pemasukan

dari pemakai, penyimpanan data menggunakan model basisdata berorientasi

record sederhana. MIDP memiliki lapisan diatas CLDC, API tambahan untuk

daur hidup aplikasi, antarmuka, jaringan, dan penyimpanan persistem.

9 Bambang Hariyanto, Esensi-Esensi Bahasa Pemrograman Java, (Bandung: Informatika, 2005),

hal 779

Page 42: kriptografi image.pdf

42

BAB III

ANALISIS DAN PERANCANGAN SISTEM

Pada bab tiga ini akan dilakukan analisis terhadap sistem, yang bertujuan

untuk menemukan solusi dari permasalahan implementasi algoritma DES pada

enkripsi pengiriman image di telepon seluler. Hasil anlisis ini akan membantu

dalam penyelesaian implementasi aplikasi dan penulisan bab selanjutnya,

3.1 Analisis Masalah

Masalah utama pada tugas akhir ini adalah melakukan implementasi

algoritma DES untuk mengenkripsi pengiriman image pada telepon seluler.

Pada subbab berikut akan dibahas analisis dari faktor-faktor penting yang perlu

diperhatikan dalam melakukan implementasi algoritma DES tersebut.

3.1.1 Analisis Struktur Pesan

Struktur Pesan secara garis besar dibagi menjadi dua bagian, yaitu

Message Header dan Message Body. Perlu diperhatikan, pada message header

terdiri dari instruksi-instruksi pada komponen-komponen jaringan SMS, maka

apabila terjadi kehilangan data atau kerusakan data pada bagian message

header akan mengakibatkan pesan gagal kirim.

Sehingga, Agar pesan dapat dikirim dengan baik, dalam melakukan

enkripsi, yang dienkripsi hanya bagian message body saja karena jika bagian

dari message header dienkripsi, maka pesan tidak akan disampaikan dengan

baik. Sebagai contoh, salah satu bagian dari message header adalah nomor

tujuan, apabila nomor tujuan ini dienkripsi, maka nomor tidak akan dapat

Page 43: kriptografi image.pdf

43

dikenali atau berubah menjadi nomor lain sehingga pesan tidak dapat

dikirimkan bahkan salah kirim.

3.1.2 Analisis Algoritma DES

Algoritma DES dalam melakukan proses enkripsi dan dekripsi

menggunakan teknik fietsel yakni sebagai berikut:

Li XOR f(Ri, Ki+1) XOR f(Ri,Ki+1)=Li

Fungsi fietsel ini sudah dibuktikan, sehingga dijamin dapat didekripsi selama

fungsi f dalam setiap tahap dikembalikan juga.

3.1.3 Analisis penerapan enkripsi pengiriman image pada telepon seluler

Algoritma DES merupakan salah satu algoritma yang dianggap cukup kuat

dalam pengamanan data. Aplikasi enkripsi dengan algoritma DES yang akan

dibangun merupakan aplikasi pengiriman dan penerimaan pesan berupa image

yang berdiri sendiri, karena dalam aplikasi ini menggunakan nomor port

khusus. Hal ini didasarkan pertimbangan, bahwa standart aplikasi pengiriman

pesan image dan kemampuan melakukan konkanitasi pada setiap telepon

seluler tidaklah sama, selain itu juga tergantung pada ukuran besar file image

yang akan dikirimkan, sedangkan kemampuan midlet J2ME untuk aplikasi

MMS hanya membatasi maksimal 30KB, maka aplikasi ini tidak mengikuti

jalur port standart jaringan MMS telepon seluler biasa.

Penggunaan nomor port pada sebuah aplikasi pengiriman dan penerimaan

pesan image dapat berdiri sendiri dan tidak mengganggu aplikasi standart yang

terdapat pada telepon seluler. Penerimaan pesan image akan melalui port

tersebut dan akan selalu ditujukan pada nomor port tersebut. Nomor port yang

digunakan tentunya akan menggunakan nomor port yang belum digunakan

Page 44: kriptografi image.pdf

44

oleh aplikasi-aplikasi standar pada telepon seluler. Hal inilah yang

menyebabkan besar ukuran file image harus dibatasi maksimal 30KB, karena

informasi port tersebut ikut dikirimkan. Nomor port tersebut dibawa pada UDH

(User Data Header) pada paket pesan. Pemakian port ini juga menyebabkan

aplikasi dapat berdiri sendiri, namun tidak akan menerima pesan jika aplikasi

ini dipakai pada jenis kartu SIM berjenis CDMA.

Pembangunan aplikasi MMS yang berdiri sendiri akan memiliki

kekurangan yaitu aplikasi tidak akan menerima pesan jika aplikasi tersebut

diaplikasiakn pada telepon seluler CDMA, sehingga hanya dapat digunakan

pada telepon seluler GSM, namun jika aplikasi yang dibangun bukan aplikasi

yang berdiri sendiri maka kompatibilitas aplikasi akan lebih terbatas karena

telepon seluler yang digunakan hanya akan terbatas pada aplikasi standar.

Maka atas dasar alasan tersebut, apalikasi pada tugas akhir ini hanya akan

dapat digunakan pada telepon seluler berjenis GSM saja.

3.1.4 Analisis Dampak Sistem

Pada subbab ini merupakan analisis dampak sistem yang dibangun

terhadap sistem telepon seluler dan juga dampak keamanan yang ditimbulkan

oleh perangakat lunak

a) Dampak perangkat lunak terhadap sistem telepon seluler

Perangkat lunak yang akan dibangan bersifat berdiri sendiri, oleh

karena itu perangkat lunak tersebut tidak melakukan komunikasi atau

berinteraksi dengan aplikasi yang sudah dibangun pada telepon seluler.

Pada dasarnya, sebuah telepon seluler hanya memiliki sebuah saluran

untuk melakukan pengiriman pesan, oleh karena itu ketika perangkat lunak

Page 45: kriptografi image.pdf

45

yang baru dibangun sedang melakukan pengiriman pesan, maka selama

pengiriman pesan itu berlangsung, aplikasi pengiriman pesan yang lain

tidak dapat melakukan pengiriman pesan, begitu pula sebaliknya. Hal

sama juaga terjadi ketika penerimaan pesan, walupun menggunakan nomor

port berbeda, namun pada dasarnya saluran penerimaan pesan pada telepon

seluler hanya satu, nomor port tersebut hanya digunakan untuk menandai

aplikasi yang akan menerima pesan.

b) Dampak keamanan oleh perangkat lunak

Dengan dienkripsinya pesan image yang dikirimkan, maka

serangan berjenis man-in-the-middle-attack yang terjadi ketika pesan

berada pada jaringan SMS maupun MMS dapat dihindarkan. Pesan image

yang dikirimkan oleh pengirim akan berhenti di Multimedia Message

Center, sehingga memungkinkan penyerang dapat membuka pesan image

tersebut, namun dengan dienkripsinya pesan image tersebut, penyerang

tidak akan dapat membuka dan melihat image yang dikirim,

kerahasiaanpun akan tetap terjaga apabila terjadi salah kirim, karena tanpa

memasukkan kunci yang benar, pesan tidak akan dapat terbaca.

3.2 Analisis Kebutuhan Perangkat Lunak

Pada subbab ini akan dilakukan analisis dari proses pembangunan

perangkat lunak berdasarkan analisis yang telah dilakukan pada subbab

sebelumnya. Perangkat lunak yang akan di bangun di beri nama The Security

Sendding Image yang penulis singkat menjadi TSSI Ver.01. Analisis yang akan

dibahas meliputi analisis kebutuhan perangkat lunak, perancangan arsitektur

perangkat lunak dan proses perangkat lunak.

Page 46: kriptografi image.pdf

46

3.2.1 Deskripsi umum sistem

Sistem yang akan dibangun, merupakan perangkat lunak yang diterapkan

pada telepon seluler dan memiliki fungsi untuk melakukan enkripsi pesan

berupa image. Perangkat lunak yang dibangun harus dapat melakukan

pengiriman dan penerimaan pesan.

Pengguna akan berinteraksi dengan perangkat lunak melalui user interface

yang disediakan oleh perangkat lunak. Pengguna memasukkan image melalui

menu yang terdapat pada perangkat lunak, pesan image akan dienkripsi

kemudian dikirimkan melalui jaringan MMS. Secara umum, arsitektur global

proses pengiriman pesan pada telepon seluler dapat dilihat pada gambar berikut

ini.

Gambar 3-1: arsitektur proses pengiriman MMS

Data yang akan digunakan dalam sistem:

1. Pesan berupa Image

2. Pesan image yang terenkripsi

3. Data kunci enkripsi

4. Pesan image keluaran

Untuk lebih jelas bagaimana data tersebut akan bekerja pada sistem, dapat

dilihat pada alur proses sistem di bawah ini:

Jaringan MMS

Pengirim Pengirim

MMS dikirim

MMS diterima

Pengirim

Page 47: kriptografi image.pdf

47

Sumber : (Dony Arius, 2006)

Gambar 3-2 : Alur proses sistem pengiriman dan menerimaan pesan yang terenkripsi

Data kunci Enkripsi

Key Setup

Data Pesan Image

E

Data Pesan Terenkripsi

D

Key Setup

Data kunci Dekripsi

Pesan Image Keluaran

Page 48: kriptografi image.pdf

48

Page 49: kriptografi image.pdf

49

Page 50: kriptografi image.pdf

50

Page 51: kriptografi image.pdf

51

Page 52: kriptografi image.pdf

52

Page 53: kriptografi image.pdf

53

Page 54: kriptografi image.pdf

54

3.2.2 Analisa Spesifikasi dan Kebutuhan Perangkat Lunak

Perangkat lunak yang akan dibangun memiliki dua buah fitur utama, yaitu:

1. Melakukan Enkripsi pengiriman pesan image pada telepon seluler dengan

algoritma DES. Pada perangkat ini pengguna harus memasukkan image

Page 55: kriptografi image.pdf

55

sebagai pesan yang akan dikirim ke nomor tujuan tertentu yang kemudian

dapat dienkripsi dan dikirimkan ke nomor tujuan oleh perangkat lunak

yang akan dibangun ini.

2. Melakukan dekripsi dari MMS image terenkripsi yang telah diterima oleh

telepon seluler dengan algoritma DES. Sehingga Perangkat lunak harus

dapat menerima pesan image yang telah terenkripsi dan perangkat lunak

juga harus dapat mendekripsi dengan baik pesan yang telah terenkripsi

tersebut, jika kunci dimasukkan dengan benar.

Agar kedua fitur tersebut dapat terpenuhi dan pengguna dapat menggunakan

sistem dengan mudah, maka perangkat lunak yang akan dibangun memeliki

beberapa kebutuhan yang harus tersedia pada perangkat lunak, adapun

kebutuhan tersebut adalah:

a. Sistem memiliki kemampuan untuk dapat melakukan pengiriman pesan

berbentuk binary

b. Sistem dapat melakukan enkripsi pesan image dengan menggunakan

algoritma DES

c. Sistem harus dapat menerima pesan. Untuk dapat menerima pesan image

yang terenkripsi tersebut, sistem harus dapat berjalan terus dan dapat

memberikan pemberitahuan jika pesan datang.

d. Sistem harus mampu melakukan dekripsi. Pesan yang telah terenkripsi

arus dapat dikembalikan menjadi pesan semula jika memasukkan kunci

dari pengguna dengan benar.

Page 56: kriptografi image.pdf

56

Selain kebutuhan fungsional diatas, sistem juga arus mempunyai kebuthan non

fungsional, untk memudahkan pengguna dalam mengoperasikan sistem,

diantaranya:

1. Interface yang menarik dan dapat dimengerti, sehingga pengguna dapat

mengoperasikan sistem dengan mudah

2. Menyediakan menu help/bantuan

3.2.3 Model Use Case

Hal-hal yang dapat dilakukan oleh pengguna terhadap sistem ketika

mengirim ddan menerima pesan image dapat dilihat pada gambar diagram use

case global berikut ini:

Gambar 3.3: Use Case Global Sistem

Penjelasan use case diatas adalah sebagai berikut:

1. Mengirim pesan terenkripsi

Pengguna dapat melakukan pengiriman pesan melalui MMS, pesan yang

dikirim berupa pesan image yang telah terenkripsi. Pada use case dilakukan

pula proses penginputan kunci sebelum pesan image dikirimkan. Use Case

detail dan Activity Diagram untuk pengiriman pesan image dapat dilihat pada

Mengenkripsi Pesan Image

User

Mendekripsi Pesan terenkripsi

Page 57: kriptografi image.pdf

57

gambar sebagai berikut:

Gambar 3.4: Use Case Sistem Pengiriman Enkripsi Image

inputImage

KirimEnkripsiImage

Bantuan

UserPengirim

SYSTEM

MasukkanKunci EnkripsiImage

<<extend>>

Start

input Image

input kunci

input no. tujuan

mengenkripsi pesan image

mengirimkan pesan terenkripsi

selesai

SystemUser Pengirim

Page 58: kriptografi image.pdf

58

Gambar 3.5: Activity Diagram proses pengiriman MMS

2. Mendekripsi pesan yang diterima

Pengguna dapat menerima pesan yang telah dikirim oleh perangkat lunak.

Pesan Image yang diterima telah terenkripsi akan dapat didekripsikan dan

kembali menjadi image awal jika kunci yang dimasukkan benar, sehingga

penerima dapat mengetahui pesan image yang telah diterima. Pada use

case ini, terdapat proses penerimaan pesan, pemrosesan kunci kunci untuk

proses dekripsi, kemudian pesan image ditampilkan. Proses dari use case

menerima pesan detail dan Activity Diagram penerimaan pesan dapat

dilihat pada gambar berikut ini:

Gambar 3.6: Use case Penerimaan Pesan

TerimaPesan

verifikasikunciuserPenerima DekripsiPesan

<<extend>>

SYSTEM

Page 59: kriptografi image.pdf

59

Gambar 3.6: Activity Diagram penerimaan pesan terenkripsi

3.2.4 Analisis Kelas pada Perangkat Lunak

Berikut adalah kelas-kelas yang akan dibutuhkan pada perangkat lunak yang

akan dibangun:

1. Kelas User Interface

Kelas Interface merupakan kelas yang berfungsi sebagai antar muka

antara pengguna dengan perangkat lunak yang akan dibangun.

Pengguna akan berinterakasi dengan perangkat lunak melalui menu-

menu yang telah disediakan oleh perangkat lunak, seperti memasukkan

Memasukkan kunci

Menerima pesan Image

Start

Verifikasi kunci

kunci benar

tidak

ya

Dekripsi pesan Image Terenkripsi

pesan "Eror"

selesai

User PenerimaSytem penerimaan

Page 60: kriptografi image.pdf

60

image yang akan dikirim, membuka petunjuk penggunaan sistem.

Selain itu perangkat lunak ini akan memberi sebuah peringatan kepada

pengguna apabila ada pesan masuk.

2. Kelas DES

Pada Kelas ini, terdapat algoritma DES yang akan melakukan enkripsi

dan dekripsi pesan image. Selain itu, kelas ini juga berfungsi untuk

memproses kunci yang telah dimasukkan oleh pengguna untuk diproses

dengan pesan yang akan dienkripsi dan didekripsi.

3. Kelas MMS Sender

Kelas MMS sender ini merupakan kelas yang berfungsi untuk

penginputan nomor tujuan, dan kunci. Dan pada kelas ini juga

dilakukan proses pengiriman image kepada nomor tujuan.

4. Kelas MMS Receiver

Proses penerimaan pesan image dilakukan pada kelas MMS Receiver,

kemudian di kelas ini pula dilakukan proses input kunci, dan

selanjutnya akan di dekripsi oleh kelas DES jika kunci yang

dimasukkan oleh penerima pesan tersebut benar.

5. Kelas RMS (Record Menegemant Sistem)

Kelas RMS adalah kelas yang mengatur penyimpanan berbentuk

record. Fungsi RMS sama dengan data base yang sering kita pakai

dalam pemrograman berbasis dekstop. Dalam kelas RMS inilah

terdapat pengaturan penyimpanan MMS yang dikirim.

Berikut ini gambar Class Diagram sistem Enkripsi pengiriman Image dengan

algoritma DES:

Page 61: kriptografi image.pdf

61

Gambar 3.7: Clas Diagram Sytem

DESMMS_Sender

MMS_Recieve RMS

UserInterface

Page 62: kriptografi image.pdf

62

BAB IV

HASIL DAN PEMBAHASAN

Lingkungan implementasi yang akan dipaparkan disini meliputi

lingkungan perangkat keras dan lingkungan perangkat lunak.

4.1 Lingkungan perangkat keras

Perangkat keras yang digunakan dalam pengembangan sistem enkripsi image

dan uji sistem meliputi:

a. Perangkat keras pengembangan sistem dalam lingkup simulasi:

1. Intel(R) Core(TM) 2 Duo 2,53 GHz

2. RAM 1024 MB

3. HardDisk 80 GB

4. Keyboard

5. Mouse

6. Monitor 16”

b. Perangkat keras dalam uji sistem:

1. Handphone Nokia N730

2. Handphone Sony Erycson Type S312

3. Card Reader iTech

4.2 Lingkungan Perangkat Lunak

Perangkat lunak yang digunakan dalam pengembangan sistem enkripsi

pengiriman image ini adalah :

Page 63: kriptografi image.pdf

63

1. Sistem Operasi Windows Xp Service pack 2.

2. jdk1.6.0_10

3. NetBeans IDE 6.0

4. J2ME Wireless toolkit 2.2

5. Library Bouncycastle

4.3 Implementasi Sistem

Sistem yang akan di implementasikan menggunakan bahasa pemrograman

Java2 Micro Edition (J2ME) dengan antar muka sebagai berikut:

4.3.1 Halaman Menu Utama

Pada halaman ini pengguna diberikan beberapa menu atau fitur-fitur untuk

dapat meneruskan proses sesuai dengan kebutuhan pengguna. Menu-menu tersebut

antara lain:

a. Create Message

b. Inbox

c. Help

d. Properties

e. About

Kode program halaman Menu Utama sebagaimana dibawah ini dengan class file

MenuUtama.java:

Page 64: kriptografi image.pdf

64

Bagian kode

try { alertpesan= Image.createImage("/picture/alertpesan.png"); alertError= Image.createImage("/picture/alerterror.png"); ………………………… } catch (Exception e) {} Merupakan proses membuat menu image, aplikasi akan langsung mengakses file

yang terdapat pada direktori picture, diberikan sebuah statemen try catch untuk

menangkap error jika file gambar yang dicari ternyata tidak ada, sehingga membuat

aplikasi menjadi error, selain itu juga terdapat kode

this.append("Create MMS", tulisPic);

//menempelkan ticker/tulisan berjalan pada menu tck =new Ticker(" Choose the menu that you want .::-The Scurity of Sending Image-::."); this.setTicker(tck); peringatan_alert= new Alert("Information","", null, AlertType.INFO);

try { // akses dan input image pada direktori alertpesan= Image.createImage("/picture/alertpesan.png"); alertError= Image.createImage("/picture/alerterror.png"); alertSend= Image.createImage("/picture/sent.png"); tulisPic =Image.createImage("/picture/tulismms.png"); recivePic =Image.createImage("/picture/inboxmms.png"); helpPic =Image.createImage("/picture/help.png"); sistemPic =Image.createImage("/picture/sistem.png"); aboutPic =Image.createImage("/picture/about.png"); } catch (Exception e) {} peringatan_alert.setTimeout(3000); // menempelkan image pada form menu pilihan this.append("Create MMS", tulisPic); this.append("Inbox MMS", recivePic); this.append("Help", helpPic); this.append("Sistem Properties", sistemPic); this.append("About", aboutPic); //menempelkan tombol exit pada form exit = new Command("Exit",Command.EXIT, 1); // this.setCommandListener(this);

this.addCommand(exit);

class file MenuUtama.java

Page 65: kriptografi image.pdf

65

this.append("Inbox MMS", recivePic); ……………………………………….. exit = new Command("Exit",Command.EXIT, 1); this.setCommandListener(this);

adalah kode proses untuk menenpelkan tombol command dan gambar pada form,

sedangkan peringatan_alert= new Alert("Information","", null, AlertType.INFO);

peringatan_alert.setTimeout(3000); Merupakan proses untuk memberikan peringatan

kepada pengguna berupa suara dan message. Berikut ini adalah gambar tampilan

Menu Utama:

Gambar 4.1: Halaman Menu Utama

Dalam gambar di atas terdapat 5 menu List yang harus dipilih, dengan

masing-masing fungsi sebagai berikut:

Page 66: kriptografi image.pdf

66

4.3.2 Create Message

Menu ini berfungsi untuk membuat pesan Image yang akan dikirimkan ke

nomor tujuan. Selain itu pada menu ini juga terdapat input kunci atau password untuk

proses enkripsi sebelum pesan dikirimkan ke nomor tujuan. Kode program dari

halaman Create Message dapat dilihat dibawah ini :

Sebagaimana penjelasan kode program sebelumnya, bagian kode

cmSend = new Command("Kirim", Command.OK, 1); cmExit = new Command("Keluar", Command.EXIT, 1); cmgb1= new Command("Gambar 1", Command.OK, 1); ………………………………………….. Merupakan poses menu untuk memilih gambar yang akan dikirim, ketika pengguna

memilih gambar 1 maka, sistem akan mengakses image pada direktori picture dengan

//membuat menu input gambar cmSend = new Command("Kirim", Command.OK, 1); cmExit = new Command("Keluar", Command.EXIT, 1); cmgb1= new Command("Gambar 1", Command.OK, 1); cmgb2= new Command("Gambar 2", Command.OK, 1); cmgb3= new Command("Gambar 3", Command.OK, 1); cmgb4= new Command("Gambar 4", Command.OK, 1); cmgb5= new Command("Gambar 5", Command.OK, 1); this.setTicker(ticker); setCommandListener(this); addCommand(cmgb1); addCommand(cmgb2); addCommand(cmgb3); addCommand(cmgb4); addCommand(cmgb5); addCommand(cmSend); addCommand(cmExit); // input akses dan diretori image try { bg1 = Image.createImage("/picture/gambar1.jpg"); bg2 = Image.createImage("/picture/gambar2.jpg"); bg3 = Image.createImage("/picture/gb3.jpg"); bg4 = Image.createImage("/picture/gb4.jpg"); bg5 = Image.createImage("/picture/gb1.jpg"); } catch (java.io.IOException e) { Sistem.out.print("tidak ditemukan gambar"); } gambartampil= new ImageItem("", null,ImageItem.LAYOUT_CENTER, "");

class file tulisMms_frm1.java

Page 67: kriptografi image.pdf

67

nama file gambar1.jpg dan menampilkannnya melalui kode gambartampil= new

ImageItem("",null,ImageItem.LAYOUT_CENTER, ""); Tampilan untuk halaman Create

Message sebagaimana gambar di bawah ini:

Gambar 4.2 : Halaman Input Pesan

4.3.3 Inbox Message

Menu ini merupakan, kelas untuk menyimpan semua pesan yang masuk

dalam sistem, semua pesan yang diterima akan di simpan dalan Record Store

sehingga peran kelas ini sama dengan data base sistem pada aplikasi berbasis dekstop.

Adapun kode program halaman inbox adalah sebagai berikut:

tck =new Ticker("MMS akan disimpan pada MMS ke "+(midlet.data_obj.ambilID("dataMms")-1)); // akses RMS dengan obyek midlet this.setTicker(tck); cback = new Command("Back", Command.BACK, 1); cLihat = new Command("lihat", Command.ITEM, 1); addCommand(cLihat); //menempel command atau tombol addCommand(cback);

setCommandListener(this);

// membuat menu inbox this.append("", null); this.append("", null);

class file inboxReceiveMms_frm.java

Page 68: kriptografi image.pdf

68

Kode (midlet.data_obj.ambilID("dataMms")-1) merupakan proses untuk memanggil data

pada Record Store sytem dengan nama dataMms, untuk menampilkan informasi

nomor pengirim dan waktu pengiriman pesan. Sedangkan kode this.append("", null)

berfungsi untuk membuat menu gambar inbox. Di bawah ini merupakan gambar

tampilan dari halaman Inbox Sistem.

Gambar 4.3: Halaman Inbox Pesan

4.3.4 Help

Page 69: kriptografi image.pdf

69

Menu ini merupakan menu berisi tentang petunjuk dan bantuan bagi

pengguna untuk menjalankan sistem, berikut ini merupakan kode program dan

gambar tampilan halaman Help dengan class file help.java:

Gambar 4.4: Halaman Bantuan

4.3.5 Sistem Propertis

//menempel item image pada form append(new ImageItem(null, image,ImageItem.LAYOUT_CENTER, null)); // menempel item string pada form append(" Aplikasi the Security of Sending Image adalah aplikasi untuk mengenkripsi Pesan Image" +"yang akan dikirim agar kerahasiaan pesan tetap terjaga. " +"\n Aplikasi ini menggunaan algoritma enkripsi DES. " +"\n Aplikasi ini harus di instal pada kedua handphone atau device " +"dan harus sama-sama aktif. " + "Untuk mengirim enkripsi Image, " + "pengguna harus memasukan password sejumlah 8 character. " + "\n Untuk membuka pesan Image, pengguna harus memasukkan password yang sama " + "dengan password ketika akan dikirim. " ); append( "PETUNJUK PENGGUNAAN the Encryptor Delivered Image \n"+ "1. Untuk Enkripsi \n "+ " Masukkan pesan Image -> Menu ->pilih gambar \n"+ "2. Untuk Dekripsi \n "+ " Buka pesan -> dekripsi \n"+ "By Irjatul Wardah");

class file

Page 70: kriptografi image.pdf

70

Pada class ini merupakan menu untuk mengeluarkan data-data mengenai

dukungan terhadap multimedia atau properti apa saja yang terdapat pada perangkat

yang digunakan. Di bawah ini merupakan kode program dari class Sistem.java:

Pada potongan kode program diatas terdapat kode sebagai berikut message = message

+ midlet.propbuf; s2 = new StringItem( message,""). Kode tersebut berfungsi untuk

memanggil dan mengeluarkan data-data mengenai dukungan terhadap multimedia

dan property Midlet perangkat.

4.3.6 About

Menu ini merupakan menu yang menjelaskan tentang versi sistem, berikut ini

kode program class about.java:

4.3.7 Fungsi Enkripsi

cmBack = new Command("Menu Utama", Command.BACK, 1); addCommand(cmBack); setCommandListener(this); message = message + midlet.propbuf; s2 = new StringItem( message,""); append(new ImageItem(null, image,ImageItem.LAYOUT_CENTER, null)); append(s2);

class file sistem.java

cmBack = new Command("Menu Utama", Command.BACK, 1); addCommand(cmBack); setCommandListener(this); message = message + midlet.propbuf; // fungsi untuk memngetahui property device // menempel dan menampilkan item keterangan property device pada form s2 = new StringItem( message,""); append(new ImageItem(null, image,ImageItem.LAYOUT_CENTER, null)); append(s2);

class file sistem.java

s2= new StringItem("Aplikasi The Security of Sending Image " +"\nBy",null);

//s2.setLayout(s2.LAYOUT_CENTER); append(new ImageItem(null, image,ImageItem.LAYOUT_CENTER, null)); append(s2); append("\nIRJATUL WARDAH " +"\n05550046 " +"\nTeknik informatika UIN Malang"

+"\n\n\n\n\[email protected]" ); cmBack = new Command("Menu Utama", Command.BACK, 1); addCommand(cmBack); setCommandListener(this);

class file about.java

Page 71: kriptografi image.pdf

71

Fungsi ini berfungsi untuk melakukan proses enkripsi pesan, setelah pengguna

memasukkan kunci, maka sistem akan secara otomatis mengauntentifikasi kunci.

Dalam proses enkripsi ini, dilakukan 2 cara yaitu dengan cara mengenkripsi file dan

mengenkripsi pixelnya.

a. Proses enkripsi file dilakukan dengan cara merubah image menjadi stream, berikut

ini potongan kode program proses enkripsi file:

Sistem akan mengambil kunci yang dimasukkan oleh pengguna dari TextField

kemudian merubahnya menjadi byte array dengan menggunakan kode program

if(pass1.getString().equals(pass2.getString())), kemudian sytem akan merubah image ke

bentuk stream, dan selanjutnya dirubah menjadi byte array untuk dilakukan proses

enkripsi dengan menggunakan kode dibawah ini:

if(pass1.getString().equals(pass2.getString())) { //obyek class proses enkripsi midlet.des=new Encryptor(pass1.getString()); try { //enkripsi image // merubah image ke stream/byte InputStream is = getClass().getResourceAsStream(lokasiImage); byte[] contents = new byte[is.available()]; is.read(contents); //proses enkripsi enkrip = midlet.des.encrypt(contents); // memasukkan nomor telephon tujuan midlet.phoneInput_obj = new tulisMms_frm2(midlet, display,enkrip,

midlet.mmsPort); display.setCurrent(midlet.phoneInput_obj); } catch (CryptoException ex) { Sistem.out.print("error"+ ex.getMessage()); } catch(Exception e) { Sistem.out.print("erorr "+e); }

}

Page 72: kriptografi image.pdf

72

InputStream is = getClass().getResourceAsStream(lokasiImage); byte[] contents = new byte[is.available()]; is.read(contents); enkrip = midlet.des.encrypt(contents);

b. Memproses enkripsi dengan cara mencari pixel image dari nilai RGB image,

berikut ini kode program untuk mencari nilai RGB image:

try{ Image img=Image.createImage(lokasiImage); // mencari nilai RGB image int[] rgb=new int[img.getWidth()*img.getHeight()]; byte[] Brgb=new byte[rgb.length*4]; // merubah nilai int ke byte array int inw=0; img.getRGB(rgb, 0, img.getWidth(), 0, 0, img.getWidth(), img.getHeight()); for(int i=0; i<rgb.length; i++) { int p=rgb[i]; int alpha, red, green, blue; alpha=((p & 0xFF000000)>>32); red=((p & 0x00FF0000)>>16); green=((p & 0x0000FF00)>>8); blue=((p & 0x000000ff)>>0); Brgb[i*4]=(byte)alpha; Brgb[i*4+1]=(byte)red; Brgb[i*4+2]=(byte)green; Brgb[i*4+3]=(byte)blue; } enkrip=midlet.des.encrypt(Brgb); // proses enkripsi

midlet.phoneInput_obj = new tulisMms_frm2(midlet, display,enkrip, midlet.mmsPort); /

display.setCurrent(midlet.phoneInput_obj); } catch (CryptoException ex) { System.out.print("error"+ ex.getMessage()); } catch(Exception e) { System.out.print("erorr "+e); }

Page 73: kriptografi image.pdf

73

Gambar 4.5 Pesan Image type file JPG sebelum dan sesudah di enkripsi

Gambar 4.6 Pesan Image type file PNG sebelum dan sesudah di enkripsi

Pada potongan kode img.getRGB(rgb, 0, img.getWidth(), 0, 0, img.getWidth(),

img.getHeight()); merupakan potongan kode untuk mendapatkan nilai RGB dari image

inputan yang akan dienkripsi. Pada potongan kode program 2 proses enkripsi diatas,

baik pada proses enkripsi file maupun pixel, terdapat sebuah obyek class des, class

ini merupakan obyek dari class Encryptor yang berfungsi untuk memanggil class dari

package library untuk mengenkripsi pesan image yaitu class DESEngine. Sedangkan

Page 74: kriptografi image.pdf

74

DESEngine merupakan library class inti, karena dalam class ini terdapat pemrosesan

kunci dan block. Berikut ini kode program pemroses kunci pada class DESEngine :

Pc1 merupakan method yang berfungsi untuk pemrosesan permutasi pertama, dan

hasil dari permutasi pertama selanjutnya di permutasi kembali dengan method pc2.

Hal ini dilakukan terus menerus hingga 16 kali putaran.

Setelah pemrosesan kunci, selanjutnya dilakukan pemrosesan blok pesan,

dengan cara dilakukan proses permutasi awal pada block data 64 bit, block data

tersebut dibagi menjadi 2, yaitu blok kanan (Right) dan blok kiri (Left). selain itu

terdapat method-method yang menunjukkan proses substitution box sebanyak 8 buah

iterasi. Permutasi dilakukan kembali pada kombinasi hasil stubtitusi dari SP1-SP8,

kemudian hasil permutasi di XOR, hal ini dilakukan hingga 16 kali putaran.

Permutasi akhir dilakukan kembali dengan table permutasi yang merupakan invers

dari permutasi awal.

Pemrosesan Kunci static byte[] pc1 = //method permutasi choice 1 { 56, 48, 40, 32, 24, 16, 8, 0, 57, 49, 41, 33, 25, 17, 9, 1, 58, 50, 42, 34, 26, 18, 10, 2, 59, 51, 43, 35, 62, 54, 46, 38, 30, 22, 14, 6, 61, 53, 45, 37, 29, 21, 13, 5, 60, 52, 44, 36, 28, 20, 12, 4, 27, 19, 11, 3 }; static byte[] totrot = { 1, 2, 4, 6, 8, 10, 12, 14, 15, 17, 19, 21, 23, 25, 27, 28 }; static byte[] pc2 = //method permutasi choice 2 { 13, 16, 10, 23, 0, 4, 2, 27, 14, 5, 20, 9, 22, 18, 11, 3, 25, 7, 15, 6, 26, 19, 12, 1, 40, 51, 30, 36, 46, 54, 29, 39, 50, 44, 32, 47, 43, 48, 38, 55, 33, 52, 45, 41, 49, 35, 28, 31 };

Page 75: kriptografi image.pdf

75

4.3.8 Fungsi Dekripsi

Sebagaimana fungsi enkripsi di atas, fungsi dekripsi juga membutuhkan input

kunci yang sama dengan kunci ketika proses enkripsi. Ketika pengguna memasukkan

kunci yang benar, sistem akan secara otomatis melakukan dekripsi pesan. Proses

dekripsi sebagaimana proses enkripsi, mempunyai 2 cara proses yakni dekripsi file

dan dekripsi pixel dari nilai RGB image.

a. Proses dekripsi file pesan yang terenkripsi dimulai dari memanggil data pesan

yang telah diterima dan disimpan pada RMS system dengan menggunakan kode

Kemudian dilakukan proses dekripsi pesan dengan menggunakan kode program

berikut ini:

b. Proses dekripsi pixel image pesan yang terenkripsi dimulai dari memanggil data

pesan yang telah diterima dan disimpan pada RMS system, kemudian dilakukan

proses dekripsi dengan kode program:

midlet.data_obj.open_RecordStore("dataMms"); byte[] viewg=midlet.data_obj.readData(namaMms+2);

midlet.data_obj.open_RecordStore("dataMms"); byte[] dekrip = des.decrypt(midlet.data_obj.readData(namaMms+2)); byte[] kk=dekrip; Image image = Image.createImage(kk, 0, kk.length); receiveMms_frm3 form = new receiveMms_frm3(midlet, display, image); display.setCurrent(form);

//proses dekripsi byte[] dekrip = des.decrypt(midlet.data_obj.readData(namaMms+2)); //memanggil pesan // proses merubah byte array ke integer array ByteArrayInputStream bin=new ByteArrayInputStream(dekrip); DataInputStream din=new DataInputStream(bin); int remaining=(dekrip.length)/4; int[] rawdata=new int[remaining]; for(int k=0; k<rawdata.length; k++) { rawdata[k]=din.readInt(); } bin.close(); din.close();

Page 76: kriptografi image.pdf

76

Pada potongan kode program diatas terdapat proses convert dari byte array

ke integer array, hal ini berfungsi untuk membuat image baru hasil dari dekripsi

system, baru kemudian membuat image baru hasil dari dekripsi system.

Berikut ini gambar pesan image yang diterima sebelum dan sesudah di dekripsi

,

Gambar 4.7 Pesan Image type file JPG yang diterima sebelum dan sesudah didekripsi

Page 77: kriptografi image.pdf

77

Gambar 4.8 Pesan Image type file PNG yang diterima sebelum dan sesudah

didekripsi

4.3.9 Fungsi Pengiriman dan Penerimaan Pesan

Pesan Image yang telah dipilih oleh pengguna dan terenkripsi akan di

kirimkan ke nomor tujuan dengan menggunakan fungsi-fungsi sebagai berikut:

4.3.9.1 Pengiriman Pesan Image

Ketika Pesan Image terenkripsi dan telah dirubah ke bentuk byte, sistem akan

secara otomatis membuka koneksi MMS, memaket pesan, dan mengirimkannya,.

Proses tersebut dilakukan dengan kode sebagai berikut:

Sedangkan dalam pemaketan pesan Image yang telah dirubah menjadi byte akan

ditambahkan pada MessagePart, kode pemaketan pada metode ini adalah sebagai

berikut:

mmsconn = (MessageConnection) Connector.open(address); MultipartMessage mmmessage = (MultipartMessage) mmsconn.newMessage(MessageConnection.MULTIPART_MESSAGE); mmmessage.setAddress(address); MessagePart[] parts = getParts(part); for (int i = 0; i < parts.length; i++){ mmmessage.addMessagePart(parts[i]);} //tulis time..................... mmmessage.setSubject("MMS Pertama"); mmsconn.send(mmmessage); al.setImage(midlet.mUtm.alertSend);

display.setCurrent(al,midlet.MSFormSend_obj);

mimeType = "image/jpg"; try { mpart = new MessagePart(msg, 0, msg.length,mimeType,"id" + counter,"contentLocation", null); parts.addElement(mpart); counter ++; } catch(Exception e) {

Page 78: kriptografi image.pdf

78

4.3.9.2 Penerimaan Pesan Image

Pada fungsi penerimaan pesan ini, sytem membuka koneksi dan mengeset

MessageListener untuk menangkap even jika ada pesan yang masuk, prosesnya

dilakukan dengan kode program sebagai berikut:

mmsconn = (MessageConnection) Connector.open(mmsConnection); mmsconn.setMessageListener(this); Kemudian jika MMS telah masuk, maka sistem otomatis mengambil alamat pengirim,

subjek MMS, dan waktu pengiriman MMS dengan menggunakann kode program

sebagai berikut:

4.4 Pengujian Perangkat Lunak

Pengujian yang dilakukan dibagi menjadi 2 bagian yaitu pengujian performansi

perangkat lunak, pengujian enkripsi dan dekripsi, dan analisis Root Mean Square

(RMSE). Dalam pengujian ini, plainteks atau pesan gambar telah disediakan pada

msg = mmsconn.receive(); if (msg != null) { senderAddress =msg.getAddress(); if (msg instanceof MultipartMessage) { al.setTitle("MESSAGE"); al.setString("MMS Accepted"); al.setImage(mUtm.alertpesan); al.setType(AlertType.INFO); display.setCurrent(al); MultipartMessage mpm = (MultipartMessage)msg; String k = mpm.getTimestamp().toString();

}

Page 79: kriptografi image.pdf

79

menu sistem, untuk lebih jelasnya pesan gambar dan keterangan ukuran gambar dapat

dilihat pada table 4.1 yang terlampir pada Lampiran 2.

4.4.1 Pengujian Performansi Perangkat Lunak

Pengujian ini dilakukan dengan melakukan pengujian terhadap algoritma

enkripsi yang diimplementasikan oleh perangkat lunak. Pengujian ini dilakukan

pada telepon seluler Nokia 5530 dan Nokia 2700 yang memiliki memory card 2

MB dan Sony Ericsson G502 dan S312 dengan memory card 1GB. Dan setelah

dilakukan pengujian dengan cara menginstal aplikasi pada setiap HP, diperoleh

beberapa masalah sebagaimana tertera pada table 4.1 yang terlampir pada lampiran

3.

Setelah dilakukan pengujian perangkat lunak terhadap device, sebagaimana

terlampir pada lampiran 4 berikut ini hasil uji coba perangkat lunak terhadap

beberapa device sebagaimana disebutkan diatas antara lain:

4.4.1.1 Pengujian perangkat lunak dengan cara enkripsi file image

a. Penginstalan perangkat lunak pada hp Nokia type 5530, 2700 dan Sony Ericsson

G502,berhasil dilakukan, dan aplikasi dapat dijalankan. Sedangkan pada hp Sony

Ericsson S312 tidak dapat diinstal dan muncul pesan Out Of Memory Error

java/lang/OutOfMemoryError, hal ini desebabkan MIDP dan fitur hp pada Sony

Ericsson type S312 tidak mendukung WMA multipart.

b. Pesan image dapat dienkripsi dan dikirim dengan baik

c. Pesan image terenkripsi yang dikirimkan tidak bisa masuk pada inbox aplikasi,

tetapi masuk pada inbox standart telephon seluler, dan tidak dapat dilihat isi

pesannya.

Page 80: kriptografi image.pdf

80

d. Tidak bisa melakukan proses dekripsi karena pesan yang dikirim tidak bisa

masuk pada inbox aplikasi.

4.4.1.2 Pengujian perangkat lunak dengan cara enkripsi pixel image

Penginstalan perangkat lunak pada hp Nokia type 5530, 2700 dan Sony

Ericsson G502, S312 tidak berhasil diinstal dan muncul pesan Out Of Memory

Error java/lang/OutOfMemoryError. Sehingga kriptografi dengan cara enkripsi

dekripsi pixel gambar ini, belum dapat diaplikasikan pada device, akan tetapi

secara simulasi proses enkripsi dan dekripsi pixel image ini dapat berjalan dengan

baik.

Oleh karena itu dalam pembahasan uji coba sistem selanjutnya, penulis

hanya akan menjelaskan sesuai dengan hasil uji coba sistem menggunakan

emulator atau simulator saja.

4.4.2 Pengujian Kunci

Pada bagian ini akan diberikan hasil pengujian keamanan aplikasi yang

dihasilkan dari proses enkripsi dan dekripsi dengan kasus-kasus tertentu. Kasus-

kasus yang akan diujikan adalah sebagai berikut:

1. Menguji kebenaran enkripsi dan dekripsi

2. Menguji pemakaian kunci

Hasil pengujian kasus-kasus tersebut dapat dilihat pada Tabel 4.2 yang terlampir

pada lampiran 3.

4.4.3 Analisis Root Mean Square Error (RMSE)

Page 81: kriptografi image.pdf

81

Akar kesalahan kuadrat rata – rata (root mean square error) adalah ukuran

kesalahan yang didasarkan pada selisih antara dua buah nilai yang bersesuaian,

didefinisikan sebagai :

�� � � ������ � �����

Berikut ini proses perhitungan RMSE:

Ditanya : RMSE?

Diketahui,

xi = bit hexa sebelum di enkripsi

yi = bit hexa setelah di enkripsi

N = Jumlah bit hexa

Gambar 4.9 Image yang akan di kirim

Jumlah byte kode hexa gambar diatas adalah 4,244 bytes dengan ukuran 4,1KB,

sedangkan jumlah bytes kode hexa image yang telah terenkripsi adalah 4,244 bytes

dengan ukuran 4,1 KB.

Maka untuk perhitungan RMSEnya adalah

Page 82: kriptografi image.pdf

82

Di ketahui:

Xi= 4,244 Bytes

Yi= 4,244 Bytes

N= 2

�� � � ������ � �����

�� � ������� � ��������

�� � ������

Jadi RMSE= 0,0

Berikut ini table hasil perhitungan RMSE pada gambar selain gambar diatas.

Table 4.4 Hasil Perhitungan RMSE

Plainteks Jumlah Byte sebelum di proses

Jumlah Byte setela didekripsi RMSE

Gambar 1 4,244 Bytes 4,244 Byte 0,0

Gambar 2 69, 981 Bytes Gagal dalam proses dekripsi -

Gambar 3 5,305 Bytes 5,305 Bytes 0,0

Gambar 4 30,44 Bytes 15,917 Bytes 0,0

Gambar 5 3,45 Bytes Gagal dalam proses dekripsi -

Page 83: kriptografi image.pdf

83

Sebagai bahan wacana untuk pengembangan teknik kriptografi di masa

mendatang, penulis sertakan table perbandingan hasil analisis perhitungan RMSE

antara algoritma DES dan Rindjael, sebagaimana terlihat pada table.4.5 berikut ini.

Table. 4.5 Perbandingan perhitungan analisis RMSE antara algoritma Rindjael

Plainteks

Algoritma DES Algoritma Rindjael

Byte sebelum diproses

Byte setelah

diproses

RMSE Byte sebelum diproses

Byte setelah

diproses

RMSE

Gambar 1 4,244 Bytes

4,244 Byte 0,0 4,244

Bytes 4,244 Byte 0,0

Gambar 2 69, 981 Bytes

Gagal dalam proses

dekripsi

- 69, 981 Bytes

Gagal dalam proses

dekripsi

-

Gambar 3 5,305 Bytes

5,305 Bytes 0,0 5,305

Bytes 5,305 Bytes 0,0

Gambar 4 15,917 Bytes

15,917 Bytes 0,0 15,917

Bytes 15,917 Bytes 0,0

Gambar 5 50,399 Bytes

Gagal dalam proses

dekripsi

- 50,399 Bytes

Gagal dalam proses

dekripsi

-

4.5 Analisis Hasil Pengujian

Berdasarkan hasil pengujian yang dilakukan, hasil pengujian enkripsi dan

dekripsi pada lingkungan telephon seluler tidak bisa berjalan dengan baik, seperti

terlihat pada Tabel 4.3. Aplikasi teknik enkripsi file image dapat diinstal pada HP

Nokia 2700, 5530 dan Sony Ericsson G502, akan tetapi pesan image terenkripsi tidak

dapat masuk inbox aplikasi, disebabkan terjadi debug pada palikasi. Sedangkan

aplikais teknik enkripsi pixel image hanya dapat diinstal pada HP Sony Ericsson

G502 dan tidak dapat diinstal pada Nokia 2700, 5530 dan Sony Ericsson S312. Dan

Page 84: kriptografi image.pdf

84

hal ini tidak hanya dialami oleh penulis saja, dari beberapa penelitian yang membahas

tentang enkripsi pengiriman MMS juga terdapat masalah yang sama yaitu pesan

image terenkripsi tidak dapat masuk dalam inbox aplikasi yang penulis bangun,

sehingga tidak dapat dilakukan proses selanjutnya. Akan tetapi pesan yang masuk

dalam inbox HP, tetap tidak bisa dibaca atau ditampilkan. Oleh karena itu dalam

analisis selanjutnya dilakukan pada pengujian emulator atau simulator saja.

Pada table 4.4 da 4.5 merupakan hasil dari uji coba enkripsi 2 cara dan

pengujian pengiriman image dengan berbagai ukuran. Pada dasarnya, dari berbagai

teori tentang pengiriman MMS menyebutkan bahwa MIDlet tidak bisa mengirimkan

pesan image yang ukurannya lebih besar dari 30KB, meskipun sistem mampu

mengenkripsi pesan image yang ukurannya lebih besar dari 30KB. Akan tetapi uji

coba yang telah dilakukan menunjukkan bahwa batas pengiriman image dapat

dispesifikkan lagi menjadi maximal 30.44KB. Karena pada ukuran 30.44KB MIDlet

masih mampu mengirimkan pesan, sedangkan pada 30.45KB keatas MIDlet sudah

tidak mampu mengirimkan pesan image. Dapat dilihat pula pada kolom ke-3 yaitu

perbedaan ukuran dimensi, berapapun ukuran dimensi image tidak dapat

mempengaruhi proses enkripsi dan pengiriman pesan, asalkan ukuran file pesan tidak

melebihi 30.44KB.

Hasil pengamatan selanjutnya berdasarkan hasil uji coba pada lampiran 7,

ukuran file sangat terbatas sekali baik karena pengiriman maupun enkripsinya, dalam

hasil uji coba dapat disimpulkan bahwa type file berjenis PNG agar dapat dienkripsi

dan dikirim ke nomor tujuan max 10KB, sedangkan type file berjenis JPG agar dapat

dienkripsi dan dikirim, ukuran filenya max 3KB. Hal ini dikarenakan image yang

Page 85: kriptografi image.pdf

85

bertype PNG ketika dienkripsi bertambah besar 3 kali lipat dan JPG bertambah besar

10 kali lipat dari ukuran sebenarnya, sedangkan MIDP membatasi ukuran pesan yang

mampu dikirim max 30,44KB. Selain itu dimensi image juga sangat berpengaruh

pada proses enkripsi, karena jika demensinya terlalu besar walaupun ukurannya

masih kecil, system tetap tidak bisa mengenkripsi image.

Selanjutnya dari hasil perhitungan RMSE pada table 4.4, kita dapat ambil

kesimpulan bahwa sistem dalam proses enkripsi file image telah akurat dalam

mendekripsi chipertext yang telah terenkripsi, karena semua image yang dapat

diproses sistem tingkat keerorannya 0,0. Sedangkan dari hasil perbandingan

perhitungan analisis RMSE antara algoritma DES dan Rindjael, kita dapat

menyimpulkan bahwa kedua algoritma ini akurat dalam mendekripsi chipertext yang

telah terenkripsi. Akan tetapi secara teori kita telah tahu bahwa Rindjael merupakan

algoritma baru dan merupakan perkembangan algoritma lama seperti halnya

algoritma DES, sehingga tingkat kecepatan proses dan keauntetikannya lebih besar

dari pada DES.

Melalui hasil pengujian secara emulator dan perhitungan RMSE, kita dapat

simpulkan bahwa algoritma DES dapat direalisasikan dengan baik pada proses dan

enkripsi dekripsi pengiriman image secara simulasi, akan tetapi terhadap device atau

telephon seluler tidak dapat dijalankan dengan baik, karena pesan yang masuk tidak

bisa masuk dalam inbox aplikasi sehingga tidak bisa dilakukan proses dekripsi.

Masalah ini bukanlah terdapat pada algoritma DESnya, tetapi karena pada text Editor

NetBeans yang membangun aplikasi terdapat debug yang menyebabkan masalah

tersebut.

Page 86: kriptografi image.pdf

86

86

BAB V

KESIMPULAN

Pada bab V ini merupakan kesimpulan dari kegiatan-kegiatan yang telah

dilakukan selama pengerjaan skripsi, selain itu terdapat saran-saran untuk

pengembangan lebih lanjut yang dapat diberikan dari skripsi ini.

5.1 Kesimpulan

Kesimpulan yang didapat selama pengerjaan tugas akhir ini adalah sebagai

berikut:

a) Sebuah perangkat lunak yang mengimplementasikan suatu algoritma

kriptografi kunci publik untuk enkripsi pengiriman pesan berupa image telah

berhasil dibangun. Secara simulasi perangkat lunak yang dibangun tersebut

dapat melakukan pengiriman pesan dan penerimaan pesan terenkripsi tersebut

dengan baik. Perangkat lunak tersebut menggunakan algoritma DES untuk

enkripi pengiriman image. Perangkat lunak tersebut dapat ditanamkan pada

telepon selular, akan tetapi kurang berjalan dengan baik karena pesan image

terenkripsi tidak dapat masuk ke inbox aplikasi sehingga tidak bisa dilakukan

proses dekripsi.

b) Meskipun pesan image terenkripsi tidak dapat masuk inbox aplikasi dan pesan

tersebut masuk inbox telephon seluler, pesan image tidak dapat dibuka dan

dibaca dan aplikasi tetap berhasil melakukan enkripsi pada telephon seluler.

c) Selain kekurangan diatas, implementasi algoritma DES untuk enkripsi

pengiriman pesan image ini adalah

Page 87: kriptografi image.pdf

87

1. Pesan yang dikirimkan menjadi lebih besar karena harus bekerja pada 8 bit

dan dibutuhkan padding untuk memenuhi panjang blok.

2. Perangkat lunak tidak dapat mengirimkan pesan image yang ukurannnya

lebih besar 30,44KB untuk enkripsi file image, sedangkan untuk enkripsi

pixel jenis file JPG max 3KB dan PNG max 10KB.

5.2 Saran

Berikut adalah saran-saran yang diberikan penulis untuk pengembangan lebih

lanjut:

1. Agar perangkat lunak untuk mengenkripsi pengiriman pesan image ini dapat

berjalan lebih baik, sebaiknya diterapkan sebuah algoritma kompresi untuk

melakukan kompresi image terlebih dahulu sebelum image di enkripsi,

sehingga perangkat lunak ini tidak perlu membatasi ukuran image yng akan

dikirimkan ke nomor tujuan.

2. Sebagaimana kekurangan yang telah disebutkan diatas yakni pesan image

terenkripsi tidak dapat masuk pada inbox aplikasi ketika di apliksikan pada

telephon seluler karena terdapat debug pada text editor NetBeans, sehingga

pada penelitian masa mendatang sebaiknya mencoba text editor selain

NetBeans dengan harapan aplikasi yang dibangun dengan text editor selain

Netbeans tersebut tidak terdapat debug yang menyebabkan masalah tersebut.

Page 88: kriptografi image.pdf

80

DAFTAR PUSTAKA

Ariyus, Doni. 2006. Kriptografi Keamanan Data dan Konunikasi. Yogyakarta : Graha Ilmu

Bambang Hariyanto. 2005. Esensi-Esensi Bahasa Pemrograman Java. Bandung. Informatika.

M. Shalahuddin dan Rosa A.S. 2006. Pemrograman J2ME Belajar Cepat Pemrograman Perangakat Telekomunikasi Mobile. Bandung. Informatika.

Quthb, Sayyid. 2004. Tafsir fi Zhilalil Qur’an di Bawah Naunagn Al-Qur’an. Jakrta. Gema Insani.

Sembiring, Krisantus. Studi Implementasi dan Perbandingan DES, TDES, AES pada J2ME. Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung

Shihab, Quraisy. 2002. Tafsir Al-Mishbah Psan, Kesan, dan Keserasian Al Qur’an. Jakarta. Lentera Hati.

Wahana Komputer Semarang, 2003. Memahami Model Enkripsi dan Security Data , Yogyakarta. ANDI

Yuniar Supardi, Ir. 2008. Pemrograman Handphone dengan J2ME. Jakarta. Alex Media Komputindo.

Yusuf Kurniawan, Ir. 2004. Keamanan Internet dan Jaringan Komunikasi. Bandung. Informatika.

http://www.beritanet.com/Literature/Kamus-Jargon/Image-JPG.html

http://www.mywebsite.force9.co.uk/png/