perancangan tea

Upload: masqu-riansyah

Post on 19-Oct-2015

39 views

Category:

Documents


2 download

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