Perancangan Dan Implementasi Sistem Keamanan Data Menggunakan Algoritma Simetri Tea Dengan Bahasa Pemrograman Delphi 7.0

(1)

Yunita Sari : Perancangan Dan Implementasi Sistem Keamanan Data Menggunakan Algoritma Simetri Tea Dengan Bahasa Pemrograman Delphi 7.0, 2009.

USU Repository © 2009

DATA MENGGUNAKAN ALGORITMA SIMETRI TEA

DENGAN BAHASA PEMROGRAMAN DELPHI 7.0

SKRIPSI

YUNITA SARI

041401031

PROGRAM STUDI S1 ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

UNIVERSITAS SUMATERA UTARA

MEDAN

2009


(2)

PERSETUJUAN

Judul : PERANCANGAN DAN IMPLEMENTASI SISTEM KEAMANAN DATA MENGGUNAKAN

ALGORITMA SIMETRI TEA DENGAN BAHASA PEMROGRAMAN DELPHI 7.0

Kategori : SKRIPSI

Nama : YUNITA SARI

Nomor Induk Mahasiswa : 041401031

Program Studi : SARJANA (S1) ILMU KOMPUTER Departemen : ILMU KOMPUTER

Fakultas : MATEMATIKA DAN ILMU PENGETAHUAN ALAM (FMIPA) UNIVERSITAS SUMATERA UTARA

Diluluskan di

Medan, 17 Maret 2009 Komisi Pembimbing :

Pembimbing 2 Pembimbing 1

Syahriol Sitorus, S.Si, MIT Prof. Dr. Iryanto, M.Si

NIP. 132 174 687 NIP. 130 353 140

Diketahui/Disetujui oleh

Program Studi S1 Ilmu Komputer Ketua,

Prof. Dr. Muhammad Zarlis NIP 131 570 434


(3)

PERNYATAAN

PERANCANGAN DAN IMPLEMENTASI SISTEM KEAMANAN DATA MENGGUNAKAN ALGORITMA SIMETRI TEA DENGAN

BAHASA PEMROGRAMAN DELPHI 7.0

SKRIPSI

Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.

Medan, 17 Maret 2009

Yunita Sari 041401031


(4)

PENGHARGAAN

Puji dan syukur penulis panjatkan kepada Allah SWT, dengan limpahan karunia-Nya kertas kajian ini berhasil diselesaikan dalam waktu yang telah ditetapkan.

Ucapan terima kasih penulis sampaikan kepada Bapak Prof. Dr. Iryanto, M.Si selaku pembimbing 1 dan Bapak Syahriol Sitorus S.Si, MIT selaku Sekretaris Program Studi S-1 Ilmu Komputer serta pembimbing 2 pada penyelesaian skripsi ini yang telah memberikan panduan, motivasi serta kepercayaan yang penuh kepada penulis untuk menyempurnakan kajian ini, panduan ringkas dan padat serta profesional telah diberikan kepada penulis agar penulis dapat menyelesaikan penelitian ini. Selanjutnya kepada Bapak Drs. Muhammad Firdaus, M.Si selaku pembimbing akademik yang telah memberikan banyak arahan dalam perkuliahan pada penulis sejak penulis berada di Program Studi S-1 Ilmu Komputer Universitas Sumatera Utara hingga menyelesaikan ujian sarjana lengkap. Kepada Bapak Prof. Dr. Muhammad Zarlis selaku Ketua Program Studi S-1 Ilmu Komputer serta pembanding 1 dan Bapak Drs. Agus Salim Harahap, M.Si selaku pembanding 2 Skripsi yang telah banyak memberikan saran, Dekan dan Pembantu Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Sumatera Utara, semua dosen serta seluruh pegawai pada Program Studi Ilmu Komputer FMIPA USU, pegawai di FMIPA USU, pegawai di Biro Rektor USU.

Teristimewa ayahanda dan ibunda tercinta atas teladan, kasih sayang, doa, dukungan materil dan semangat yang telah diberikan kepada penulis selama ini, semoga segala kebaikan ini juga dibalas dengan kebaikan disisiNya. Selanjutnya kepada Ismail Arif, S.Kom, Nisa Dewi Asmar, S.Kom, Dewi Try Agustina, S.Kom, Bang Rahmat Muliadi, S.Si terima kasih atas kelapangan waktu yang diberikan kepada penulis untuk berbagi ilmu. Selanjutnya, kepada teman-teman terbaik, Saidul Akmal, Fika Dewi Atma Putri, Nencyawaty atas motivasi, kebaikan dan perhatiannya. Nurvida Sovyanna Br. Sinulingga, Dedi Setiawan, Sutisna Saputra, Leni SY, S.Kom, Dian MS, S.Kom, Dewi Yanti, S.Kom, Sri F, Farida Y dan Atika Z, S.Kom serta rekan-rekan kuliah angkatan 04 yang telah banyak memberikan motivasi serta bantuan kepada penulis.


(5)

ABSTRAK

Keamanan data merupakan salah satu aspek terpenting dalam teknologi informasi. Dengan tingkat keamanan yang tinggi, diharapkan informasi yang disajikan dapat terjaga keasliannya. Pada tugas akhir ini dibentuk suatu sistem yang mengamankan data dan informasi yang tersimpan pada komputer dari gangguan para kriptanalis. Sistem ini dibangun menggunakan perangkat lunak Borland Delphi 7.0. Metodologi untuk membentuk sistem menggunakan pendekatan model air terjun. Tahapan yang penulis lakukan untuk melakukan proses pembentukan sistem tersebut meliputi tahapan analisis permasalahan, perancangan aplikasi yang melibatkan diagram alir data, algoritma dan flowchart beserta pemodelan struktur program dan desain antar muka aplikasi, sehingga aplikasi yang terbentuk menjadi mudah dipergunakan dan memiliki fungsi yang optimal. Dengan menggunakan Algoritma TEA yang merupakan algoritma kriptografi kunci rahasia, permasalahan tersebut dapat diatasi. Kekuatan algoritma ini terletak pada jaringan feistel (meliputi operasi subtitusi, permutasi dan modular arithmetic) dan bilangan delta yang berasal dari golden number.


(6)

DESIGN AND IMPLEMENTATION OF DATA SECURITY SYSTEM BY USING TEA SYMETRI ALGORITHM BY DEPLHI 7.0

PROGRAMMING LANGUAGE ABSTRACT

Data security is one of the important aspect in the information technology. With security level is high, desire information that coursed can protected authenticity. In this writing, a system that secure data and information which stored on computer of perturbation by cryptanalysts was formed. The system is built by using Borland Delphi 7.0 application. The methodologies to form the system use the approach of waterfall model. The steps which is done to conduct the application in forming the process covered the step analysis of the problems, designing application containing data flow diagram, algorithms, and flowchart along with the program structure and user interface design, so that the application formed become easy to use and optimally functioned. By using this TEA cryptographic Algorithm which is private key cryptography algorithm, that issues can be solved. The strength of this algorithm lies on the feistel network ( that is use substitution operation, permutation, and modular arithmetic) and the delta number is derived from the golden number.


(7)

DAFTAR ISI

Halaman

PERSETUJUAN 2

PERNYATAAN 3

PENGHARGAAN 4

ABSTRAK 5

ABSTRACT 6

DAFTAR ISI 7

DAFTAR TABEL 9

DAFTAR GAMBAR 10

BAB 1 PENDAHULUAN 11

1.1. Latar Belakang Masalah 11

1.2. Rumusan Masalah 12

1.3. Batasan Masalah 12

1.4. Tujuan Penelitian 13

1.5. Manfaat Penelitian 13

1.6. Metode Penelitian 13

1.7. Sistematika Penulisan 14

BAB 2 LANDASAN TEORI 16

2.1. Kriptografi 16

2.1.1. Definisi Kriptografi 17

2.1.2. Sejarah Kriptografi 19

2.1.3. Tujuan Kriptografi 20

2.1.4. Konsep Dasar Kriptografi 20

2.1.4.1. Message, Plaintext, dan Ciphertext 20

2.1.4.2. Peserta Komunikasi 21

2.1.4.3. Kriptologi 22

2.1.4.4. Algoritma Kriptografi 23

2.1.4.5. Sistem Kriptografi 27

2.1.4.6. Kategori Cipher Kunci-Simetri 31

2.4.6.1 Kategori Cipher Kunci-Simetri 31 2.1.4.7. Prinsip – Prinsip Perancangan Cipher Blok 99

2.2. Tiny Encryption Algorithm 41

2.3. Masalah Keamanan Informasi Di Negara Republik Indonesia 46

2.3.1. Hari Persandian Nasional 46

2.3.2. 47

2.3.3. Standar Keamanan Nasional 48 2.4. Rekayasa Perangkat Lunak 51 2.5. Pemrograman dengan Delphi 7.0 53 BAB 3 ANALISIS DAN PEMODELAN PERANGKAT LUNAK 54 3.1. Analisis Permasalahan Tiny Encryption Algorithm (TEA) 54 3.2. Analisis Kebutuhan Tiny Encryption Algorithm (TEA) 54 3.3. Analisis Proses Enkripsi Algoritma TEA 56


(8)

3.4. Analisis Proses Deskripsi Algoritma TEA 61

3.5. Pemodelan Fungsional 61

3.5.1. DFD dan Spesifikasi Proses 61

3.5.2. Kamus Data 69

BAB 4 PERANCANGAN DAN IMPLEMENTASI 72

4.1. Perancangan 72

4.1.1. Perancangan Struktur Data 72

4.1.2. Perancangan Struktur Program 73 4.1.3. Perancangan Antarmuka Pemakai 75

4.1.4. Perancangan Prosedural 79

4.2. Implementasi 84

BAB 5 PENUTUP 90

5.1. Kesimpulan 90

5.2. Saran 91

DAFTAR PUSTAKA 92

LAMPIRAN A TABEL LAPORAN PENGUJIAN PROGRAM 93 LAMPIRAN B LISTING PROGRAM 94 LAMPIRAN C TABEL KODE ASCII 114


(9)

DAFTAR TABEL

Halaman

Tabel 2.1 Perbandingan Estimasi Proses Algoritma TEA 45 dengan Algoritma Simetri lainnya.

Tabel 3.1 Spesifikasi proses diagram konteks/DFD Level 0 62 Tabel 3.2 Spesifikasi proses diagram level 1 64 Tabel 3.4 Spesifikasi Proses DFD Level 2 Proses 2 (Proses Enkripsi) 66 Tabel 3.5 Spesifikasi Proses DFD Level 3 Proses 3 (Proses Deskripsi) 68

Tabel 3.6 Kamus Data Proses Enkripsi 70


(10)

DAFTAR GAMBAR

Halaman

Gambar 2.1 Mesin Enkripsi Enigma 18

Gambar 2.2 Proses Enkripsi dan Deskripsi 20 Gambar 2.3 Contoh Plainteks dan Cipherteks 21 Gambar 2.4 Skema Komunikasi dengan Proses Enkripsi 22 Gambar 2.5 Hubungan Kriptografi, Kriptanalisis dan Steganografi 23 Gambar 2.6 Proses Enkripsi – Deskripsi Menggunakan Algoritma Simetri 24 Gambar 2.7 Proses Enkripsi – Deskripsi Menggunakan Algoritma Asimetri 55 Gambar 2.8 Skema enkripsi dan dekripsi dengan mode ECB 32 Gambar 2.9 Skema enkripsi dan dekripsi dengan mode CBC 34 Gambar 2.10 Skema enkripsi dengan mode CFB 36 Gambar 2.11 Skema dekripsi dengan mode CFB 37 Gambar 2.12 Skema dekripsi dengan mode OFB 38 Gambar 2.13 Skema enkripsi dengan mode OFB 38

Gambar 2.14 Skema Algoritma TEA 42

Gambar 3.1 Diagram Konteks/DFD Level 0 62

Gambar 3.2 Diagram Level 1 63

Gambar 3.3 Diagram Level 2 (Proses Enkripsi) 65 Gambar 3.4 Diagram Level 2 (Proses Deskripsi) 67 Gambar 4.1 Struktur Program KripTEA 74 Gambar 4.2 Rancangan Layar Utama KripTEA 76 Gambar 4.3 Rancangan Layar Encryption 77 Gambar 4.4 Rancangan Layar Descryption 78

Gambar 4.5 Rancangan Form About 79

Gambar 4.6 Flowchart Prosedur Enkripsi 81 Gambar 4.7 Flowchart Prosedur Deskripsi 83 Gambar 4.8 Tampilan Layar Utama KripTEA 84 Gambar 4.9 Tampilan Layar Encryption 85 Gambar 4.10 Tampilan Layar Encryption Pada Saat Menampilkan Output 86

Enkripsi File

Gambar 4.11 Tampilan Layar Descryption 87 Gambar 4.12 Tampilan Layar Descryption Pada Saat Menampilkan Output 88

Deskripsi File


(11)

BAB 1 PENDAHULUAN

1.1 Latar Belakang Masalah

Masalah keamanan dan kerahasiaan data merupakan hal yang sangat penting dalam suatu organisasi maupun pribadi. Apalagi jika data tersebut berada dalam suatu jaringan komputer yang terhubung/terkoneksi dengan jaringan lain. Hal tersebut tentu saja akan menimbulkan resiko bilamana informasi yang sensitif dan berharga tersebut diakses oleh orang-orang yang tidak berhak. Yang mana jika hal tersebut sampai terjadi, kemungkinan besar akan merugikan bahkan membahayakan orang yang mengirim pesan atau menerima pesan, maupun organisasinya. Informasi yang terkandung di dalamnya pun bisa saja berubah sehingga menyebabkan salah penafsiran oleh penerima pesan. Selain itu data yang dibajak tersebut akan memiliki kemungkinan rusak bahkan hilang yang akan menimbulkan kerugian material yang besar.

Oleh karena itu, untuk menghindari agar hal tersebut tidak terjadi, digunakanlah sebuah program khusus proteksi/enkripsi data. Saat ini banyak beredar program khusus proteksi data, pada umumnya program tersebut tidak hanya menyediakan satu metoda saja, tetapi beberapa jenis sehingga kita dapat memilih yang menurut kita paling aman. Dewasa ini, dalam dunia dengan arus informasi yang semakin global, kriptografi telah menjadi suatu bagian yang tidak dapat dipisahkan dari sistem keamanan jaringan. Ada berbagai algoritma kriptografi yang sekarang ini telah dan sedang dikembangkan, salah satunya diantaranya algoritma kunci simetris ataupun asimetris (pembagian berdasarkan kunci). Salah satu metode enkripsi data adalah Tiny Encryption Algorithm (TEA).

Tiny Encryption algorithm (TEA) merupakan suatu algoritma sandi yang

diciptakan oleh David Wheeler dan Roger Needham dari Computer Laboratory, Cambridge University, England pada bulan November 1994. Algoritma ini


(12)

merupakan algoritma penyandian block cipher yang menggunakan proses feistel

network dengan panjang kunci 128 bit, dengan cara memproses 64-bit input sekali

waktu dan menghasilkan 64-bit output.

Dalam tugas akhir ini penulis akan membahas bagaimana kinerja dari algoritma Tiny Encrytion Algorithm (TEA) dalam proses enkripsi dan deskripsi pesan, sejauh manakah tingkat keamanannya.

1.2 Rumusan Masalah

Dalam tugas akhir ini penulis akan membahas masalah tentang :

a. Bagaimana merancang sistem keamanan data menggunakan Algoritma simetri

Tiny Encryption algorithm (TEA).

b. Bagaimana mengimplementasikan Tiny Encryption Algorithm (TEA) dalam bentuk aplikasi sederhana menggunakan bahasa pemrograman Delphi 7.0.

1.3 Batasan Masalah

a. Dalam penelitian ini hanya membahas mengenai proses penyandian pesan yang meliputi : proses enkripsi dan deskripsi pesan menggunakan algoritma TEA serta mengimplementasikannya dalam sebuah program sederhana.

b. Dalam penelitian ini hanya membahas mengenai proses penyandian yang dilakukan pada pesan dalam format teks (seperti dalam format *.doc dan *.txt). c. Tidak membahas mengenai mekanisme pemecahan kunci sandi (kriptanalisis). d. Tidak membahas tentang cara memecahkan masalah feistel network,

penjumlahan bilangan delta ((5/4)1/2 - 1/2 ~ 0.618034) 232 yang merupakan konsep dasar dari algoritma TEA.


(13)

e. Proses enkripsi dan deskripsi dilakukan secara sederhana hanya pada data yang disimpan di dalam storage, bukan pada data yang dikirim (ditransmisikan) dalam suatu saluran komunikasi.

f. Sistem yang dibangun lebih memfokuskan pada kerahasian data (confidentiality).

g. Aplikasi dibuat menggunakan bahasa pemrogaraman Delphi 7.0.

1.4 Tujuan Penelitian

Adapun tujuan dari Tugas Akhir ini adalah merancang suatu sistem keamanan data yang cukup handal yang dapat digunakan dalam hal pengamanan data agar tidak dapat diganggu ataupun diakses oleh pihak yang tidak berhak meskipun digunakan pada jaringan yang tidak aman, sehingga keamanan data tetap terjaga.

1.5 Manfaat Penelitian

Adapun manfaat dari penelitian yang dilakukan adalah untuk mengetahui sejauh manakah keamanan data dapat terjaga dengan menggunakan algoritma Tiny Encryption Algorithm (TEA) dan menilik lebih lanjut bahwa masih banyak algoritma yang lebih baik daripada DES khususnya dalam pengamanan data serta dengan adanya software yang dirancang nantinya diharapkan akan memudahkan bagi siapa saja yang ingin melindungi datanya agar tidak dapat dibaca oleh pihak-pihak yang tidak berhak.


(14)

1.6 Metode Penelitian

Adapun langkah-langkah yang akan ditempuh dalam proses penelitian selama pengerjaan tugas akhir ini adalah sebagai berikut :

a. Studi literatur. Penulisan ini dimulai dengan studi kepustakaan, yaitu dengan mengumpulkan bahan-bahan referensi baik dari buku, artikel, paper, jurnal, makalah, situs internet mengenai algoritma kriptografi Tiny Encryption

Algorithm (TEA) dan konsep matematis yang mendasarinya serta

pemrograman untuk pembuatan aplikasinya, dan beberapa referensi lainnya untuk menunjang pencapaian tujuan tugas akhir yang dibuat.

b. Analisis permasalahan. Pada tahap ini dilakukan analisis terhadap Tiny

Encryption Algorithm (TEA) baik dari aspek matematis maupun proses

penyandiannya.

c. Perancangan Sistem. Perancangan sistem yang dapat menjaga keamanan data. d. Implementasi sistem yang dirancang kedalam sebuah bahasa pemrograman. e. Testing Program. Untuk mengetahui sejauh manakah tingkat kesuksesan

program yang dibuat.

f. Penyusunan laporan dan penarikan kesimpulan. Menyusun laporan hasil analisis dan perancangan ke dalam format penulisan tugas akhir disertai penarikan kesimpulan.

1.7 Sistematika Penulisan BAB 1 : PENDAHULUAN

Bab ini akan menjelaskan mengenai latar belakang pemilihan judul, rumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian, metode penelitian, dan sistematika penulisan.

BAB 2 : LANDASAN TEORI

Pada bab ini dibahas mengenai teori-teori yang mendukung pembahasan bab selanjutnya.


(15)

BAB 3 : ANALISIS DAN PEMODELAN PERANGKAT LUNAK

Berisikan analisa permasalahan dan kebutuhan algoritma Tiny Encryption Algorithm (TEA) serta pemodelan sistem secara fungsional.

BAB 4 : PERANCANGAN DAN IMPLEMENTASI

Berisikan gambaran rancangan struktur program dan desain antar muka, serta memberikan gambaran dari rancang bangun yang lengkap kepada user dan pemakai komputer yang lain serta implementasinya yaitu menguji untuk menemukan kesalahan serta implementasi enkripsi/dekripsi data menggunakan algoritma Tiny Encryption Algorithm (TEA).

BAB 5 : PENUTUP

Bab terakhir akan memuat kesimpulan isi dari keseluruhan uraian bab-bab sebelumnya dan saran-saran dari hasil yang diperoleh yang diharapkan dapat bermanfaat dalam pengembangan selanjutnya.


(16)

BAB 2

LANDASAN TEORI

2.1 Kriptografi

2.1.1 Definisi Kriptografi

Untuk dapat mengenal kriptografi diperlukan pemahaman mengenai masalah yang berhubungan dengan keamanan informasi secara umum. Keamanan informasi membangun dirinya sendiri dalam berbagai cara sesuai dengan situasi dan kebutuhan (Menezes, van Oorschot dan Vanstone, 1996).

Kata kriptografi berasal dari bahasa Yunani, “krypós” yang berarti tersembunyi dan “gráphein” yang berarti tulisan. Sehingga kata kriptografi dapat diartikan berupa frase “tulisan tersembunyi”.

Bishop (2005) menyatakan bahwa kriptografi merupakan seni dan ilmu yang ditujukan untuk menyembunyikan arti yang sesungguhnya.

Menezes, van Oorschot dan Vanstone (1996) menyatakan bahwa kriptografi adalah suatu studi teknik matematika yang berhubungan dengan aspek keamanan informasi seperti kerahasiaan, integritas data, otentikasi entitas dan otentikasi keaslian data. Kriptografi tidak hanya berarti penyediaan keamanan informasi, melainkan sebuah himpunan teknik-teknik.

Selain definisi di atas, Scheiner (1996) mengemukakan pendapatnya tentang defenisi kriptografi yaitu : ilmu dan seni untuk menjaga keamanan pesan. Penggunaan kata “seni” di dalam definisi di atas berasal dari fakta sejarah bahwa pada masa-masa awal sejarah kriptografi, setiap orang mungkin mempunyai cara yang unik untuk merahasiakan pesan. Cara-cara unik tersebut mungkin berbeda-beda pada setiap


(17)

pelaku kriptografi sehingga setiap cara menulis pesan rahasia pesan mempunyai nilai estetika tersendiri sehingga kriptografi berkembang menjadi sebuah seni merahasiakan pesan (kata “graphy” di dalam “cryptography” itu sendiri sudah menyiratkan sebuah seni) (Munir, 2006).

2.1.2 Sejarah Kriptografi

Kriptografi mempunyai sejarah yang sangat menarik dan panjang. Kriptografi sudah digunakan 4000 tahun yang lalu dan diperkenalkan oleh bangsa mesir untuk mengirim pesan ke pasukan militer yang berada di lapangan. Mereka menggunakan hieroglyphcs untuk menyembunyikan tulisan dari pihak yang tidak diinginkan. Hieroglyphcs diturunkan dari bahasa Yunani hieroglyphica yang berarti ”ukiran rahasia”. Hieroglyphs berevolusi menjadi hieratic, yaitu stylized script yang lebih mudah untuk digunakan. Dengan demikian, pesan tersebut tidak dapat terbaca oleh pihak musuh walaupun kurir pembawa pesan tersebut tertangkap oleh musuh. Demikianlah hingga penggunaan kriptografi pada abad ke-20 (Menezes, van Oorschot dan Vanstone, 1996) ( Ariyus, 2005).

Sejarah kriptografi sebagian besar merupakan sejarah kriptografi klasik, yaitu metode enkripsi yang menggunakan kertas dan pensil atau mungkin dengan bantuan alat mekanik sederhana. Secara umum algoritma kriptografi klasik dikelompokkan menjadi dua kategori, yaitu algoritma transposisi (transposition cipher) dan algoritma substitusi (substitution cipher). Transposition cipher mengubah susunan huruf-huruf di dalam pesan, sedangkan substitution cipher mengganti setiap huruf atau kelompok huruf dengan sebuah huruf atau kelompok huruf lain.

Sejarah kriptografi klasik mencatat penggunaan cipher transposisi oleh tentara Sparta di Yunani pada permulaan tahun 400 SM. Mereka menggunakan alat yang namanya scytale. Scytale terdiri dari sebuah kertas panjang dari daun papyrus yang dililitkan pada sebuah silinder dari diameter tertentu (diameter silender menyatakan kunci penyandian). Pesan ditulis secara horizontal, baris per baris. Bila pita


(18)

dilepaskan, maka huruf-huruf di dalamnya telah tersusun secara acak membentuk pesan rahasia. Untuk membaca pesan, penerima pesan harus melilitkan kembali kertas tersebut ke silinder yang diameternya sama dengan diameter silinder pengirim.

Sedangkan algoritma substitusi paling awal dan paling sederhana adalah

Caesar cipher, yang digunakan oleh raja Yunani kuno, Julius Caesar. Caranya adalah

dengan mengganti setiap karakter di dalam alfabet dengan karakter yang terletak pada tiga posisi berikutnya di dalam susunan alfabet (Munir, 2006).

Pada perang dunia kedua, Jerman menggunakan enigma atau juga disebut dengan mesin rotor yang digunakan Hitler untuk mengirim pesan kepada tentaranya. Jerman sangat percaya bahwa pesan yang dikirim melalui enigma tidak terpecahkan kode – kode enkripsinya. Akan tetapi, anggapan tersebut keliru. Ternyata setelah bertahun – tahun, sekutu dapat memecahkan kode – kode tersebut setelah mempelajarinya. Setelah jerman mengetahui bahwa kode – kode tersebut dapat terpecahkan, enigma yang digunakan pada perang dunia kedua beberapa kali mengalami perubahan. Demikianlah, karena Enigma berhasil dipecahkan oleh pihak Sekutu dan keberhasilan memecahkan Enigma sering dikatakan sebagai faktor yang memperpendek perang dunia kedua (Ariyus, 2005).


(19)

Kriptografi modern dipicu oleh perkembangan peralatan komputer digital. Dimulai dari usaha Feistel dari IBM di awal tahun 70-an dan mencapai puncaknya pada 1977 dengan pengangkatan DES (Data Encryption Standard) sebagai standar pemrosesan informasi federal Amerika Serikat untuk mengenkripsi informasi yang belum diklasifikasi. DES merupakan mekanisme kriptografi yang paling dikenal sepanjang sejarah. Kemudian karena lama kelamaan DES dianggap tidak aman, maka untuk menjawab tantangan dalam dunia kriptografi, NIST (National Institue of Standards and Technology) sebagai standar pengolah informasi Federal AS bersiap – siap mengganti DES. pada tahun 1997 dimulailah diadakan kontes yang diikuti oleh 21 pelamar. Kemuidan pada bulan agustus 1999 terpilihlah 5 kandidat sebagai finalis : Mars ( IBM Amerika), RC6 (RSA corp, Amerika), Rijndael(belgia), Serpent(Israel, Norwegia, dan Inggris), dan Twofish (Counterpane Amerika). ( Kurniawan, 2004).

2.1.3 Tujuan Kriptografi

Ada empat tujuan mendasar dari ilmu kriptografi ini yang juga merupakan aspek keamanan informasi, yaitu :

a. Kerahasiaan (confidentiality), adalah layanan yang digunakan untuk menjaga isi informasi dari siapapun kecuali yang memiliki otoritas atau kunci sandi untuk membuka/mengupas informasi yang telah disandi. Ada beberapa pendekatan untuk menjaga kerahasiaan, dari pengamanan secara fisik hingga penggunaan algoritma matematika yang membuat data tidak dapat dipahami. Istilah lain yang senada dengan confidentiality adalah secrecy dan privacy.

b. Integritas data, adalah berhubungan dengan penjagaan dari perubahan data secara tidak sah. Untuk menjaga integritas data, sistem harus memiliki kemampuan untuk mendeteksi manipulasi data oleh pihak-pihak yang tidak berhak, antara lain penyisipan, penghapusan, dan pensubsitusian data lain kedalam data yang sebenarnya. Di dalam kriptografi, layanan ini direalisasikan dengan menggunakan tanda-tangan digital (digital signature). Pesan yang telah ditandatangani menyiratkan bahwa pesan yang dikirim adalah asli.


(20)

c. Autentikasi, adalah berhubungan dengan identifikasi/pengenalan, baik secara kesatuan sistem maupun informasi itu sendiri. Dua pihak yang saling berkomunikasi harus memperkenalkan diri. Informasi yang dikirimkan melalui

kanal harus diautentikasi keaslian isi datanya, waktu pengiriman, dan lain-lain.

Oleh karena itu, layanan integritas data selalu dikombinasikan dengan layanan otentikasi sumber pesan. Di dalam kriptografi, layanan ini direalisasikan dengan menggunakan tanda-tangan digital (digital signature). Tanda-tangan digital menyatakan sumber pesan.

d. Non-Repudiasi atau nirpenyangkalan, adalah usaha untuk mencegah terjadinya penyangkalan terhadap pengiriman/terciptanya suatu informasi oleh yang mengirimkan/membuat. (Kurniawan, 2004).

2.1.4 Konsep Dasar Kriptografi

2.1.4.1 Message, Plaintext, dan Ciphertext

Pesan (message) adalah data atau informasi yang dapat dibaca dan dimengerti maknanya. Nama lain untuk pesan adalah plainteks atau data asli yang bisa memberikan informasi bila dibaca/dianalisa (cleartext). Ciphertext adalah data yang sudah mengalami proses kriptografi, sehingga informasi yang terkandung di dalamnya biasa disembunyikan. Ciphertext inilah yang kemudian akan dikirimkan melalui jaringan. Encrypt/enkripsi adalah proses untuk mengubah Plaintext menjadi

Ciphertext. Decrypt/deskripsi adalah proses untuk mengubah Ciphertext menjadi Plaintext kembali. Secara sederhana proses tersebut digambarkan sebagai berikut :


(21)

Adapun dasar matematis yang mendasari proses enkripsi dan deskripsi adalah relasi dua himpunan yaitu himpunan berisi elemen plaintext dan himpunan berisi elemen

ciphertext. (B. Schneier, 1996).

Adapun tujuan dari adanya enkripsi adalah untuk meningkatkan keamanan data tetapi juga berfungsi untuk :

1. Melindungi data agar tidak dapat dibaca oleh orang-orang yang tidak berhak. 2. Mencegah agar orang-orang yang tidak berhak, menyisipkan atau mengahapus data.

(a) Plainteks (teks) (b) Cipherteks dari (a) Gambar 2.3 Contoh plainteks dan cipherteks.

2.1.4.2 Peserta Komunikasi

a. Entitas atau peserta adalah orang atau sesuatu yang mengirim, menerima, atau memanipulasi informasi. Entitas bisa berupa orang, terminal komputer, kartu kredit, dan sebagainya. Jadi, orang bisa bertukar pesan dengan orang lainnya (contoh: Alice berkomunikasi dengan Bob) sedangkan di dalam jaringan komputer, mesin (komputer) berkomunikasi dengan mesin (contoh: mesin ATM berkomunikasi dengan komputer server di bank).

b. Pengirim adalah entitas dalam komunikasi yang mengirimkan informasi kepada entitas lainnya lainnya.


(22)

d. Penyusup (adversary) adalah entitas diluar pengirim dan penerima yang mencoba untuk membobol keamanan informasi. Penyusup biasanya bertindak seolah-olah sebagai pengirim yang sah ataupun penerima yang sah. Adapun keterangan tersebut dapat dilihat pada gambar berikut :

Gambar 2.4 Skema komunikasi dengan proses enkripsi

2.1.4.3 Kriptologi

Kriptologi berasal dari bahasa Yunani, “kryptós” yang berarti “tersembunyi” dan “lógos” yang berarti “kata”. Jadi, kriptologi dapat diartikan sebagai frase kata yang tersembunyi (Oppliger, 2005). Kriptologi dapt juga diartikan sebagai seni dan ilmu untuk membuat dan memecahkan kode rahasia. Kriptologi dibagi menjadi kriptografi (seni dan ilmu membuat kode rahasia), kriptanalisis (ilmu dan seni untuk memecahkan chiperteks menjadi plainteks tanpa mengetahui kunci yang digunakan) dan steganografi (metoda menyembunyikan pesan atau data lainnya) (Oppliger, 2005).

Pelaku kriptanalisis disebut kriptanalis. Jika seorang kriptografer (cryptographer) mentransformasikan plainteks menjadi cipherteks dengan suatu algoritma dan kunci maka sebaliknya seorang kriptanalis berusaha untuk memecahkan cipherteks tersebut untuk menemukan plainteks atau kunci.


(23)

Gambar 2.5. Hubungan kriptografi, kriptanalisis dan steganografi

2.1.4.4 Algoritma Kriptografi

Berdasarkan kunci yang dipakai algoritma kriptografi dapat dibedakan menjadi 2 golongan yaitu algoritma kriptografi simetris dan asimetris.

1. Algoritma Simetri

Algoritma kriptografi simetris maksudnya adalah proses enkripsi dan dekripsi dilakukan dengan memakai 1 key yang sama. Istilah lain untuk kriptografi kunci-simetri adalah kriptografi kunci privat (private-key cryptography), kriptografi kunci rahasia (secret-key cryptography), atau kriptografi konvensional (conventional

cryptography). Sistem kriptografi kunci-simetri (atau disingkat menjadi “kriptografi

simetri” saja), mengasumsikan pengirim dan penerima pesan sudah berbagi kunci yang sama sebelum bertukar pesan. Keamanan sistem kriptografi simetri terletak pada kerahasiaan kuncinya. Jadi, pembuat pesan dan penerimanya harus memiliki kunci yang sama persis. Sehingga siapapun yang memiliki kunci tersebut termasuk pihak – pihak yang tidak diinginkan dapat membuat dan membongkar rahasia cipherteks. Berikut ini adalah gambaran proses enkripsi dan deskripsi menggunakan algoritma simetri :


(24)

Gambar 2.6 Proses Enkripsi – Deskripsi Menggunakan Algoritma Simetri

Contoh algoritma kriptografi simetris yang terkenal diantaranya adalah TEA, DES, Blowfish, IDEA, RC4, dan lain sebagainya. Salah satu kelemahan algoritma ini adalah permasalahan distribusi kunci (key distribution).

Algoritma kriptografi simeteris dibagi menajdi 2 kategori yaitu algoritma aliran (Stream Ciphers) dan algoritma blok (Block Cipher). Pada algoritma aliran, proses penyandiannya berorientasi pada satu bit atau satu byte data. Sedang pada algoritma blok, proses penyandiannya berorientasi pada sekumpulan bit atau byte data (per blok).

Kelebihan kriptografi simetri:

1. Algoritma kriptografi simetri dirancang sehingga proses enkripsi/dekripsi membutuhkan waktu yang singkat.

2. Ukuran kunci simetri relatif pendek.

3. Algoritma kriptografi simetri dapat digunakan untuk membangkitkan bilangan acak.

4. Algorima kriptografi simetri dapat disusun untuk menghasilkan cipher yang lebih kuat.

5. Otentikasi pengirim pesan langsung diketahui dari cipherteks yang diterima, karena kunci hanya diketahui oleh pengirim dan penerima pesan saja.


(25)

Kelemahan kriptografi simetri:

1. Kunci simetri harus dikirim melalui saluran yang aman. Kedua entitas yang berkomunikasi harus menjaga kerahasisan kunci ini.

2. Kunci harus sering diubah, mungkin pada setiap sesi komunikasi.

2. Algoritma Asimetri

Pada kriptografi asimetris masing-masing pihak yang berkepentingan memiliki 2 key, yaitu secrete / private key (SK) dan public key (PK). Nama lainnya adalah kriptografi kunci-publik (public-key cryptography). SK harus tetap disimpan dan dijaga kerahasiaannya dengan tidak pernah mengirimkannya melalui jalur pengiriman data. Sedangkan PK turut dikirimkan ke pihak penerima data. Perpaduan antara SK dan PK inilah yang nantinya dipakai pada proses enkripsi dan dekripsi.

Berikut adalah gambaran untuk proses enkripsi dan deskripsi yang mengggunakan algoritma asimetri :

Gambar 2.7 Proses Enkripsi – Deskripsi Menggunakan Algoritma Asimetri

Contoh algoritma kriptografi asimetris, atau yang juga dikenal dengan kriptografi

public key, misalnya adalah RSA, DSA, ECC, dan HECC, Elgamal, Hill Cipher, dan

lain sebagainya.

Keuntungan dari Algoritma ini ada dua. Pertama, tidak ada kebutuhan untuk mendistribusikan kunci privat sebagaimana pada sistem kriptografi simetri. Kunci publik dapat dikirim ke penerima melalui saluran yang sama dengan saluran yang


(26)

digunakan untuk mengirim pesan. Saluran untuk mengirim pesan umumnya tidak aman.

Kedua, jumlah kunci dapat ditekan. Untuk berkomunikasi secara rahasia dengan banyak orang tidak perlu kunci rahasia sebanyak jumlah orang tersebut, cukup membuat dua buah kunci, yaitu kunci publik bagi para koresponden untuk mengenkripsi pesan, dan kunci privat untuk mendekripsi pesan. Berbeda dengan kriptografi kunci-simetris dimana jumlah kunci yang dibuat adalah sebanyak jumlah pihak yang diajak berkorespondensi.

Kelebihan kriptografi kunci-publik (asimetri):

1. Hanya kunci privat yang perlu dijaga kerahasiaannya oleh setiap entitas yang berkomuniaksi (tetapi, otentikasi kunci publik tetap harus terjamin). Tidak ada kebutuhan mengirim kunci kunci privat sebagaimana pada sistem simetri.

2. Pasangan kunci publik/kunci privat tidak perlu diubah, bahkan dalam periode waktu yang panjang.

3. Dapat digunakan untuk mengamankan pengiriman kunci simetri.

4. Beberapa algoritma kunci-publik dapat digunakan untuk memberi tanda tangan digital pada pesan.

Kelemahan kriptografi kunci-publik (asimetri):

1. Enkripsi dan dekripsi data umumnya lebih lambat daripada sistem simetri, karena enkripsi dan dekripsi menggunakan bilangan yang besar dan melibatkan operasi perpangkatan yang besar.

2. Ukuran cipherteks lebih besar daripada plainteks (bisa dua sampai empat kali ukuran plainteks).

3. Ukuran kunci relatif lebih besar daripada ukuran kunci simetri.

4. Karena kunci publik diketahui secara luas dan dapat digunakan setiap orang, maka cipherteks tidak memberikan informasi mengenai otentikasi pengirim.

5. Tidak ada algoritma kunci-publik yang terbukti aman (sama seperti block cipher). Kebanyakan algoritma mendasarkan keamanannya pada sulitnya memecahkan persoalan-persoalan aritmetik (pemfaktoran, logaritmik, dan sebagainya) yang menjadi dasar pembangkitan kunci.


(27)

2.1.4.5 Sistem Kriptografi

Sistem kriptografi adalah suatu 5- tuple (P, C, K, E, D) yang memenuhi kondisi sebagai berikut :

1. P adalah himpunan plainteks, 2. C adalah himpunan cipherteks,

3. K atau ruang kunci (keyspace), adalah himpunan kunci, 4. E adalah himpunan fungsi enkripsi :

5. D adalah himpunan fungsi dekripsi : ,

6. Untuk setiap terdapat dan . Setiap dan merupakan fungsi sedemikian hingga , untuk setiap

plainteks . .

Suatu sistem kriptografi merupakan sebuah himpunan algoritma, seluruh kemungkinan plainteks, cipherteks, kunci, dan proses manajemen kunci yang digunakan. Sistem kriptografi merupakan suatu fasilitas untuk mengkonversikan plainteks menjadi cipherteks, dan sebaliknya. (Oppliger, 2005) .

1. Keamanan Sistem Kriptografi

Suatu sistem kriptografi dikatakan aman jika para penyusup (adversary) dengan kemampuan yang dimilikinya tidak dapat memecahkan atau membobol sistem tersebut.

Berdasarkan kemampuan yang dimiliki penyusup, terdapat dua jenis keamanan sistem kriptografi, yaitu (Oppliger, 2005) :

a. Keamanan tak kondisional : jika penyusup tidak dapat membobol sistem dengan kemampuan komputer yang tidak terbatas. Keamanan ini berhubungan dengan teori informasi dan teori probabilitas.

b. Keamanan kondisional : jika secara teoritis mungkin bagi penyusup untuk membobol sistem tapi secara komputasi tidaklah mungkin (karena keterbatasan


(28)

sumberdaya dan kemampuan penyusup untuk mengakses informasi). Kemanan ini berhubungan dengan teori kompleksitas.

Sistem kriptografi dikatakan aman bila memiliki keadaan sebagai berikut :

a. Bila harga untuk membobol sistem lebih besar daripada nilai informasi yang dibuka.

b. Bila waktu yang diperlukan untuk membobol sistem tersebut lebih lama daripada lamanya waktu yang diperlukan oleh informasi itu untuk tetap aman.

c. Bila jumlah data yang dienkrip dengan kunci dan algoritma yang sama lebih sedikit dari jumlah data yang diperlukan untuk menembus algoritma tersebut (Kurniawan, 2004).

Pengamanan selalu bertolak belakang dengan kenyamanan. Semakin aman, sebuah sistem akan semakin tidak nyaman karena akan memerlukan beberapa langkah tambahan yang dirasa merepotkan. Dan semakin nyaman dan bebas, sebuah sistem menjadi semakin tidak aman.

2. Jenis-jenis Serangan

Berdasarkan keterlibatan penyerang dalam melakukan kegiatannya :

a. Serangan pasif (passive attack) : penyerang tidak terlibat dalam komunikasi antara pengirim dan penerima, penyerang hanya melakukan penyadapan untuk memperoleh data atau informasi sebanyak-banyaknya

Metode yang digunakan dalam melakukan penyadapan ini biasanya wiretapping,

electromagnetic eavesdropping atau acoustic eavesdropping

b. Serangan aktif (active attack) : penyerang mengintervensi komunikasi dan ikut mempengaruhi sistem untuk keuntungan dirinya. Penyerang mengubah aliran pesan seperti menghapus sebagian ciphertext, mengubah ciphertext, menyisipkan potongan ciphertext palsu, me-replay pesan lama, mengubah informasi yang tersimpan, dsb.


(29)

3. Metode Serangan Pada Kriptografi

Terdapat beberapa metode melakukan serangan kriptografi yang pada dasarnya berupa metode yang berbasiskan plaintext dan metode yang berbasiskan ciphertext.

a. Hanya ciphertext yang diketahui : Kriptanalis (orang yang melakukan kripanalisis) hanya memiliki ciphertext tanpa memiliki plaintext-nya. Sebelum melakukan serangan, kriptanalis selalu membuat asumsi algoritma sandi yang digunakan dalam ciphertext itu untuk menentukan tehnik memecahkannya.

Teknik yang digunakan untuk menemukan plaintext/kunci :

1. Analisa frekuensi huruf : setiap bahasa memiliki kekhasan atas huruf-huruf yang digunakannya. Frekuensi kemunculan setiap huruf dalam suatu bahasa menjadi ciri penting yang dapat dipakai sebagai patokan untuk menganalisis

plaintext/kunci suatu teks sandi. Teknik ini umumnya digunakan untuk

memecahkan metode penyandian sederhana seperti misalny

2. Exhaustive attack/brute-force attack : yaitu teknik untuk mengungkap

plaintext/kunci dengan mencoba secara sistematis semua kemungkinan kunci.

Walaupun tehnik ini akan berhasil menemukan plaintext/kunci, namun waktu yang dibutuhkan relatif lama dan sangat bergantung kepada kecepatan mesin (komputer) yang melakukan serangan ini.

3. Analytical attack : yaitu teknik memecahkan teks sandi dengan melakukan analisis kelemahan algoritma kriptografinya untuk mengurangi kemungkinan kunci yang memang tidak ada (pasti tidak muncul).

Dilakukan dengan cara memecahkan persamaan-persamaan matematik (yang diperoleh dari definisi suatu algoritma kriptografi) yang mengandung perubah-perubah yang merepresentasikan plaintext atau kunci. Dengan menggabungkan metode analytical attack dan exhaustive attack akan mempercepat diketemukannya


(30)

b. Ciphertext terpilih : Kriptanalis memilih ciphertext, dan kemudian melalui

ciphertext itu berusaha untuk mendapatkan plaintext yang sesuai. Biasanya

dilakukan untuk menyerang kriptografi sistem kunci publik.

c. Plaintext dan ciphertext diketahui : Kriptanalis mempunyai baik plaintext maupun

ciphertext-nya dan berusaha untuk mencari hubungan diantara keduanya. Biasanya

dilakukan untuk menemukan kunci dan algoritma penyandiannya yang akan berguna untuk memecahkan pesan tersandi berikutnya. Beberapa pesan biasanya terdapat format baku (template) yang sudah terstruktur. Format baku ini merupakan celah yang membuka peluang untuk menerka ciphertext dari plaintext yang bersesuaian. Misalnya :

From, To, kepada, dari, perihal, di dalam sebuah e-mail

Dengan hormat, wassalam, best regards, pada surat resmi.

#include, program, go, di dalam source code

d. Plaintext terpilih : Kriptanalis memilih plaintext tertentu, yaitu plaintexts yang lebih mengarahkan ke penemuan kunci, untuk disandikan dan mempelajari/membandingkan hasil sandinya (ciphertext). Biasanya cara ini digunakan untuk memecahkan sandi pada metode mana kripanalis biasanya telah memiliki kunci publik-nya.

e. Ciphertext atau plaintext diketahui secara adaptif : Kriptanalis memilih blok

plaintext atau ciphertext yang besar, lalu disandi, kemudian memilih blok lainnya

yang lebih kecil berdasarkan hasil serangan sebelumnya, begitu seterusnya.

f. Kunci terpilih : Kriptanalis memiliki pengetahuan mengenai hubungan antara kunci-kunci yang berbeda, dan kemudian memilih kunci yang tepat untuk membuka pesan bersandi. Biasanya digunakan untuk mengetahui algoritma penyandian suatu pesan.

g. Social engineering rubber-hose cryptanalysis : Mencari informasi algoritma/kunci sandi melalui kegiatan intelijen, mengancam, mengirim surat gelap, memeras


(31)

(black-mail) atau melakukan penculikan/penyiksaan sampai orang yang memegang kunci memberinya kunci untuk membuka pesan.

2.1.4.6 Kategori Cipher Kunci-Simetri

Algoritma kunci-simetri mengacu pada metode enkripsi yang dalam hal ini baik pengirim maupun penerima memiliki kunci yang sama.

Algoritma kunci-simetri modern beroperasi dalam mode bit dan dapat dikelompokkan menjadi dua kategori:

1. Cipher Aliran (Stream Cipher)

Algoritma kriptografi beroperasi pada plaintext/ciphertext dalam bentuk bit tunggal, yang dalam hal ini rangkaian bit dienkripsi/didekripsikan bit per bit. Cipher aliran mengenkripsi satu bit pada setiap kali proses enkripsi.

2. Cipher Blok (Block Cipher)

Algoritma kriptografi beroperasi pada plaintext/ciphertext dalam bentuk blok bit, yang dalam hal ini rangkaian bit dibagi menjadi blok-blok bit yang panjangnya sudah ditentukan sebelumnya. Misalnya panjang blok adalah 64 bit, maka itu berarti algoritma enkripsi memerlukan 8 karakter setiap kali enkripsi (1 karakter = 8 bit dalam pengkodean ASCII). Cipher blok mengenkripsi satu blok bit pada setiap kali proses enkripsi. (Munir, 2006)

2.1.4.6.1 Mode Operasi Cipher Blok

Plaintext dibagi menjadi beberapa blok dengan panjang tetap. Beberapa mode operasi dapat diterapkan untuk melakukan enkripsi terhadap keseluruhan blok plaintext. Empat mode operasi yang lazim diterapkan pada sistem blok cipher adalah:


(32)

1. Electronik Code Book (ECB)

Pada mode ini, setiap blok plainteks dienkripsi secara individual dan independen menjadi blok cipherteks . Secara matematis, enkripsi dengan mode ECB dinyatakan sebagai

= ( ) dan dekripsi sebagai

= ( )

yang dalam hal ini, K adalah kunci, sedangkan dan masing-masing adalah blok plainteks dan cipherteks ke-i.

Istilah “code book” di dalam ECB muncul dari fakta bahwa blok plainteks yang sama selalu dienkripsi menjadi blok cipherteks yang sama, maka secara teoritis dimungkinkan membuat buku kode plaintext dan ciphertext yang berkoresponden. Namun, semakin besar ukuran blok, semakin besar pula ukuran buku kodenya. Misalkan jika blok berukuran 64 bit, maka buku kode terdiri dari -1 buah kode (entry), yang berarti terlalu besar untuk disimpan. Lagipula semua kunci mempunyai buku kode yang berbeda (Munir, 2006).


(33)

Kelebihan Mode ECB:

1. Karena tiap blok plainteks dienkripsi secara independen, maka kita tidak perlu mengenkripsi file secara linier. Kita dapat mengenkripsi 5 blok pertama, kemudian blok-blok di akhir, dan kembali ke blok-blok di tengah dan seterusnya. Mode ECB cocok untuk mengenkripsi arsip (file) yang diakses secara acak, misalnya arsip-arsip basis data. Jika basis data dienkripsi dengan mode ECB, maka sembarang record dapat dienkripsi atau didekripsi secara independen dari record lainnya (dengan asumsi setiap record terdiri dari sejumlah blok diskrit yang sama banyaknya). Jika mode ECB dikerjakan dengan prosesor paralel (multiple

processor), maka setiap prosesor dapat melakukan enkripsi atau dekripsi blok

plainteks yang berbeda-beda.

2. Jika satu atau lebih bit pada blok cipherteks mengalami kesalahan, maka kesalahan ini hanya mempengaruhi cipherteks yang bersangkutan pada waktu dekripsi. Blok-blok cipherteks lainnya bila didekripsi tidak terpengaruhi oleh kesalahan bit cipherteks tersebut.

Kekurangan Mode ECB:

1. Karena bagian plainteks sering berulang (sehingga terdapat blok-blok plainteks yang sama), maka hasil enkripsinya menghasilkan blok cipherteks yang sama. Misalnya kriptanalis mempelajari bahwa blok plainteks 5EB82F (dalam notasi HEX) dienkripsi menjadi blok AC209D, maka setiap kali ia menemukan cipherteks AC209D, ia dapat langsung mendekripsikannya menjadi 5EB82F. 2. Pihak lawan dapat memanipulasi cipherteks untuk “membodohi” atau mengelabui

penerima pesan. Manipulasi misalnya dengan menghapus atau menyisipkan beberapa buah blok ciphertext baru.

Kedua kekurangan di atas dapat diatasi dengan mengatur enkripsi tiap blok individual bergantung pada semua blok-blok sebelumnya. Dengan cara ini, blok plaintext yang identik akan menghasilkan blok cipherteks yang berbeda.


(34)

2. Cipher Block Chaining (CBC)

Mode ini menerapkan mekanisme umpan-balik (feedback) pada sebuah blok, yang dalam hal ini hasil enkripsi blok sebelumnya di-umpan-balikkan ke dalam enkripsi blok yang current (sekarang). Caranya, blok plainteks yang current di-XOR-kan terlebih dahulu dengan blok cipherteks hasil enkripsi sebelumnya, selanjutnya hasil peng-XOR-an ini masuk ke dalam fungsi enkripsi. Dengan mode CBC, setiap blok cipherteks bergantung tidak hanya pada blok plainteksnya, tetapi juga pada seluruh blok plainteks sebelumnya (Munir, 2006).

Dekripsi dilakukan dengan memasukkan blok cipherteks yang current ke fungsi dekripsi, kemudian meng-XOR-kan hasilnya dengan blok cipherteks sebelumnya. Dalam hal ini, blok cipherteks sebelumnya berfungsi sebagai umpan-maju (feedforward) pada akhir proses dekripsi.

Gambar 2.9 Skema enkripsi dan dekripsi dengan mode CBC

Secara matematis, enkripsi dan dekripsi dengan mode CBC dinyatakan sebagai

= ( )

= (

Pada enkripsi blok pertama, = IV (initialization vector). IV dapat diberikan oleh pengguna atau dibangkitkan secara acak oleh program. Jadi, untuk menghasilkan


(35)

blok cipherteks pertama ( ), IV digunakan untuk menggantikan blok cipherteks sebelumnya, . Sebaliknya pada dekripsi, blok plainteks pertama diperoleh dengan cara meng-XOR-kan IV dengan hasil dekripsi terhadap blok cipherteks pertama. IV tidak perlu rahasia. Jadi, untuk m buah blok plainteks, enkripsinya adalah:

= ( ) = ( ) = ( )

. . .

= ( )

dan dekripsi m buah blok cipherteks adalah :

= ( = ( = ( . . . = (

Kelebihan Mode CBC:

Karena blok-blok plainteks yang sama tidak menghasilkan blok-blok cipherteks yang sama, maka kriptanalis menjadi lebih sulit dalam memecahkan pesan tersandi tersebut.

Kekurangan Mode CBC:

Karena blok cipherteks yang dihasilkan selama proses enkripsi bergantung pada blok-blok cipherteks sebelumnya, maka kesalahan satu bit pada sebuah blok-blok plainteks akan merambat pada blok cipherteks yang berkoresponden dan semua blok cipherteks


(36)

berikutnya. Tetapi hal ini berkebalikan pada proses dekripsi, kesalahan satu bit pada blok cipherteks, hanya mempengaruhi blok plainteks yang berkoresponden dan satu bit pada blok plainteks berikutnya (pada posisi bit yang berkoresponden pula). Kesalahan bit cipherteks biasanya terjadi karena adanya gangguan (noise) saluran komunikasi data selama transmisi atau malfunction pada media penyimpanan.

3. Cipher Feedback (CFB)

Pada mode CFB, data dienkripsi dalam unit yang lebih kecil daripada ukuran blok. Unit yang dienkripsikan dapat berupa bit per bit (jadi seperti cipher aliran atau stream cipher), 2 bit, 3 bit, dan seterusnya. Bila unit yang dienkripsikan satu karakter setiap kalinya, maka mode CFB-nya disebut CFB 8-bit (Munir, 2006).

Gambar 2.10 Skema enkripsi dengan mode CFB

Secara umum, CFB p-bit mengenkripsi plainteks sebanyak p bit setiap kalinya, yang dalam hal ini p ≤ n (ukuran blok). Dengan kata lain, CFB mengenkripsi cipher blok seperti pada cipher aliran. Mode CFB membutuhkan sebuah antrian (queue) yang berukuran sama dengan ukuran blok masukan. Tinjau mode CFB 8-bit yang bekerja pada blok berukuran 64-bit (setara dengan 8-byte).


(37)

Gambar 2.11 Skema dekripsi dengan mode CFB

Algoritma enkripsi dengan mode CFB adalah sebagai berikut:

1. Antrian diisi dengan IV (initialization vector) seperti pada mode CBC.

2. Enkripsikan antrian dengan kunci K. Delapan bit paling kiri dari hasil enkripsi berlaku sebagai keystream ( ) yang kemudian di-XOR-kan dengan karakter 8-bit dari plainteks menjadi karakter 8-bit pertama dari cipherteks. Karakter cipherteks ini dikirim (pada aplikasi komunikasi data) atau disimpan (pada aplikasi penyimanan data). Salinan (copy) dari karakter cipherteks ini juga dimasukkan ke dalam antrian (menempati 8 posisi bit paling kanan antrian), dan semua byte lainnya di dalam antrian digeser ke kiri menggantikan 8 bit pertama yang sudah digunakan.

3. Karakter plainteks berikutnya dienkripsikan dengan cara yang sama seperti pada langkah 2.

4. Dekripsi dilakukan sebagai kebalikan dari proses enkripsi. Baik enkripsi maupun dekripsi, algoritma E dan D yang digunakan sama.

Perambatan kesalahan: kesalahan 1-bit pada blok plainteks akan merambat pada blok-blok cipherteks yang berkoresponden dan blok-blok cipherteks selanjutnya pada proses enkripsi. Hal yang kebalikan juga terjadi pada proses dekripsi.


(38)

4. Output Feedback (OFB)

Mode OFB mirip dengan mode CFB, kecuali p-bit dari hasil enkripsi terhadap antrian disalin menjadi elemen posisi paling kanan di antrian. Dekripsi dilakukan sebagai kebalikan dari proses enkripsi (Munir, 2006).

Gambar 2.12 Skema enkripsi dengan mode OFB

Gambar 2.13 Skema dekripsi dengan mode OFB

Perambatan kesalahan: kesalahan 1-bit pada blok plainteks hanya mempengaruhi blok cipherteks yang berkoresponden saja. Begitu pula pada proses dekripsi, kesalahan 1-bit pada blok cipherteks hanya mempengaruhi blok plainteks yang bersangkutan saja. Karakteristik kesalahan semacam ini cocok untuk transmisi analog yang di-digitasi, seperti suara atau video, yang dalam hal ini kesalahan 1-bit dapat ditolerir, tetapi penjalaran kesalahan tidak dibolehkan.


(39)

2.1.4.7 Prinsip – Prinsip Perancangan Cipher Blok

Perancangan algoritma kriptografi yang berbasis blok mempertimbangkan beberapa prinsip berikut:

1. Prinsip Confusion dan Diffusion dari Shannon

Pada tahun 1949, Shannon mengemukakan dua prinsip (properties) penyandian (encoding) data di dalam makalahnya yang berjudul Communication Theory of

Secrecy Systems. Kedua prisnsip ini dipakai dalam perancangan cipher blok yang kuat.

Kedua prinsip Shannon itu adalah :

a. Confusion

Prinsip ini menyembunyikan hubungan apapun yang ada antara plainteks, cipherteks, dan kunci. Sebagai contoh, pada cipher substitusi seperti Caesar Cipher, hubungan antara cipherteks dan plainteks mudah diketahui, karena satu huruf yang sama pada plainteks diganti dengan satu huruf yang sama pada cipherteksnya. Akibatnya, huruf yang paling sering muncul di dalam plainteks akan sering muncul pula di dalam cipherteksnya sehingga cipherteks tersebut mudah dipecahkan dengan teknik analisis frekuensi. Dengan demikian kita katakan Caesar Cipher tidak menganut prinsip confusion. Karena prinsip confusion akan membuat kriptanalis frustasi untuk mencari pola-pola statistik yang muncul pada cipherteks. Confusion yang bagus membuat hubungan statistik antara plainteks, cipherteks, dan kunci menjadi sangat rumit.

b. Diffusion

Prinsip ini menyebarkan pengaruh satu bit plainteks atau kunci ke sebanyak mungkin cipherteks. Sebagai contoh, pengubahan kecil pada plainteks sebanyak satu atau dua bit menghasilkan perubahan pada cipherteks yang tidak dapat diprediksi. Prinsip

diffusion juga menyembunyikan hubungan statistik antara plainteks, cipherteks, dan

kunci sehingga membuat kriptanalisis menjadi sangat sulit.

Untuk mendapatkan keamanan yang bagus, prisnip confusion dan diffusion diulang berkali-kali pada sebuah blok tunggal dengan kombinasi yang berbeda-beda.


(40)

2. Cipher berulang (Iterated Cipher)

Fungsi transformasi sederhana yang mengubah plainteks menjadi cipherteks diulang sejumlah kali. Pada setiap putaran digunakan sub-kunci (subkey) atau kunci putaran (round key) yang dikombinasikan dengan plainteks.

3. Jaringan Feistel (Feistel Network)

Jaringan Feistel ditemukan oleh Horst Feistel tahun 1970. Model jaringan Feistel adalah sebagai berikut:

1. Bagi blok yang panjangnya n bit menjadi dua bagian, kiri (L) dan kanan (R), yang masing-masing panjangnya n/2 (hal ini mensyaratkan n harus genap).

2. Defenisikan cipher blok berulang dimana hasil dari putaran ke-i ditentukan dari hasil putaran sebelumnya, yaitu:

=

f( ) yang dalam hal ini,

i = 1,2,…,r (r adalah jumlah putaran).

= sub-kunci (subkey) pada putaran ke-i

f = fungsi transformasi (di dalamnya terdapat fungsi substitusi, permutasi dan/atau

ekspansi, kompresi).

Plainteks adalah gabungan L dan R awal, atau secara formal dinyatakan dengan ( ), sedangkan cipherteks didapatkan dari L dan R hasil dari putaran terakhir setelah terlebih dahulu dipertukarkan, atau secara formal dinyatakan sebagai ( ).


(41)

4. Kunci lemah (Weak Key)

Kunci lemah adalah kunci yang menyebabkan tidak adanya perbedaan antara enkripsi dan dekripsi. Dekripsi terhadap cipherteks tetap mengahasilkan plainteks semula, namun enkripsi dua kali berturut-turut terhadap plainteks akan menghasilkan kembali plainteksnya.

5. Kotak-S (S-box)

Kotak-S adalah matriks yang berisi substitusi sederhana yang memetakan satu atau lebih bit dengan satu atau lebih bit yang lain. Pada kebanyakan algoritma cipher blok, kotak-S memetakan m bit masukan menjadi n bit keluaran, sehingga kotak-S tersebut dinamakan kotak m x n S-box.

2.2 Tiny Encryption Algorithm (TEA)

Tiny Encryption Algorithm (TEA) merupakan suatu algoritma sandi yang diciptakan

oleh David Wheeler dan Roger Needham dari Computer Laboratory, Cambridge University, England pada bulan November 1994.

Sistem penyandian Tiny Encryption Algorithm (TEA) menggunakan proses feistel

network dengan menambahkan fungsi matematik berupa penambahan dan

pengurangan sebagai operator pembalik selain XOR. Hal ini dimaksudkan untuk menciptakan sifat non-linearitas. Pergeseran dua arah (ke kiri dan ke kanan) menyebabkan semua bit kunci dan data bercampur secara berulang ulang.

Tiny Encryption Algorithm (TEA)memproses 64-bit input sekali waktu dan menghasilkan 64-bit output. Tiny Encryption Algorithm (TEA) menyimpan 64-bit

input kedalam L0 dan R0 masing masing 32-bit. Sedangkan 128-bit kunci disimpan


(42)

teknik ini cukup dapat mencegah penggunaan teknik exshautive search secara efektif. Hasil outputnya akan disimpan dalam L16 dan R16. (D. Wheeler and R. Needham,

1994).

Bilangan delta konstan yang digunakan adalah 9E3779B9, dimana bilangan delta

berasal dari golden number ((5/4)1/2 - 1/2 ~ 0.618034) 232 . Berbeda dengan sruktur

feistel yang semula hanya mengoperasikan satu sisi yaitu sisi sebelah kanan dengan

sebuah fungsi F, pada algoritma Tiny Encryption Algorithm (TEA) kedua sisi dioperasikan dengan sebuah fungsi yang sama.

Berikut adalah gambaran proses pada algoritma TEA:


(43)

Untuk melakukan enkripsi, proses diawali dengan input-bit teks terang sebanyak 64-bit. Kemudian 64-bit teks terang tersebut dibagi menjadi dua bagian, yaitu sisi kiri (L0) sebanyak 32-bit dan sisi kanan (R0) sebanyak 32-bit. Setiap bagian

teks terang akan dioperasikan sendiri-sendiri. R0 (z) akan digeser kekiri sebanyak

empat (4) kali dan ditambahkan dengan kunci k[0]. Sementara itu z ditambah dengan sum (delta) yang merupakan konstanta. Hasil penambahan ini di-XOR-kan dengan penambahan sebelumnya. Kemudian di-XOR-kan dengan hasil penambahan antara z yang digeser kekanan sebanyak lima (5) kali dengan kunci k[1]. Hasil tersebut kemudian ditambahkan dengan L0 (y) yang akan menjadi R1.

Sisi sebelah kiri akan mengalami proses yang sama dengan sisi sebelah kanan. L0 (y) akan digeser kekiri sebanyak empat (4) kali lalu ditambahkan dengan kunci

k[2]. Sementara itu, Y ditambah dengan sum (delta). Hasil penambahan ini di-XOR-kan dengan penambahan sebelumnya. Kemudian di-XOR-di-XOR-kan dengan hasil penambahan antara Y yang digeser ke kanan sebanyak lima (5) kali dengan unci k[3]. Hasil tersebut kemudian ditambahkan dengan R0 (Z) yang akan menjadi L1.

Berikut adalah langkah langkah penyandian dengan algoritma TEA dalam satu cycle (dua round) :

1. Pergeseran (shift)

Blok teks terang pada kedua sisi yang masing masing sebanyak 32-bit akan digeser kekiri sebanyak empat (4) kali dan digeser ke kanan sebanyak lima (5) kali.

2. Penambahan

Setelah digeser kekiri dan kekanan, maka Y dan Z yang telah digeser akan ditambahkan dengan kunci k[0]-k[3]. Sedangkan Y dan Z awal akan ditambahkan dengan sum (delta).

3. Peng-XOR-an

Setelah dioperasikan dengan penambahan pada masing-masing register maka akan dilakukan peng-XOR-an dengan rumus untuk satu round adalah sebagai berikut :


(44)

y = y + (((z<<4)+k[0])^z+sum^((z>>5)+k[1])) z = z + (((y<<4)+k[2]^y+sum^((y>>5)+k[3])) dalam hal ini sum=sum+delta.

Hasil penyandian dalam satu cycle satu blok teks terang 64-bit menjadi 64-bit teks sandi adalah dengan menggabungkan y dan z. Untuk penyandian pada cycle berikutnya y dan z ditukar posisinya, sehingga y1 menjadi z1 dan z1 menjadi y1 lalu

dilanjutkan proses seperti langkah-langkah diatas sampai dengan 16 cycle (32 round).

4. Key Schedule

Pada algoritma TEA, key schedule-nya sangat sederhana. Yaitu kunci k[0] dan k[1] konstan digunakan untuk round ganjil sedangkan kunci k[2] dan k[3] konstan digunakan untuk round genap.

Dalam proses dekripsi sama halnya seperti pada proses penyandian yang berbasis feistel cipher lainnya. Yaitu pada prinsipnya adalah sama pada saat proses enkripsi. Namun hal yang berbeda adalah penggunaan teks sandi sebagai input dan kunci yang digunakan urutannya dibalik. Pada proses dekripsi semua round ganjil menggunakan k[1] terlebih dahulu kemudian k[0], demikian juga dengan semua round genap digunakan k[3] terlebih dahulu kemudian k[2].

Adapun beberapa keunggulan dari algoritma Tiny Encryption Algorithm (TEA) ini adalah :

a. Pada Algoritma Tiny Encryption Algorithm (TEA) panjang kuncinya yaitu 128-bit, merupakan jumlah kunci yang cukup panjang untuk algoritma kriptografi modern saat ini yang dapat menahan serangan kriptanalis.

b. Teknik yang digunakan TEA cukup baik, yaitu pada setiap prosesnya menggunakan jaringan feistel yang memuat operasi permutasi, subtitusi dan modular arithmatic berupa XOR dan penambahan bilangan delta yang diharapkan dari operasi tersebut menciptakan efek difusi dan konfusi yang baik, karena semakin baik efek difusi dan konfusi yang dihasilkan suatu algoritma makin semakin baik pula tingkat keamanannya.


(45)

c. Ukuran blok input pada TEA yaitu 64-bit, sebuah jumlah yang cukup panjang untuk menghindari analisis pemecahan kode dan cukup kecil agar dapat bekerja dengan cepat.

d. Tidak membutuhkan S-Box dan P-Box dalam proses enkripsi dan deskripsinya, karena S-Box dan P-Box tersebut tidak dapat dijamin keamanannya dikarenakan struktur dari S-Box dan P-Box tersebut hanya diketahui oleh NSA (National Security Agency) dan diubah menurut saran dari NSA, sehingga jika S-Box dan P-Box tersebut diubah maka maka sangat mungkin sekali algoritma yang digunakan akan lebih mudah dibobol. Selain itu, juga dapat meminimalkan penggunaan memory pada saat melakukan proses enkripsi dan deskripsi sehingga dapat memaksimalkan proses.

e. Algoritma TEA diketahui sangat kuat terhadap metode penyerangan berupa hanya ciphertext yang diketahui, plaintext yang diketahui dan plaintext terpilih.

Sedangkan kelemahan dari algoritma Tiny Encryption Algorithm (TEA) ini adalah karena TEA ini termasuk kedalam kelompok Algoritma Simetri, maka masih rentan untuk dibobol, karena dalam algortima simetri masalah utama memang terletak dari segi pendistribusian kuncinya, dimana harus benar-benar aman pada saat mendistribusikan kunci yang akan digunakan. Berdasarkan data yang didapat, estimasi proses enkripsi dan deskripsi algoritma TEA yang dibandingkan dengan algoritma simetri lainnya secara umum adalah sebagai berikut :

Summary

Block Key

Size Size Speed** Type Author Bits Bits (m:s) 3DES Diffie & Hellman 64 168 4:05 Blowfish Schneier 64 256 0:55 DES IBM & NSA 64 56 1:42 IDEA Lai & Massey 64 128 1:07 Misty1 Matsui 64 128 2:50 Square Daemon & Rijmen 128 128 0:39 Summer Aman (stream) 128 0:46 TEA 16 Wheeler & Needham 64 128 0:46 TEA 32 Wheeler & Needham 64 128 1:03

**Speed is time to copy a 50MB file from a normal disk to a ScramDisk on a 166 Mhz Pentium.

Tabel 2.1 Perbandingan Estimasi Proses Algoritma TEA dengan Algoritma Simetri lainnya.


(46)

2.3 Masalah Keamanan Informasi Di Negara Republik Indonesia

2.3.1 Hari Persandian Nasional

Tidak banyak masyarakat yang mengetahui kalau tanggal 4 April dicanangkan sebagai hari Persandian Nasional di Indonesia. Mungkin karena mitos persandian adalah rahasia, sehingga pencanangan hari jadinya pun dirahasiakan.

Pada tanggal 4 April 1946, tepatnya Pemerintah Indonesia mulai merintis Persandian sebagai bagian resmi Pemerintah Indonesia. Saat itu Menhan RI memerintahka persandian pemerintah.

Usia Institusi Pemerintah yang mengurusi persandian yang kini sudah menginjak tahun ke-62, adalah usia yang terbilang cukup matang bagi perkembangan sebuah institusi. Pengalaman jatuh bangun dalam mempertahankan eksistensi, pertarungan dalam pengamanan pemberitaan, persaingan dalam ilmu dan teknologi, suka duka membesarkan organisasi dan sebagainya menjadi kekayaan tersendiri yang jika disikapi dengan positif akan menjadi aset berharga yang patut didokumentasikan sebagai sejarah.

Di era teknologi informasi yang berkembang sangat pesat, tantangan yang menghadang menjadi begitu banyaknya. Tantangan tersebut menjadi tugas tersendiri yang harus diselesaikan oleh institusi yang menangani persandian yaitu

Salah satu tantangan yang perlu mendapatkan penanganan segera adalah adanya kebutuhan pengamanan informasi dihadapkan dengan kebebasan memperoleh informasi. Baru-baru ini telah disahkan oleh DPR RI (UU KIP). Sedangkan RUU Kerahasiaan Negara belum disahkan dan regulasi tentang keamanan informasi belum ada.

Karena pengamanan informasi merupakan kegiatan yang tidak terlihat, seseorang sering abai terhadap pengamanan jenis ini. Terlebih lagi jika data/informasi


(47)

tersebut dicuri atau hilangpun tidak diketahui. Kita baru akan menyadari bahwa ada data/informasi yang telah hilang atau dicuri orang atau dimanipulasi setelah akibat yang ditimbulkannya mulai terlihat.

Jadi sesungguhnya semua informasi patut diberikan pengamanan, terlebih lagi informasi yang bersifat rahasia seperti data-data pribadi, akun keuangan atau kesehatan. Tingkat pengamanan yang diberikan mengikuti tingkat kerahasiaan dari informasinya. Jadi kekhawatiran bahwa regulasi “keamanan informasi” akan berbenturan dengan regulasi “kebebasan informasi” hanyalah ilusi. Kedua regulasi tersebut justru akan saling mendukung.

Momen hari persandian yang baik ini selayaknya dijadikan sebagai pelecut semangat untuk berkarya menyelesaikan tugas yang diberikan oleh perkembangan teknologi informasi dan komunikasi, UU ITE, UU KIP dan karena kebutuhan gaya hidup di era masyarakat informasi. Serta tugas yang tidak kalah penting adalah mensosialisasikan dan mencatatkan hari persandian nasional di lembar negara RI..

2.3.2

UU KIP atau Undang Undang Republik Indonesia nomor 14 tahun 2008 tentang Keterbukaan Informasi Publik, ditujukan untuk mengatur hal ihwal informasi yang berkaitan dengan kepentingan umum dan negara.

Seperti disebutkan dalam penjelasannya, keberadaan Undang-undang tentang Keterbukaan Informasi Publik sangat penting sebagai landasan hukum yang berkaitan dengan :

1. Hak setiap Orang untuk memperoleh Informasi

2. Kewajiban Badan Publik menyediakan dan melayani permintaan Informasi secara cepat, tepat waktu, biaya ringan/proporsional, dan cara sederhana

3. Pengecualian bersifat ketat dan terbatas;

4. Kewajiban Badan Publik untuk membenahi sistem dokumentasi dan pelayanan Informasi.


(48)

Dengan membuka akses publik terhadap Informasi diharapkan Badan Publik termotivasi untuk bertanggung jawab dan berorientasi pada pelayanan rakyat yang sebaik-baiknya. Dengan demikian, hal itu dapat mempercepat perwujudan pemerintahan yang terbuka yang merupakan upaya strategis mencegah praktik korupsi, kolusi, dan nepotisme (KKN), dan terciptanya kepemerintahan yang baik

(good governance).

Ditegaskan juga sebagai bahan pertimbangan pembuatan UU ini salah satunya adalah bahwa informasi merupakan kebutuhan pokok setiap orang bagi pengembangan pribadi dan lingkungan sosialnya serta merupakan bagian penting bagi ketahanan nasional.

2.3.3 Standar Keamanan Nasional

Teknologi informasi dan komunikasi telah sangat maju dan menembus pada hampir semua aspek organisasi. Pengolahan dan penyimpanan informasi telah menjadi aspek yang menentukan kehidupan organisasi. Sehingga standarisasi keamanan informasi secara nasional bagi sebuah pemerintahan negara tentunya juga menjadi sangat penting.

Tujuan utama membuat Standar Keamanan Informasi Nasional (sebutan singkatnya SKIN) adalah agar kegiatan pengamanan informasi pemerintah menjadi efisien dan efektif, sehingga tidak mudah untuk dibongkar pihak asing. Standar keamanan informasi ini penekanannya lebih pada syarat, prosedur, kebijakan, pengelolaan serta pendidikan dan pelatihan. Standarisasi yang dimaksud disini bukanlah standar teknis (spesifikasi), bukan pengarahan ke suatu teknologi atau produk, bukan kumpulan tip serta bukan sebagai jaminan dan berfungsinya sebuah alat keamanan informasi. Pendekatan ini memungkinkan SKIN diaplikasikan dan diterapkan dalam berbagai tipe organisasi dan aplikasi.

Selain itu, SKIN akan memudahkan dalam menciptakan regulasi yang dapat memberikan keputusan apakah sebuah kegiatan keamanan informasi sudah baik atau belum, apakah sebuah informasi perlu mendapat perlakuan pengamanan atau tidak dan


(49)

juga dapat menentukan sampai tingkat berapa pengamanan yang diperlukan, dan sebagainya. Sehingga regulasi tentang keamanan informasi tidak perlu menciptakan badan/institusi lagi yang khusus untuk mengambil keputusan keamanan informasi atau tingkat kerahasiaan sebuah data/informasi.

Standarisasi yang akan dipakai bisa saja mengacu pada standar internasional yang sudah ada atau bisa juga sama sekali baru disesuaikan dengan kekhasan keadaan di dalam negeri sendiri.

Standar keamanan informasi yang sudah terkenal adalah BS7799 yaitu Code of

Practise for Information Security Management, yang dikeluarkan oleh pemerintah

Inggris secara internasional menjadi ISO27001 yaitu Information Security Management

System (ISMS) oleh organisasi internasional urusan standarisasi Organization for Standardization). Sedangkan SKIN mungkin belum dibuat oleh

pemerintah Indonesia (saya tidak menemukannya di dibuat, tulisan ini ditujukan untuk memicu standarisasi keamanan informasi dalam lingkup nasional Indonesia.

Saat ini informasi adalah suatu aset organisasi penting dan berharga yang harus dilindungi dari ancaman yang mungkin timbul untuk menjamin kesinambungan bisnis dan meminimalisir kerugian atas ketidakamanan yang terjadi. Oleh karena itu, pengelolaan informasi yang baik sangat penting untuk meningkatkan kesuksesan dalam kompetisi disemua sektor.

ISO27001 dalam pengelolaan informasinya berfokus pada melindungi :

a. Kerahasiaan (confidentiality) : memastikan bahwa informasi hanya dapat diakses oleh pihak yang memang berwenang.

b. Keutuhan (integrity) : menjaga kelengkapan dan keakuratan informasi serta metode pemrosesannya.

c. Ketersediaan (availability) : memastikan bahwa pihak yang berwenang dapat mengakses informasi dan aset lainnya ketika memerlukannya.


(50)

Untuk SKIN, perlu ditambahkan satu syarat yaitu

d. Tidak dapat disangkal (non repudiation) : memastikan bahwa pihak pengakses tersebut adalah memang pihak yang benar, sehingga dapat dijadikan sebagai alat bukt i sesua

Standarisasi keamanan informasi pada dasarnya adalah mengenai pengelolaan resiko yang dilakukan dengan cara mengembangkan manajemen risiko dan strategi mitigasi melalui pengidentifikasian aset, ancaman dan vulnerabilities serta pengukuran resiko.

Analisa risiko keamanan informasi (security risk assessment) adalah metode untuk memaksimalkan penggunaan aset organisasi yang terbatas melalui pengukuran risiko dan pengelolaan risiko yang dapat ditoleransi. Untuk kemudian dapat menetapkan syarat-syarat keamanan informasi dan jenis pengendalian yang diperlukan untuk meminimalisir ancaman dan risiko tersebut yang disesuaikan dengan benefit organisasi yang paling optimal.

Pengendalian adalah cara yang dipilih untuk menyingkirkan atau meminimalkan risiko ke level yang dapat diterima. Berikut adalah dasar-dasar pengendalian yang biasa digunakan untuk membuat security risk assessment :

1. Pengendalian kebijakan keamanan informasi : ditujukan sebagai dukungan manajemen, komitmen dan pengarah dalam pencapaian tujuan pengamanan informasi.

2. Pengendalian keamanan informasi secara organisasional : ditujukan pada kebutuhan kerangka kerja manajemen yang membuat, menyokong dan mengelola infrastruktur keamanan informasi.

3. Pengendalian dan pengklasifikasian aset : ditujukan pada kemampuan infratruktur keamanan informasi untuk melindungi aset organisasi.

4. Pengendalian keamanan personel : ditujukan pada kemampuan untuk meminimalisir resiko yang timbul akibat interaksi antar/dengan manusia.


(51)

5. Pengandalian keamanan fisik dan lingkungannya : ditujukan pada perlindungan terhadap resiko yang timbul secara fisik di tempat/lingkungan sekitar sistem berada.

6. Pengendalian komunikasi dan manajemen operasional : ditujukan pada kemampuan organisasi untuk menjamin ketepatan dan keamanan operasional aset-asetnya.

7. Pengendalian akses : ditujukan pada kemampuan organisasi untuk mengontrol akses kepada aset-aset organisasi berdasarkan kebutuhan bisnis dan keamanan. 8. Pengendalian pengembangan dan pemeliharaan sistem : ditujukan pada

kemampuan organisasi untuk menjamin terintegrasi dan terpeliharanya pengendalian terhadap sistem keamanan informasi yang tepat.

9. Pengendalian kelangsungan manajemen bisnis : ditujukan pada kemampuan organisasi untuk menghadapi hambatan yang timbul sehingga operasional organisasi dapat berjalan dengan baik.

10. Pengendalian kepatuhan : ditujukan pada kemampuan organisasi untuk secara disiplin mematuhi semua regulasi, peraturan, kontrak dan syarat-syarat yang telah dibuat.

2.4 Rekayasa Perangkat Lunak

Rekayasa perangkat lunak adalah disiplin ilmu yang membahas semua aspek produksi perangkat lunak, mulai dari awal spesifikasi sistem sampai pemeliharaan sistem setelah digunakan.( Kendall & Kendall, 2003).

Ada banyak proses dalam pembuatan perangkat lunak, namun ada kegiatan – kegiatan yang mendasar yang umum bagi semua proses perangkat lunak. Kegiatan tersebut adalah :


(52)

1) Penspesifikasian perangkat lunak. Fungsionalitas perangkat lunak dan batasan operasinya harus didefenisikan.

2) Perancangan dan implementasi perangkat lunak. Perangkat lunak yang memenuhi syarat harus dibuat.

3) Pemvalidasian perangkat lunak. Perangkat lunak tersebut harus divalidasi untuk menjamin bahwa perangkat lunak bekerja sesuai dengan apa yang diinginkan. 4) Pengevaluasian perangkat lunak. Peragkat lunak harus dapat berkembang untuk

menghadapi kebutuhan yang berubah-ubah.

Untuk memodelkan proses rekayasa perangkat lunak dapat dilakukan dengan beberapa pendekatan yaitu :

1) Model air terjun (waterfall). Model ini mengambil kegiatan proses dasar seperti spsifikasi, pengembangan, validasi dan evolusi dan merepresentasikannya sebagai fase-fase yang berbeda seperti spesifiksi persyaratan, perancangan perangkat lunak, implementasi, pengujian dan seterusnya.

2) Pegembangan evolusioner. Suatu sistem awal dikembangkan dengan cepat dri spesifikasi abstrak.

3) Pengembangan sistem formal. Pendekatan ini didasarkan atas pembuatan spesifikasi sistem matematis dan pentrnsformasian sistem ini dengan metode matematis untuk membangun program.

4) Pengembangan berdasarkan pemakaian ulang. Pedekatan ini didasarkan adanya komponen yang dapat dipakai ulang dalam jumlah yang signifikan.

Pada proses peracangan perangkat lunak dilakukan beberapa kegitan seperti:

1) Perancangan arsitektural. Subsistem-subsistem yang membentuk sistem dan hubungan mereka diidentifikasi dan didokumentasi.

2) Spesifikasi abstrak. Untuk setiap subsistem, spesifikasi abstrak dari layanan dan batasan operasinya harus ditentukan.

3) Perancangan antarmuka. Untuk setiap subsistem, antarmuka subsistem dirancang dan didokumentasi

4) Perancangan komponen. Layanan dialokasikan pada komponen yang berbeda dan antarmuka komponen-komponen dirancang.


(1)

Label17.Caption:='File yang dipilih : ' +

FileListBox2.Items.Strings[i]+' (

'+floatToStr(MailGetFileSize(FileListBox2.FileName)/1024)+' Kb )';

end;

end;

end;

end.

5.

Form About

unit about;

interface

uses Windows, SysUtils, Classes, Graphics, Forms, Controls, StdCtrls,

Buttons, ExtCtrls;

type

TAboutBox = class(TForm)

Panel1: TPanel;

ProgramIcon: TImage;

OKButton: TButton;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

Label5: TLabel;

Label6: TLabel;

private

{ Private declarations }

public

{ Public declarations }

end;

var

AboutBox: TAboutBox;

implementation

{$R *.dfm}

end.


(2)

LAMPIRAN C : TABEL KODE ASCII

DEC

HEX

BIN

SYMBOL

DESCRYPTION

0 00 00000000 NUL Null char

1 01 00000001 SOH St art of Heading

2 02 00000010 STX St art of Text

3 03 00000011 ETX End of Text

4 04 00000100 EOT End of Transm ission

5 05 00000101 ENQ Enquiry

6 06 00000110 ACK Acknow ledgm ent

7 07 00000111 BEL Bell

8 08 00001000 BS Back Space

9 09 00001001 HT Horizont al Tab

10 0A 00001010 LF Line Feed

11 0B 00001011 VT Vert ical Tab

12 0C 00001100 FF Form Feed

13 0D 00001101 CR Carriage Return

14 0E 00001110 SO Shift Out / X-On

15 0F 00001111 SI Shift I n / X- Off

16 10 00010000 DLE Dat a Line Escape

17 11 00010001 DC1 Device Cont rol 1 ( oft . XON)

18 12 00010010 DC2 Device Cont rol 2

19 13 00010011 DC3 Device Cont rol 3 ( oft . XOFF)

20 14 00010100 DC4 Device Cont rol 4

21 15 00010101 NAK Negat ive Acknow ledgem ent

22 16 00010110 SYN Synchronous I dle

23 17 00010111 ETB End of Transm it Block

24 18 00011000 CAN Cancel

25 19 00011001 EM End of Medium

26 1A 00011010 SUB Subst it ute

27 1B 00011011 ESC Escape

28 1C 00011100 FS File Separat or

29 1D 00011101 GS Group Separat or

30 1E 00011110 RS Record Separat or

31 1F 00011111 US Unit Separator

32 20 00100000 Space

33 21 00100001 ! Exclam at ion m ark

34 22 00100010 " Double quotes ( or speech m arks)

35 23 00100011 # Num ber

36 24 00100100 $ Dollar

37 25 00100101 % Procent tecken

38 26 00100110 & Am persand

39 27 00100111 ' Single quot e

40 28 00101000 ( Open parent hesis ( or open bracket )

41 29 00101001 ) Close parent hesis ( or close bracket )

42 2A 00101010 * Asterisk

43 2B 00101011 + Plus

44 2C 00101100 , Com m a

45 2D 00101101 - Hyphen

46 2E 00101110 . Period, dot or full st op

47 2F 00101111 / Slash or divide

48 30 00110000 0 Zero

49 31 00110001 1 One

50 32 00110010 2 Tw o

51 33 00110011 3 Three

52 34 00110100 4 Four

53 35 00110101 5 Five

54 36 00110110 6 Six


(3)

56 38 00111000 8 Eight

57 39 00111001 9 Nine

58 3A 00111010 : Colon

59 3B 00111011 ; Sem icolon

60 3C 00111100 < Less t han ( or open angled bracket )

61 3D 00111101 = Equals

62 3E 00111110 > Greater t han ( or close angled bracket )

63 3F 00111111 ? Quest ion m ark

64 40 01000000 @ At sym bol

65 41 01000001 A Uppercase A

66 42 01000010 B Uppercase B

67 43 01000011 C Uppercase C

68 44 01000100 D Uppercase D

69 45 01000101 E Uppercase E

70 46 01000110 F Uppercase F

71 47 01000111 G Uppercase G

72 48 01001000 H Uppercase H

73 49 01001001 I Uppercase I

74 4A 01001010 J Uppercase J

75 4B 01001011 K Uppercase K

76 4C 01001100 L Uppercase L

77 4D 01001101 M Uppercase M

78 4E 01001110 N Uppercase N

79 4F 01001111 O Uppercase O

80 50 01010000 P Uppercase P

81 51 01010001 Q Uppercase Q

82 52 01010010 R Uppercase R

83 53 01010011 S Uppercase S

84 54 01010100 T Uppercase T

85 55 01010101 U Uppercase U

86 56 01010110 V Uppercase V

87 57 01010111 W Uppercase W

88 58 01011000 X Uppercase X

89 59 01011001 Y Uppercase Y

90 5A 01011010 Z Uppercase Z

91 5B 01011011 [ Opening bracket

92 5C 01011100 \ Backslash

93 5D 01011101 ] Closing bracket

94 5E 01011110 ^ Caret - circum flex

95 5F 01011111 _ Underscore

96 60 01100000 ` Grave accent

97 61 01100001 a Low ercase a

98 62 01100010 b Low ercase b

99 63 01100011 c Low ercase c

100 64 01100100 d Low ercase d

101 65 01100101 e Low ercase e

102 66 01100110 f Low ercase f

103 67 01100111 g Low ercase g

104 68 01101000 h Low ercase h

105 69 01101001 i Low ercase i

106 6A 01101010 j Low ercase j

107 6B 01101011 k Low ercase k

108 6C 01101100 l Low ercase l

109 6D 01101101 m Low ercase m

110 6E 01101110 n Low ercase n

111 6F 01101111 o Low ercase o

112 70 01110000 p Low ercase p

113 71 01110001 q Low ercase q

114 72 01110010 r Low ercase r

115 73 01110011 s Low ercase s

116 74 01110100 t Low ercase t


(4)

118 76 01110110 v Low ercase v

119 77 01110111 w Low ercase w

120 78 01111000 x Low ercase x

121 79 01111001 y Low ercase y

122 7A 01111010 z Low ercase z

123 7B 01111011 { Opening brace

124 7C 01111100 | Vert ical bar

125 7D 01111101 } Closing brace

126 7E 01111110 ~ Equivalency sign - t ilde

127 7F 01111111 Delete

128 80 10000000 € Euro sign

129 81 10000001

130 82 10000010 ‚ Single low -9 quot at ion m ark

131 83 10000011 ƒ Lat in sm all let ter f w it h hook

132 84 10000100 „ Double low - 9 quotat ion m ark

133 85 10000101 … Horizont al ellipsis

134 86 10000110 † Dagger

135 87 10000111 ‡ Double dagger

136 88 10001000 ˆ Modifier let t er circum flex accent

137 89 10001001 ‰ Per m ille sign

138 8A 10001010 Š Lat in capital let ter S w it h caron

139 8B 10001011 ‹ Single left - point ing angle quotat ion

140 8C 10001100 ΠLat in capital ligat ure OE

141 8D 10001101

142 8E 10001110 Ž Lat in capt ial let ter Z w it h caron

143 8F 10001111

144 90 10010000

145 91 10010001 ‘ Left single quotat ion m ark

146 92 10010010 ’ Right single quotat ion m ark

147 93 10010011 “ Left double quotat ion m ark

148 94 10010100 ” Right double quot at ion m ark

149 95 10010101 • Bullet

150 96 10010110 – En dash

151 97 10010111 — Em dash

152 98 10011000 ˜ Sm all t ilde

153 99 10011001 ™ Trade m ark sign

154 9A 10011010 š Lat in sm all let ter S w it h caron

155 9B 10011011 › Single right -point ing angle quot at ion m ark

156 9C 10011100 œ Lat in sm all ligat ure oe

157 9D 10011101

158 9E 10011110 ž Lat in sm all let ter z w it h caron

159 9F 10011111 Ÿ Lat in capital let ter Y w it h diaeresis

160 A0 10100000 Non- breaking space

161 A1 10100001 ¡ I nverted exclam at ion m ark

162 A2 10100010 ¢ Cent sign

163 A3 10100011 £ Pound sign

164 A4 10100100 ¤ Currency sign

165 A5 10100101 ¥ Yen sign

166 A6 10100110 ¦ Pipe, Broken vert ical bar

167 A7 10100111 § Sect ion sign

168 A8 10101000 ¨ Spacing diaeresis - um laut

169 A9 10101001 © Copyright sign

170 AA 10101010 ª Fem inine ordinal indicator

171 AB 10101011 « Left double angle quot es

172 AC 10101100 ¬ Not sign

173 AD 10101101 Soft hyphen

174 AE 10101110 ® Regist ered t rade m ark sign

175 AF 10101111 ¯ Spacing m acron - overline

176 B0 10110000 ° Degree sign

177 B1 10110001 ± Plus- or-m inus sign

178 B2 10110010 ² Superscript tw o - squared


(5)

180 B4 10110100 ´ Acute accent - spacing acute

181 B5 10110101 µ Micro sign

182 B6 10110110 ¶ Pilcrow sign - paragraph sign

183 B7 10110111 · Middle dot - Georgian com m a

184 B8 10111000 ¸ Spacing cedilla

185 B9 10111001 ¹ Superscript one

186 BA 10111010 º Masculine ordinal indicat or

187 BB 10111011 » Right double angle quot es

188 BC 10111100 ¼ Fract ion one quarter

189 BD 10111101 ½ Fract ion one half

190 BE 10111110 ¾ Fract ion t hree quarters

191 BF 10111111 ¿ I nverted quest ion m ark

192 C0 11000000 À Lat in capital let ter A w it h grave

193 C1 11000001 Á Lat in capital let ter A w it h acute

194 C2 11000010 Â Lat in capital let ter A w it h circum flex

195 C3 11000011 Ã Lat in capital let ter A w it h t ilde

196 C4 11000100 Ä Lat in capital let ter A w it h diaeresis

197 C5 11000101 Å Lat in capital let ter A w it h ring above

198 C6 11000110 Æ Lat in capital let ter AE

199 C7 11000111 Ç Lat in capital let ter C w ith cedilla

200 C8 11001000 È Lat in capital let ter E w it h grave

201 C9 11001001 É Lat in capital let ter E w it h acute

202 CA 11001010 Ê Lat in capital let ter E w it h circum flex

203 CB 11001011 Ë Lat in capital let ter E w it h diaeresis

204 CC 11001100 Ì Lat in capital let ter I w it h grave

205 CD 11001101 Í Lat in capital let ter I w it h acute

206 CE 11001110 Î Lat in capital let ter I w it h circum flex

207 CF 11001111 Ï Lat in capital let ter I w it h diaeresis

208 D0 11010000 Ð Lat in capital let ter ETH

209 D1 11010001 Ñ Lat in capital let ter N w it h t ilde

210 D2 11010010 Ò Lat in capital let ter O w it h grave

211 D3 11010011 Ó Lat in capital let ter O w it h acut e

212 D4 11010100 Ô Lat in capital let ter O w it h circum flex

213 D5 11010101 Õ Lat in capital let ter O w it h t ilde

214 D6 11010110 Ö Lat in capital let ter O w it h diaeresis

215 D7 11010111 × Mult iplicat ion sign

216 D8 11011000 Ø Lat in capital let ter O w it h slash

217 D9 11011001 Ù Lat in capital let ter U w it h grave

218 DA 11011010 Ú Lat in capital let ter U w it h acut e

219 DB 11011011 Û Lat in capital let ter U w it h circum flex

220 DC 11011100 Ü Lat in capital let ter U w it h diaeresis

221 DD 11011101 Ý Lat in capital let ter Y w it h acute

222 DE 11011110 Þ Lat in capital let ter THORN

223 DF 11011111 ß Lat in sm all let ter sharp s - ess- zed

224 E0 11100000 à Lat in sm all let ter a w it h grave

225 E1 11100001 á Lat in sm all let ter a w it h acut e

226 E2 11100010 â Lat in sm all let ter a w it h circum flex

227 E3 11100011 ã Lat in sm all let ter a w it h t ilde

228 E4 11100100 ä Lat in sm all let ter a w it h diaeresis

229 E5 11100101 å Lat in sm all let ter a w it h ring above

230 E6 11100110 æ Lat in sm all let ter ae

231 E7 11100111 ç Lat in sm all let ter c w it h cedilla

232 E8 11101000 è Lat in sm all let ter e w ith grave

233 E9 11101001 é Lat in sm all let ter e w ith acute

234 EA 11101010 ê Lat in sm all let ter e w ith circum flex

235 EB 11101011 ë Lat in sm all let ter e w ith diaeresis

236 EC 11101100 ì Lat in sm all let ter i w it h grave

237 ED 11101101 í Lat in sm all let ter i w it h acute

238 EE 11101110 î Lat in sm all let ter i w it h circum flex

239 EF 11101111 ï Lat in sm all let ter i w it h diaeresis

240 F0 11110000 ð Lat in sm all let ter et h


(6)

242 F2 11110010 ò Lat in sm all let ter o w it h grave

243 F3 11110011 ó Lat in sm all let ter o w it h acut e

244 F4 11110100 ô Lat in sm all let ter o w it h circum flex

245 F5 11110101 õ Lat in sm all let ter o w it h t ilde

246 F6 11110110 ö Lat in sm all let ter o w it h diaeresis

247 F7 11110111 ÷ Division sign

248 F8 11111000 ø Lat in sm all let ter o w it h slash

249 F9 11111001 ù Lat in sm all let ter u w it h grave

250 FA 11111010 ú Lat in sm all let ter u w it h acut e

251 FB 11111011 û Lat in sm all let ter u w it h circum flex

252 FC 11111100 ü Lat in sm all let ter u w it h diaeresis

253 FD 11111101 ý Lat in sm all let ter y w it h acute

254 FE 11111110 þ Lat in sm all let ter t horn