perancangan tea
TRANSCRIPT
-
5/28/2018 Perancangan TEA
1/118
Yunita Sari : Perancangan Dan Implementasi Sistem Keamanan Data Menggunakan Algoritma Simetri Tea DenganBahasa Pemrograman Delphi 7.0, 2009.USU Repository 2009
PERANCANGAN DAN IMPLEMENTASI SISTEM KEAMANAN
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
-
5/28/2018 Perancangan TEA
2/118
2
PERSETUJUAN
Judul : PERANCANGAN DAN IMPLEMENTASI SISTEMKEAMANAN DATA MENGGUNAKAN
ALGORITMA SIMETRI TEA DENGAN BAHASAPEMROGRAMAN DELPHI 7.0
Kategori : SKRIPSINama : YUNITA SARI
Nomor Induk Mahasiswa : 041401031Program Studi : SARJANA (S1) ILMU KOMPUTER
Departemen : ILMU KOMPUTERFakultas : MATEMATIKA DAN ILMU PENGETAHUAN
ALAM (FMIPA) UNIVERSITAS SUMATERAUTARA
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
-
5/28/2018 Perancangan TEA
3/118
3
PERNYATAAN
PERANCANGAN DAN IMPLEMENTASI SISTEM KEAMANAN DATA
MENGGUNAKAN ALGORITMA SIMETRI TEA DENGANBAHASA PEMROGRAMAN DELPHI 7.0
SKRIPSI
Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapakutipan dan ringkasan yang masing-masing disebutkan sumbernya.
Medan, 17 Maret 2009
Yunita Sari
041401031
-
5/28/2018 Perancangan TEA
4/118
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 padapenulis 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 bantuankepada penulis.
-
5/28/2018 Perancangan TEA
5/118
5
ABSTRAK
Keamanan data merupakan salah satu aspek terpenting dalam teknologi informasi.
Dengan tingkat keamanan yang tinggi, diharapkan informasi yang disajikan dapatterjaga 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 yangmerupakan 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.
-
5/28/2018 Perancangan TEA
6/118
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 containingdata 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.
-
5/28/2018 Perancangan TEA
7/118
7
DAFTAR ISI
Halaman
PERSETUJUAN 2
PERNYATAAN 3PENGHARGAAN 4
ABSTRAK 5
ABSTRACT 6
DAFTAR ISI 7
DAFTAR TABEL 9
DAFTAR GAMBAR 10
BAB 1 PENDAHULUAN 11
1.1. Latar Belakang Masalah 111.2. Rumusan Masalah 121.3. Batasan Masalah 121.4. Tujuan Penelitian 131.5. Manfaat Penelitian 131.6. Metode Penelitian 131.7. Sistematika Penulisan 14
BAB 2 LANDASAN TEORI 16
2.1. Kriptografi 162.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 232.1.4.5. Sistem Kriptografi 27
2.1.4.6. Kategori CipherKunci-Simetri 312.4.6.1 Kategori CipherKunci-Simetri 31
2.1.4.7. Prinsip Prinsip Perancangan Cipher Blok 992.2. Tiny Encryption Algorithm 412.3. Masalah Keamanan Informasi Di Negara Republik Indonesia 46
2.3.1. Hari Persandian Nasional 462.3.2. Informasi Rahasia dalam UU KIP 472.3.3. Standar Keamanan Nasional 48
2.4. Rekayasa Perangkat Lunak 512.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) 543.3. Analisis Proses Enkripsi Algoritma TEA 56
http://hadiwibowo.wordpress.com/2008/07/12/informasi-rahasia-dalam-uu-kip/http://hadiwibowo.wordpress.com/2008/07/12/informasi-rahasia-dalam-uu-kip/ -
5/28/2018 Perancangan TEA
8/118
8
3.4. Analisis Proses Deskripsi Algoritma TEA 613.5. Pemodelan Fungsional 61
3.5.1. DFD dan Spesifikasi Proses 613.5.2. Kamus Data 69
BAB 4 PERANCANGAN DAN IMPLEMENTASI 72
4.1. Perancangan 724.1.1. Perancangan Struktur Data 724.1.2. Perancangan Struktur Program 734.1.3. Perancangan Antarmuka Pemakai 754.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
-
5/28/2018 Perancangan TEA
9/118
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
Tabel 3.7 Kamus Data Proses Deskripsi 71
-
5/28/2018 Perancangan TEA
10/118
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 34Gambar 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 85Gambar 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
Gambar 4.13 Tampilan Layar About 89
-
5/28/2018 Perancangan TEA
11/118
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 arusinformasi 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
-
5/28/2018 Perancangan TEA
12/118
12
merupakan algoritma penyandian block cipher yang menggunakan proses feistel
networkdengan 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 MasalahDalam 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.
-
5/28/2018 Perancangan TEA
13/118
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 memudahkanbagi siapa saja yang ingin melindungi datanya agar tidak dapat dibaca oleh pihak-
pihak yang tidak berhak.
-
5/28/2018 Perancangan TEA
14/118
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.
-
5/28/2018 Perancangan TEA
15/118
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.
-
5/28/2018 Perancangan TEA
16/118
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, kryps yang berarti
tersembunyi dan grphein 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
-
5/28/2018 Perancangan TEA
17/118
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 scriptyang 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 ciphermengubah susunan huruf-huruf
di dalam pesan, sedangkan substitution ciphermengganti 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
-
5/28/2018 Perancangan TEA
18/118
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).
Gambar 2.1 Mesin enkripsiEnigma
-
5/28/2018 Perancangan TEA
19/118
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 confidentialityadalah secrecydanprivacy.b. Integritas data, adalah berhubungan dengan penjagaan dari perubahan data secara
tidak sah. Untuk menjaga integritasdata, 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.
-
5/28/2018 Perancangan TEA
20/118
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 menjadiPlaintext kembali. Secara sederhana proses tersebut digambarkan sebagai berikut :
Gambar 2.2 Proses Enkripsi Deskripsi
-
5/28/2018 Perancangan TEA
21/118
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.2Peserta Komunikasi
a. Entitas atau peserta adalah orang atau sesuatu yang mengirim, menerima, ataumemanipulasi 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.
c. Penerima adalah entitas dalam komunikasi yang diharapkan menerima informasi.
-
5/28/2018 Perancangan TEA
22/118
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.4Skema komunikasi dengan proses enkripsi
2.1.4.3 KriptologiKriptologi berasal dari bahasa Yunani, krypts yang berarti tersembunyi dan
lgos 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.
-
5/28/2018 Perancangan TEA
23/118
23
Gambar 2.5. Hubungan kriptografi, kriptanalisis dan steganografi
2.1.4.4Algoritma Kriptografi
Berdasarkan kunci yang dipakai algoritma kriptografi dapat dibedakan menjadi 2
golongan yaitu algoritma kriptografi simetris dan asimetris.
1. Algoritma SimetriAlgoritma 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 kunciyang 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 :
-
5/28/2018 Perancangan TEA
24/118
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.
-
5/28/2018 Perancangan TEA
25/118
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) danpublic 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
-
5/28/2018 Perancangan TEA
26/118
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 kaliukuran 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.
-
5/28/2018 Perancangan TEA
27/118
27
2.1.4.5 Sistem Kriptografi
Sistem kriptografi adalah suatu 5- tuple (P, C, K, E, D) yang memenuhi kondisi
sebagai berikut :
1. Padalah himpunan plainteks,
2. Cadalah himpunan cipherteks,
3. Katau ruang kunci (keyspace), adalah himpunan kunci,
4. Eadalah himpunan fungsi enkripsi :
5. Dadalah 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
-
5/28/2018 Perancangan TEA
28/118
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 ciphertextpalsu, me-replaypesan lama, mengubah informasi yang
tersimpan, dsb.
-
5/28/2018 Perancangan TEA
29/118
29
3. Metode Serangan Pada Kriptografi
Terdapat beberapa metode melakukan serangan kriptografi yang pada dasarnya berupa
metode yang berbasiskanplaintextdan metode yang berbasiskan ciphertext.
a. Hanya ciphertext yang diketahui: Kriptanalis (orang yang melakukan kripanalisis)
hanya memiliki ciphertexttanpa memilikiplaintext-nya. Sebelum melakukan
serangan, kriptanalis selalu membuat asumsi algoritma sandi yang digunakan
dalam ciphertextitu untuk menentukan tehnik memecahkannya.
Teknik yang digunakan untuk menemukanplaintext/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 misalnya kriptografi model
Caesar.
2. Exhaustive attack/brute-force attack : yaitu teknik untuk mengungkap
plaintext/kunci dengan mencoba secara sistematis semua kemungkinan kunci.
Walaupun tehnik ini akan berhasil menemukanplaintext/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 yangmemang 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
plaintext/kunci.
http://hadiwibowo.wordpress.com/2008/07/28/2006/08/25/kriptografi-bagi-pemula/http://hadiwibowo.wordpress.com/2008/07/28/2006/08/25/kriptografi-bagi-pemula/http://hadiwibowo.wordpress.com/2008/07/28/2006/08/25/kriptografi-bagi-pemula/http://hadiwibowo.wordpress.com/2008/07/28/2006/08/25/kriptografi-bagi-pemula/http://hadiwibowo.wordpress.com/2008/07/28/2006/08/25/kriptografi-bagi-pemula/ -
5/28/2018 Perancangan TEA
30/118
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. Plaintextdan ciphertextdiketahui: Kriptanalis mempunyai baikplaintextmaupun
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 ciphertextdariplaintext
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 penyandian asimetris, yang
mana kripanalis biasanya telah memiliki kunci publik-nya.
e. Ciphertext atau plaintext diketahui secara adaptif : Kriptanalis memilih blok
plaintextatau 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 engineeringrubber-hose cryptanalysis: Mencari informasi algoritma/kunci
sandi melalui kegiatan intelijen, mengancam, mengirim surat gelap, memeras
http://hadiwibowo.wordpress.com/2008/07/28/2007/01/01/sistem-sandi-asimetris/http://hadiwibowo.wordpress.com/2008/07/28/2007/01/01/sistem-sandi-asimetris/ -
5/28/2018 Perancangan TEA
31/118
31
(black-mail) atau melakukan penculikan/penyiksaan sampai orang yang
memegang kunci memberinya kunci untuk membuka pesan.
2.1.4.6 Kategori CipherKunci-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:
-
5/28/2018 Perancangan TEA
32/118
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).
Gambar 2.8 Skema enkripsi dan dekripsi dengan mode ECB
-
5/28/2018 Perancangan TEA
33/118
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.
-
5/28/2018 Perancangan TEA
34/118
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).IVdapat diberikan
oleh pengguna atau dibangkitkan secara acak oleh program. Jadi, untuk menghasilkan
-
5/28/2018 Perancangan TEA
35/118
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 plainteks akan
merambat pada blok cipherteks yang berkoresponden dan semua blok cipherteks
-
5/28/2018 Perancangan TEA
36/118
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 malfunctionpada 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, CFBp-bit mengenkripsi plainteks sebanyakpbit 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).
-
5/28/2018 Perancangan TEA
37/118
37
Gambar 2.11 Skema dekripsi dengan mode CFB
Algoritma enkripsi dengan mode CFB adalah sebagai berikut:
1. Antrian diisi denganIV(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 cipherteksini 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.
-
5/28/2018 Perancangan TEA
38/118
38
4. Output Feedback (OFB)
Mode OFB mirip dengan mode CFB, kecualip-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.
-
5/28/2018 Perancangan TEA
39/118
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. ConfusionPrinsip 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 membuatkriptanalis 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.
-
5/28/2018 Perancangan TEA
40/118
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 nbit menjadi dua bagian, kiri (L) dan kanan (R), yang
masing-masing panjangnya n/2 (hal ini mensyaratkan nharus genap).
2. Defenisikan cipherblok 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 ( ).
-
5/28/2018 Perancangan TEA
41/118
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 cipherblok,
kotak-S memetakan mbit masukan menjadi nbit keluaran, sehingga kotak-S tersebut
dinamakan kotak m x nS-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 R0masing masing 32-bit. Sedangkan 128-bit kunci disimpan
kedalam k[0], k[1], k[2], dan k[3] yang masing masing berisi 32-bit. Diharapkan
-
5/28/2018 Perancangan TEA
42/118
42
teknik ini cukup dapat mencegah penggunaan teknik exshautive searchsecara 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:
Gambar 2.14 Gambaran Proses Algoritma TEA
-
5/28/2018 Perancangan TEA
43/118
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-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 roundadalah sebagai berikut :
-
5/28/2018 Perancangan TEA
44/118
44
y = y + (((z5)+k[1]))
z = z + (((y5)+k[3]))
dalam hal ini sum=sum+delta.
Hasil penyandian dalam satu cyclesatu 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 z1dan z1menjadi 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 roundgenap.
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 makinsemakin baik pula tingkat keamanannya.
-
5/28/2018 Perancangan TEA
45/118
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 KeySize Size Speed**
Type Author Bits Bits (m:s)3DES Di f f i e & Hel l man 64 168 4: 05Bl owf i sh Schnei er 64 256 0: 55DES I BM & NSA 64 56 1: 42I DEA Lai & Massey 64 128 1: 07Mi st y1 Matsui 64 128 2: 50Squar e Daemon & Ri j men 128 128 0: 39Summer Aman ( st r eam) 128 0: 46
TEA 16 Wheel er & Needham 64 128 0: 46TEA 32 Wheel er & Needham 64 128 1: 03
**Speed i s t i me to copy a 50MB f i l e f r oma normaldi sk t o a ScramDi sk on a 166 Mhz Pent i um.
Tabel 2.1 Perbandingan Estimasi Proses Algoritma TEA dengan AlgoritmaSimetri lainnya.
-
5/28/2018 Perancangan TEA
46/118
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
memerintahkan dr. Roebiono Kertopati untuk merintis sebuah badan yang mengelola
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 Lembaga
Sandi Negara(Lemsaneg).
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 RIUndang-undang Informasi dan
Transfer Elektronik (UU ITE) dan Undang-undang Keterbukaan Informasi Publik
(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
http://hadiwibowo.wordpress.com/2006/09/26/bapak-persandian-negara-republik-indonesia/http://hadiwibowo.wordpress.com/2007/01/13/lembaga-sandi-negara/http://hadiwibowo.wordpress.com/2007/01/13/lembaga-sandi-negara/http://hadiwibowo.wordpress.com/2007/01/13/lembaga-sandi-negara/http://hadiwibowo.wordpress.com/2007/01/13/lembaga-sandi-negara/http://hadiwibowo.wordpress.com/2008/04/02/cyberlaw-undang-undang-informasi-transaksi-elektronik/http://hadiwibowo.wordpress.com/2008/04/02/cyberlaw-undang-undang-informasi-transaksi-elektronik/http://hadiwibowo.wordpress.com/2008/04/02/cyberlaw-undang-undang-informasi-transaksi-elektronik/http://hadiwibowo.wordpress.com/2008/04/02/cyberlaw-undang-undang-informasi-transaksi-elektronik/http://hadiwibowo.wordpress.com/2007/01/13/lembaga-sandi-negara/http://hadiwibowo.wordpress.com/2007/01/13/lembaga-sandi-negara/http://hadiwibowo.wordpress.com/2007/01/13/lembaga-sandi-negara/http://hadiwibowo.wordpress.com/2006/09/26/bapak-persandian-negara-republik-indonesia/ -
5/28/2018 Perancangan TEA
47/118
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 Informasi Rahasia dalam UU KIPUU 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 berkaitandengan :
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.
http://hadiwibowo.wordpress.com/2008/07/12/informasi-rahasia-dalam-uu-kip/http://hadiwibowo.wordpress.com/2008/07/12/informasi-rahasia-dalam-uu-kip/ -
5/28/2018 Perancangan TEA
48/118
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 NasionalTeknologi 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 ataubelum, apakah sebuah informasi perlu mendapat perlakuan pengamanan atau tidak dan
-
5/28/2018 Perancangan TEA
49/118
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 (UKAS the United Kingdom Accreditation Service) dan kemudian diadopsi
secara internasional menjadi ISO27001 yaitu Information Security Management
System(ISMS) oleh organisasi internasional urusan standarisasi (ISOInternational
Organization for Standardization). Sedangkan SKIN mungkin belum dibuat oleh
pemerintah Indonesia (saya tidak menemukannya diSNI). Seandainya memang belum
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.
http://www.ukas.org/http://www.ukas.org/http://www.iso.org/http://www.bsn.or.id/http://www.bsn.or.id/http://www.bsn.or.id/http://www.bsn.or.id/http://www.iso.org/http://www.ukas.org/ -
5/28/2018 Perancangan TEA
50/118
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
bukti sesuaiUU ITE tahun 2008bila diperlukan.
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 padakebutuhan 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.
http://hadiwibowo.wordpress.com/2008/04/20/2008/04/02/cyberlaw-undang-undang-informasi-transaksi-elektronik/http://hadiwibowo.wordpress.com/2008/04/20/2008/04/02/cyberlaw-undang-undang-informasi-transaksi-elektronik/ -
5/28/2018 Perancangan TEA
51/118
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 :
-
5/28/2018 Perancangan TEA
52/118
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 danhubungan 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.
-
5/28/2018 Perancangan TEA
53/118
53
5) Perancangan struktur data. Struktur data yang dipakai pada implementasi sistem
dirancang secara rinci dan dispesifikasi.
6) Perancangan algoritma. Algoritma yang digunakan untuk memberikan layanan
dirancang secra rinci dan dispesifikasi.
2.5 Pemrograman dengan Delphi 7.0
Delphi merupakan software buatan Borland yang sangat populer. Berbeda dengan
software Windows umumnya, Delphi bukanlah software aplikasi seperti MS Office
atau permainan game. Delphi adalah sebuah bahasa pemrograman, development
language, aplikasi untuk membuat aplikasi. Delphi digunakan untuk membangun
aplikasi Windows, aplikasi grafis, aplikasi visual, bahkan aplikasi jaringan
(client/server) dan berbasis internet.
Adapun kelebihan dari bahasa pemrograman Delphi, adalah :
a. Delphi memiliki IDE (Integrated Development Environment) atau lingkungan
pengembangan yang lengkap.
b. Delphi mempunyai kecepatan kompilasi yang tidak perlu diragukan kecepatannya.
c. Delphi menggunakan bahasa Object Pascal yang telah mendunia.
d. Delphi bersifat multi purpose, dapat digunakan untuk berbagai keperluan
pengembangan aplikasi, mulai perhitungan sederhana sampai aplikasi multimedia
bahkan yang terkoneksi ke Internet. (Husni, 2004).
-
5/28/2018 Perancangan TEA
54/118
54
BAB 3
ANALSIS DAN PEMODELAN PERANGKAT LUNAK
3.1 Analisis Permasalahan Tiny Encryption Algorithm ( TEA )
Tahapan analisis terhadap suatu sistem dilakukan sebelum tahapan perancangan
dilakukan. Adapun tujuan dilakukannya analisis terhadap suatu sistem adalah untuk
mengetahui alasan mengapa sistem tersebut diperlukan, yaitu dengan merumuskan
kebutuhan kebutuhan dari sistem tersebut untuk meminimalisir sumber daya yang
berlebih serta membantu merencanakan penjadwalan pembentukan sistem,
meminimalkan distorsi distorsi yang mungkin terdapat di dalam sistem tersebut
sehingga dapat bekerja secara optimal.
Salah satu unsur terpenting yang harus dipertimbangkan dalam tahapan analisa
sistem ini yaitu masalah perangkat lunak, karena nantinya perangkat lunak yang
digunakan haruslah sesuai dengan masalah yang akan diselesaikan. Untuk itu, analisa
yang dilakukan terhadap perangkat lunak algoritma TEA ini akan dibagi kedalam
beberapa aspek, yaitu analisis kebutuhan perangkat lunak algoritma TEA, analisis
proses enkripsi dan deskripsi algoritma TEA serta analisis fungsi perangkat lunak
algoritma TEA.
3.2 Analisis Kebutuhan Tiny Encryption Algorithm ( TEA )
Faktor yang mendasari dibentuknya perangkat lunak dengan algortima TEA ini adalah
keamanan data. Keamanan data telah menjadi aspek yang sangat penting dari suatu
sistem informasi. Sebuah sistem informasi umumnya hanya ditujukan bagi segolongan
tertentu. Oleh karena itu sangatlah penting untuk mencegahnya agar tidak jatuh
kepada pihak pihak yang tidak berhak. Untuk keperluan tersebut, maka diperlukan
sebuah teknik kriptografi dengan menggunakan metode enkripsi dan deskripsi pesan.
-
5/28/2018 Perancangan TEA
55/118
55
Salah satu metode enkripsi dan deskripsi data yang digunakan adalah Tiny Encryption
Algorithm ( TEA ).
Setiap sistem yang akan dibangun selalu memiliki kebutuhan. Analisa yang
dilakukan terhadap kebutuhan suatu sistem dapat berfungsi untuk meminimalkan
sumber daya yang berlebih dari sistem tersebut serta membantu pembentukan
penjadwalan pembentukan sistem. Analisa yang dilakukan untuk mencari kebutuhan
dari algoritma TEA ini dapat dilakukan dengan cara mengetahui siapa yang akan
menggunakan perangkat lunak tersebut, tampilan antar muka yang akan digunakan,
serta apa yang akan dihasilkan oleh perangkat lunak tersebut.
Berdasarkan analisa yang dilakukan terhadap keperluan perangkat lunak maka
dapat diambil kesimpulan bahwa nama dari perangkat lunak yang akan dibangun
adalah KripTEA, dimana Kripmenunjukkan fungsi dari perangkat lunak dan TEA
merupakan nama algoritma yang digunakan. Perangkat lunak yang akan dibangun
nantinya akan menghasilkan file ciphertext dari proses enkripsi dan file plaintext dari
proses deskripsi, serta penjelasan tentang cara penggunaan perangkat lunak.
Kemudian pengguna dari perangkat lunak ini adalah setiap individu yang
membutuhkan keamanan data, untuk itu sistem yang dibangun nantinya harus dapat
dipakai oleh setiap orang secara umum. Maka perangkat lunak yang dibentuk harus
memiliki antarmuka yang sederhana dan mudah untuk digunakan. Adapun sumber
daya dari sistem untuk membangun perangkat lunak tersebut yaitu digunakan sistem
operasi Microsoft Windows XP dan menggunakan bahasa pemrograman Borland
Delphi 7.0. Untuk memudahkan perancangan perangkat lunak tersebut dibutuhkan
algoritma dan Flowchart dari setiap mekanisme yang ada. Alasan mengapa digunakanalgoritma dan flowchart adalah karena dengan menggunakan algoritma dan flowchart
dapat digambarkan secara jelas alur dari proses, struktur perulangan serta teknik
pengambilan keputusan. Setelah algoritma dan flowchart terbentuk, barulah dilakukan
proses pembentukan sistem.
-
5/28/2018 Perancangan TEA
56/118
56
3.3 Analisis Proses Enkripsi Algoritma TEA
Untuk melakukan enkripsi, proses diawali dengan input-bitteks 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-kan dengan hasil
penambahan antara Y yang digeser ke kanan sebanyak lima (5) kali dengan kunci
k[3]. Hasil tersebut kemudian ditambahkan dengan R0(Z) yang akan menjadi L1.
Misalkan :
Plaintext : bacabuku
Kunci : S1 ILMU KOMPUTER
Bagi plaintext menjadi 2 blok kedalam blok R Dan Blok L:
R = ba