Implementasi Algoritma Caesar Cipher Menggunakan Web Programming Dan Checksum Sebagai Error...

download Implementasi Algoritma Caesar Cipher Menggunakan Web Programming Dan Checksum Sebagai Error Detection

of 13

description

Keamanan dan autentikasi merupakan sebuah isu yang sangat penting dalam era teknologi informasi. Kemajuan teknologi informasi menjadikan setiap orang bisa terhubung satu sama lain, jarak dan tempat bukan lagi sebagai penghalang. Pertukaran data dapat dilakukan dengan cepat. Kemajuan dan kemudahan ini juga menimbulkan pertanyaan apakah data yang di pertukarkan terjamin kerahasiannya dari orang yang tidak berhak, dan apakah data tersebut masih otentik atau sudah tidak asli/ mengalami perubahan. Kriptografi yang pada awal nya hanya di pahami sebagai ilmu menyembunyikan pesan mengalami perluasan defenisi menjadi ilmu tentang teknik matematis yang di gunakan dalam penyelesain persoalan keamanan berupa privasi. Pesan yang dikirim belum tentu diterima secara utuh, pesan bisa mengalami perubahan dan penyisipan. Untuk itu perlu sebuah metode untuk memastikan keaslian atau keutuhan dari pesan yang dikirim. Checksum adalah sebuah metode yang digunakan untuk mengatasi hal iniAplikasi dibuat dalam bahasa pemogramam berbasis web PHP, untuk men-enkrip pesan/data digunakan metode Caesar-Chiper. Algoritma checksum yang digunakan dalam aplikasi ini adalah MD5 Checksum.

Transcript of Implementasi Algoritma Caesar Cipher Menggunakan Web Programming Dan Checksum Sebagai Error...

  • IMPLEMENTASI ALGORITMA CAESAR CIPHER MENGGUNAKAN WEB

    PROGRAMMING DAN CHECKSUM SEBAGAI ERROR DETECTION

    Ardolynata1, Dede Rizal

    2, Rika

    3

    1,2,3

    Program Pascasarjana MagisterIlmu Komputer Universitas Budi Luhur

    Jl.Ciledug Raya , Jakarta INDONESIA

    ABSTRACK

    Keamanan dan autentikasi merupakan sebuah isu yang sangat penting dalam era teknologi informasi.

    Kemajuan teknologi informasi menjadikan setiap orang bisa terhubung satu sama lain, jarak dan tempat

    bukan lagi sebagai penghalang. Pertukaran data dapat dilakukan dengan cepat. Kemajuan dan kemudahan

    ini juga menimbulkan pertanyaan apakah data yang di pertukarkan terjamin kerahasiannya dari orang

    yang tidak berhak, dan apakah data tersebut masih otentik atau sudah tidak asli/ mengalami perubahan.

    Kriptografi yang pada awal nya hanya di pahami sebagai ilmu menyembunyikan pesan mengalami

    perluasan defenisi menjadi ilmu tentang teknik matematis yang di gunakan dalam penyelesain persoalan

    keamanan berupa privasi. Pesan yang dikirim belum tentu diterima secara utuh, pesan bisa mengalami

    perubahan dan penyisipan. Untuk itu perlu sebuah metode untuk memastikan keaslian atau keutuhan dari

    pesan yang dikirim. Checksum adalah sebuah metode yang digunakan untuk mengatasi hal ini

    Aplikasi dibuat dalam bahasa pemogramam berbasis web PHP, untuk men-enkrip pesan/data digunakan

    metode Caesar-Chiper. Algoritma checksum yang digunakan dalam aplikasi ini adalah MD5 Checksum.

    Kata kunci: Kriptografi, enkripsi,checksum

    1. Pendahuluan

    Keamanan dan autentikasi merupakan sebuah

    isu yang sangat penting dalam era teknologi

    informasi. Kemajuan teknologi informasi

    menjadikan setiap orang bisa terhubung satu

    sama lain, jarak dan tempat bukan lagi sebagai

    penghalang. Pertukaran data dapat dilakukan

    dengan cepat. Kemajuan dan kemudahan ini

    juga menimbulkan pertanyaan apakah data yang

    di pertukarkan terjamin kerahasiannya dari

    orang yang tidak berhak, dan apakah data

    tersebut masih otentik atau sudah tidak asli/

    mengalami perubahan.

    2. Landasan Teori

    Ditinjau dari sisi bahasa (etimologi) kata

    kriptografi (Cryptography) berasal dari dua suku

    kata bahasa Yunani, yaitu kryptos berarti yang

    tersembunyi dan graphein yang berarti tulisan

    (Prayudi, 2005). Pada awal nya kriptografi

    dipahami sebagai ilmu tentang

    menyembunyikan pesan (Sadikin, 2012), akan

    tetapi dengan berkembangnya zaman saat ini,

    defenisi semakin luas menjadi ilmu tentang

    teknik matematis yang digunakan dalam

    penyelesaian persoalan keamanan berupa privasi

    (Diffie, 1976).

    Sejarah Kriptografi

    Kriptografi memiliki sejarah yang cukup panjang dalam peradaban manusia. Pada zaman mesir kuno kriptografi

  • sudah dikenal dan digunakan dalam penulisan rahasia. Pada tahun 3000 SM, bangsa Mesir menyampaikan pesan kepada orang-orang yang berhak menggunakan ukiran rahasia yang disebut dengan hieroglyphics. Kriptografi juga dimanfaatkan oleh bangsa Spartan awal tahun 400 SM, untuk kepentingan militer agar strategi tidak dapat dibaca oleh musuh, kriptografi ini digunakan. Mereka menggunakan menggunakan alat yang disebut scytale, scytale adalah pita panjang berbahan daun papyrus, cara membacanya dengan cara digulungkan ke sebatang silinder. Sedangkan peradaban Cina dan Jepang menemukan kriptografi pada abad 15 M.

    Gambar 1 : Scytale Dengan penguasaan terhadap ilmu matematika, statistik dan linguistik, peradaban Islam juga menemukan kriptografi. Dan Teknik Kriptanalisis di paparkan untuk pertama kalinya pada abad 9 M oleh ilmuwan bernama Abu Yusuf Yaqub ibn Ishaq as-Shabbah al- kindi atau lebih dikenal dengan Al-Kindi, ia menulis kitab tentang seni memecahkan kode. Kitab yang ditulisnya tersebut diberi judul Risalah fi Istikhraj al-Muamma (Manuskrip untuk memecahkan pesan-pesan Kriptografi). Inspirasi ini ia dapatkan dari perulangan huruf dalam Al-Quran. Al-Kindi menemukan Teknis analisis frekuensi yakni teknik untuk memecahkan

    ciphertext berdasarkan frekuensi kemunculan karakter pada sebuah pesan (wirdasari,2008)

    Gambar 2: Risalah fi Istikhraj al-

    Muamma

    2.1. Prinsip-prinsip Kriptografi:

    Ada empat prinsip dasar dari kriptografi

    1. Kerahasian, adalah ini berhubungan dengan penjagaan isi informasi dari siapapun kecuali yang memang berhak/otoritas atau kunci rahasia untuk membuka informasi yang telah di enkripsi.

    2. Integritas data, adalah ini berhubungan dengan penjagaan dari perubahan data secara tidak sah. Untuk menjaga integritas data, sistem harus memiliki kemampuan untuk mendeteksi manipulasi data oleh pihak-pihak yang tidak berhak, antara lain penyisipan, penghapusan dan pensubsitusian data lain kedalam data yang sebenarnya.

    3. Autentikasi, adalah inig berhubungan dengan identifikasi atau pengenalan, baik secara

  • kesatuan sistem maupun informasi itu sendiri. Dua pihak yang saling berkomunikasi harus saling memperkenalkan diri. Informasi yang dikirimkan harus di autentikasi keaslian, isi datanya, waktu pengiriman dan lain-lain.

    4. Non-repudiation (menolak penyangkalan), adalah usaha untuk mencegah terjadinya penyangkalan terhadap pengiriman suatu informasi oleh yang mengirimkan, atau harus dapat memnuktikan bahwa suatu pesan berasal dari seseorang, apabila ia menyangkal mengirim informasi tersebut.

    2.2. Istilah-istilah dalam Kriptografi

    Beberapa istilah-istilah penting dalam

    kriptografi antara lain adalah.

    Plaintext (P) adalah pesan yang

    hendak dikirimkan, ini dapat di

    baca (berisi data asli).

    Ciphertext (C) adalah pesan ter-

    enkrip (tersandi) yang merupakan

    hasil enkripsi.

    Enkripsi (Fungsi E) adalah

    proses pengubahan plaintext

    menjadi ciphertext.

    Dekripsi (Fungsi D) adalah

    kebalikan dari enkripsi yakni

    mengubah ciphertext menjadi

    plaintext, sehingga berupa data

    awal/asli.

    Key/ Kunci adalah suatu bilangan

    yang di rahasiakan yang

    digunakan dalam proses enkripsi

    dan dekripsi.

    Cryptographer adalah Pelaku

    yang ahli dalam bidang kriptografi

    Cryptanalysis adalah ilmu untuk

    memecahkan ciphertext menjadi

    plaintext dengan tidak melalui

    cara yang semestinya.

    Cryptanalyst adalah orang yang

    menguasai ilmu crptanalysis

    Cryptology adalah Cabang

    matematika yang meliputi

    kriptografi dan cryptanalysis.

    Crytologist adalah orang yang

    menguasai ilmu cryptology.

    Gambar 3: Proses enkripsi dan dekripsi

    2.3. Jenis Kriptografi Berdasarkan Perkembangan

    Algoritma kriptografi dapat

    diklasifikasikan menjadi menjadi dua

    jenis berdasarkan perkembangannya,

    yaitu kriptografi klasik dan kriptografi

    modern.

  • a. Algoritma Kriptografi Klasik

    Algoritma ini digunakan sejak sebelum

    era komputerisasi dan kebanyakan

    menggunakan teknik kunci simetris.

    Metode menyembunyikan pesannya

    adalah dengan teknik substitusi atau

    transposisi atau keduanya (Sadikin,

    2012). Teknik substitusi adalah

    menggantikan karakter dalam plaintext

    menjadi karakter lain yang hasilnya

    adalah ciphertext. Sedangkan

    transposisi adalah teknik mengubah

    plaintext menjadi ciphertext dengan cara

    permutasi karakter. Kombinasi

    keduanya secara kompleks adalah yang

    melatarbelakangi terbentuknya berbagai

    macam algoritma kriptografi modern

    (Prayudi, 2005).

    b. Algoritma Kriptografi Modern

    Algoritma ini memiliki tingkat kesulitan

    yang kompleks (Prayudi, 2005), dan

    kekuatan kriptografinya ada pada key

    atau kuncinya (Wirdasari, 2008).

    Algoritma ini menggunakan pengolahan

    simbol biner karena berjalan mengikuti

    operasi komputer digital. Sehingga

    membutuhkan dasar berupa

    pengetahuan terhadap matematika

    untuk menguasainya (Sadikin, 2012).

    2.4. Jenis Kriptografi Berdasarkan Kunci

    Algoritma kriptografi dapat

    diklasifikasikan menjadi dua jenis

    berdasarkan kuncinya, yaitu algoritma

    simetris dan algoritma asimetris

    (Prayudi, 2005).

    a. Algoritma Simetris

    Algoritma ini disebut simetris karena

    memiliki key atau kunci yang sama

    dalam proses enkripsi dan dekripsi

    sehingga algoritma ini juga sering

    disebut algoritma kunci tunggal atau

    algoritma satu kunci. Key dalam

    algoritma ini bersifat rahasia atau

    private key sehingga algoritma ini juga

    disebut dengan algoritma kunci rahasia

    (Prayudi, 2005).

    b. Algoritma Asimetris

    Algoritma ini disebut asimetris karena

    kunci yang digunakan untuk enkripsi

    berbeda dengan kunci yang digunakan

    untuk dekripsi. Kunci yang digunakan

    untuk enkripsi adalah kunci publik atau

    public key sehingga algoritma ini juga

    disebut dengan algoritma kunci publik.

    Sedangkan kunci untuk dekripsi

    menggunakan kunci rahasia atau

    private key (Prayudi, 2005).

    Gambar 4: Metode enkripsi simetrik (1)

    dan asimetrik (2)

  • 2.5. Jenis Kriptografi berdasarkan

    kerahasian kuncinya

    dibedakan menjadi

    a) Algoritma sandi kunci rahasia secret-

    key

    b) Algoritma sandi kunci publik publik-

    key

    Pada skema kunci-simetris, digunakan sebuah kunci rahasia yang sama untuk melakukan proses enkripsi dan dekripsinya. Sedangkan pada sistem kunci-asimentris digunakan sepasang kunci yang berbeda, umumnya disebut kunci publik(public key) dan kunci pribadi (private key), digunakan untuk proses enkripsi dan proses dekripsinya. Bila elemen teks terang dienkripsi dengan menggunakan kunci pribadi maka elemen teks sandi yang dihasilkannya hanya bisa didekripsikan dengan menggunakan pasangan kunci pribadinya. Begitu juga sebaliknya, jika kunci pribadi digunakan untuk proses enkripsi maka proses dekripsi harus menggunakan kunci publik pasangannya. algoritma sandi kunci-simetris Skema algoritma sandi akan disebut

    kunci-simetris apabila untuk setiap

    proses enkripsi maupun dekripsi data

    secara keseluruhan digunakan kunci

    yang sama. Skema ini berdasarkan

    jumlah data per proses dan alur

    pengolahan data didalamnya dibedakan

    menjadi dua kelas, yaitu block-cipher

    dan stream-cipher.

    Block-Cipher

    Block-cipher adalah skema algoritma

    sandi yang akan membagi-bagi teks

    terang yang akan dikirimkan dengan

    ukuran tertentu (disebut blok) dengan

    panjang t, dan setiap blok dienkripsi

    dengan menggunakan kunci yang

    sama. Pada umumnya, block-cipher

    memproses teks terang dengan blok

    yang relatif panjang lebih dari 64 bit,

    untuk mempersulit penggunaan pola-

    pola serangan yang ada untuk

    membongkar kunci. Untuk menambah

    kehandalan model algoritma sandi ini,

    dikembangkan pula beberapa tipe

    proses enkripsi, yaitu :

    ECB, Electronic Code Book

    CBC, Cipher Block Chaining

    OFB, Output Feed Back

    CFB, Cipher Feed Back

    Stream-Cipher

    Stream-cipher adalah algoritma sandi yang mengenkripsi data persatuan data, seperti bit, byte, nible atau per lima bit(saat data yang di enkripsi berupa data Boudout). Setiap mengenkripsi satu satuan data di gunakan kunci yang merupakan hasil pembangkitan dari kunci sebelum.

    Algoritma-algoritma sandi kunci-simetris

    Beberapa contoh algoritma yang

    menggunakan kunci-simetris:

    DES - Data Encryption

    Standard

  • blowfish

    twofish

    MARS

    IDEA

    3DES - DES diaplikasikan 3

    kali

    AES - Advanced Encryption

    Standard, yang bernama

    asli rijndael

    Algoritma Sandi Kunci-Asimetris

    Skema ini adalah algoritma yang

    menggunakan kunci yang berbeda

    untuk proses enkripsi dan dekripsinya.

    Skema ini disebut juga sebagai sistem

    kriptografi kunci publik karena kunci

    untuk enkripsi dibuat untuk diketahui

    oleh umum (public-key) atau dapat

    diketahui siapa saja, tapi untuk proses

    dekripsinya hanya dapat dilakukan oleh

    yang berwenang yang memiliki kunci

    rahasia untuk mendekripsinya, disebut

    private-key. Dapat dianalogikan seperti

    kotak pos yang hanya dapat dibuka oleh

    tukang pos yang memiliki kunci tapi

    setiap orang dapat memasukkan surat

    ke dalam kotak tersebut. Keuntungan

    algoritma model ini, untuk

    berkorespondensi secara rahasia

    dengan banyak pihak tidak diperlukan

    kunci rahasia sebanyak jumlah pihak

    tersebut, cukup membuat dua buah

    kunci, yaitu kunci publik bagi para

    korensponden untuk mengenkripsi

    pesan, dan kunci privat untuk

    mendekripsi pesan. Berbeda dengan

    skema kunci-simetris, jumlah kunci yang

    dibuat adalah sebanyak jumlah pihak

    yang diajak berkorespondensi.

    2.6. Fungsi Enkripsi dan Dekripsi

    Algoritma Sandi Kunci-

    Asimetris

    Apabila Ahmad dan Bejo hendak

    bertukar berkomunikasi, maka:

    Ahmad dan Bejo masing-masing membuat 2 buah kunci 1. Ahmad membuat dua buah kunci,

    kunci-publik dan kunci-

    privat 2. Bejo membuat dua buah kunci, kunci-

    publik dan kunci-privat

    Mereka berkomunikasi dengan cara: 1. Ahmad dan Bejo saling bertukar kunci-publik. Bejo mendapatkan

    dari Ahmad, dan Ahmad

    mendapatkan dari Bejo. 2. Ahmad mengenkripsi teks-terang ke Bejo dengan fungsi

    3. Ahmad mengirim teks-sandi ke Bejo 4. Bejo menerima dari Ahmad dan membuka teks-terang dengan fungsi

    Hal yang sama terjadi apabila Bejo hendak mengirimkan pesan ke Ahmad 1. Bejo mengenkripsi teks-terang ke Ahmad dengan fungsi

    2. Ahmad menerima dari Bejo dan membuka teks-terang dengan fungsi

  • Algoritma -Algoritma Sandi Kunci-Asimetris

    Knapsack

    RSA - Rivert-Shamir-Adelman

    Diffie-Hellman

    2.7. Fungsi Hash Kriptografis

    Fungsi hash Kriptografis adalah fungsi hash yang memiliki beberapa sifat keamanan tambahan sehingga dapat dipakai untuk tujuan keamanan data. Umumnya digunakan untuk keperluan autentikasi dan integritas data. Fungsi hash adalah fungsi yang secara efisien mengubah string input dengan panjang berhingga menjadi string output dengan panjang tetap yang disebut nilai hash.

    Sifat-Sifat Fungsi Hash Kriptografi

    Tahan preimej (Preimage resistant): bila

    diketahui nilai hash h maka sulit (secara

    komputasi tidak layak) untuk

    mendapatkan m dimana h = hash(m).

    Tahan preimej kedua (Second preimage

    resistant): bila diketahui input m1 maka

    sulit mencari input m2 (tidak sama

    dengan m1) yang menyebabkan

    hash(m1) = hash(m2).

    Tahan tumbukan (Collision-resistant):

    sulit mencari dua input berbeda m1 dan

    m2 yang menyebabkan hash(m1) =

    hash(m2)

    Algoritma-Algoritma Fungsi Hash

    Kriptografi

    Beberapa contoh algoritma fungsi hash

    Kriptografi:

    MD4

    MD5

    SHA-0

    SHA-1

    SHA-256

    SHA-512

    2.8. Enkripsi Untuk Keamanan Data

    Pada Jaringan

    Berada dalam jaringan komputer berarti

    berada di dalam jaringan yang tidak

    100% data privasi anda aman. Oleh

    sebab itu hal yang penting dalam

    komunikasi menggunakan computer

    untuk menjamin kerahasian data adalah

    enkripsi. Enkripsi dalah sebuah proses

    yang melakukan perubahan sebuah

    kode dari yang bisa dimengerti menjadi

    sebuah kode yang tidak bisa dimengerti

    (tidak terbaca). Enkripsi dapat diartikan

    sebagai kode atau chiper. Sebuah

    sistem pengkodean menggunakan

    suatu table atau kamus yang telah

    didefinisikan untuk mengganti kata dari

    informasi atau yang merupakan bagian

    dari informasi yang dikirim. Sebuah

    chiper menggunakan suatu algoritma

    yang dapat mengkodekan semua aliran

    data (stream) bit dari sebuah pesan

    menjadi cryptogram yang tidak

    dimengerti (unitelligible). Karena teknik

    cipher merupakan suatu sistem yang

    telah siap untuk di automasi, maka

    teknik ini digunakan dalam sistem

    keamanan komputer dan network.

    2.9. CHECKSUM

    Salahsatu metode pengecekan error

    adalah checksum. Dengan

  • menggunakan checksum maka keaslian

    atau terjadi/tidak terjadi error pada

    waktu pengiriman data dapat diketahui

    dengan kata lain keautentikan data

    dapat dijaga. Pola deteksi error

    menggunakan checksum juga

    menggunakan bit tambahan

    (redundancy). Berikut adalah contoh

    penggunaan checksum :

    Contoh 1)

    Terdapat 5 buah bilangan yang terdiri

    dari 4 bit yang akan ditransmisikan.

    Pada saat 5 buah bilangan dikirim,

    ditambahkan 1 buah bilangan sebagai

    hasil penjumlahan (sum) dari kelima

    bilangan yang dikirim. Bilangan tersebut

    adalah: 7, 11, 12, 0, 6 dan tambahan

    satu bilangan 36, sehingga data yang

    dikirimkan adalah 7, 11, 12, 0, 6, 36.

    Ketika data sampai di receiver, kelima

    buah bilangan tersebut diterima dan

    dijumlahkan, jika hasil penjumlahan

    sama dengan 36 maka diasumsikan

    data valid. Kelima data tersebut akan

    diterima dan hasil penjumlahan (36)

    akan dibuang.

    Contoh 2)

    Pada kasus di contoh 1) kita juga dapat

    mengirimkan hasil penjumlahan berupa

    bilangan negative (komplemen) yang

    disebut dengan checksum. Sehingga

    deretan data yang dikirim adalah 7, 11,

    12, 0, 6, -36. Selanjutnya ketika data

    sampai pada sisi receiver semua data

    akan dijumlahkan termasuk checksum,

    jika diperoleh nilai penjumlahan sama

    dengan 0 (nol) maka diasumsikan tidak

    terjadi error.

    Pada dua contoh kasus yang telah

    dibahas sebelumnya terdapat

    kekurangan dimana semua data yang

    dikirim terdiri dari 4 digit, artinya

    maksimal hanya nilai 15 (1111 biner =

    15 desimal) kecuali untuk hasil

    checksum. Sehingga diperlukan sebuah

    metode jika terdapat data yang nantinya

    akan dikirim lebih dari 15, yaitu

    menggunakan arimatika komplemen

    satu. Pada aritmatika komplemen satu

    caranya adalah dengan

    merepresentasikan bilangan antara 0

    sampai 2n 1 dengan menggunakan n

    bit. Jika terdapat bilangan yang lebih

    dari n bit, maka bit yang lebih pada sisi

    kiri akan ditambahkan pada sisi kanan

    istilah ini dikenal dengan nama

    wrapping.

    Contoh:

    Bagaimana kita dapat

    merepresentasikan bilangan 21 dalam

    aritmatika komplemen satu dengan

    hanya menggunakan 4 bit?

    Jawab:

    Bilangan decimal 21 memilki biner

    10101 (memiliki jumlah bit 5), sehingga

    bit 1 pada sisi kiri akan dijumlahkan ke 4

    bit di sebelah kanannya, menjadi:

  • Sehingga dapat dikatakan nilai dari 21

    jika digunakan operasi aritmatika

    komplemen satu hasilnya adalah 6.

    Pada aritmatika komplemen satu

    bilangan negatif dapat

    direpresentasikan dengan mengubah bit

    (bit 0 diubah menjadi 1, atau bit 1

    diubah menjadi bit 0), dengan kata lain

    memiliki hasil yang sama dengan

    mengurangkan sebuah bilangan dengan

    2n 1.

    Contoh: Bagaimana kita

    merepresentasikan bilangan -6

    menggunakan aritmatika komplemen

    satu menggunakan 4-bit?

    Jawab:

    Cara 1)

    Bilangan positif 6 adalah 0110, dengan

    melakukan pengubahan bit maka

    menjadi 1001, jika kita menggunakan

    hasil 1001 sebagai bilangan positif

    maka akan menghasilkan decimal 9,

    dengan kata lain komplemen dari

    bilangan 6 adalah 9.

    Cara 2)

    Cara lain adalah dengan mengurangkan

    bilangan 6 dengan 2n 1 yaitu 15 6 =

    9.

    Bagaimanakah menggunakan aritmatika

    komplemen satu untuk menyelesaikan

    metode checksum pada transmisi data

    7, 11, 12, 0 dan 6 seperti dapat dilihat

    pada Gambar 3.

    Gambar 5: Proses Aritmatika

    Komplemen Satu

    Pada Gambar diatas dapat dilihat

    bahwa hasil penjumlahan dari 6

    bilangan adalah 36 (pada dasarnya data

    yang dikirim adalah 5 bilangan, bilangan

    ke-6 yaitu 0 merupakan inisialisasi untuk

    ditempati dengan hasil checksum pada

    sisi pengirim). Hasil penjumlahan

    (dalam hal ini adalah 36) selanjutnya

    dilakukan operasi aritmatika komplemen

    1 sehingga menghasilkan 6 (sebagai

    wrapped checksum). Untuk memperoleh

    checksum maka hasil aritmatika

    komplemen 1 yaitu 6 dikurangkan

    dengan 15 sehingga 15 6 = 9.

    Selanjutnya data yang dikirim sebagai

    paket data adalah 7, 11, 12, 0, 6, 9

    sehingga data yang dikirim berjumlah 6

    bilangan termasuk bilangan 9 sebagai

    checksum yang nantinya digunakan

    untuk melakukan deteksi error. Pada

    sisi penerima seluruh data akan diterima

    dan dijumlahkan termasuk checksum

    sehingga berjumlah 45, karena 45

    menggunakan lebih dari 4 bit yaitu 6 bit

  • maka dilakukan proses wrapping

    sehingga diperoleh hasil 15 (sebagai

    wrapped sum) selanjutnya 15

    dikurangkan dengan 2n 1 menjadi 15

    15 hasilnya adalah 0 (nol) yang

    mengindikasikan tidak terjadi error.

    Metode Internet Checksum

    Secara tradisional internet

    menggunakan 16-bit checksum. Metode

    ini menggunakan algoritma sebagai

    berikut:

    Pada sisi sender/pengirim.

    1. Data yang akan dikirim dipecah ke

    dalam 16 bit

    2. Nilai dari checksum diberi nilai 0 (nol)

    sebagai initial checksum

    3. Semua bit termasuk initial checksum

    dijumlahkan menggunakan penjumlahan

    komplemen satu.

    4. Selanjutnya proses penjumlahan

    (sum) selesai dan untuk menjadi

    checksum dikurangkan dengan 15.

    5. Checksum dikirim beserta data.

    Pada sisi receiver/penerima

    1. Data yang diterima (termasuk

    checksum) dipecah ke dalam 16 bit

    2. Semua data dijumlahkan

    menggunakan penambahan komplemen

    satu

    3. Penjumlahan selesai dan

    menghasilkan checksum baru

    4. Jika nilai checksum adalah 0 (nol),

    data akan diterima jika sebaliknya data

    akan ditolak

    Contoh pada Gambar 4 merupakan

    implementasi dari metode internet

    checksum. Diasumsikan akan

    ditransmisikan data text yang terdiri dari

    8 karakter yaitu FOROUZAN. Karena

    terdapat keharusan harus diubah

    menjadi 16 bit, maka dibagi 8 karakter

    bit masing-masing terdiri belum 2 byte

    atau 16 bit. Dalam kode ASCII 8 bit

    karakter F diubah menjadi heksadesimal

    0x46, karakter O 0x6F, demikian juga

    untuk karakter yang lain.

    Gambar 6: Metode Internet Checksum

    Jika data yang akan dikirimkan adalah

    Ox4567 dan OxBA98 hasil dari

    checksum adalah Ox0000:

  • 3. Hasil dan Pembahasan

    Penjelasan program Aplikasi

    cipher algoritma dalam tugas ini dibuat

    dalam bahasa pemrograman PHP.

    Program disajikan dalam bentuk aplikasi

    berbasis web.

    Untuk enkripsinya menggunakan

    metode Caesar-Cipher, sedangkan

    checksum menggunakan MD5

    checksum 128bit. Aplikasi ini hanya

    mempunyai satu halaman muka, terlihat

    dibawah ini.

    Gambar 7: Halaman Awal

    Untuk melakukan enkripsi silahkan

    masukan pesan yang akan dienkripsi

    pada form encrypt, misalkan

    pesannya=Universitas Budi Luhur,

    terlihat seperti dibawah ini :

    Gambar 8: Pesan dimasukkan

    Lalu tekan tombol Encrypt, Hasil

    enkripsi akan tampil pada Encryption

    Text.

  • Gambar 9: Hasil enkripsi

    Untuk melakukan dekripsi hanya tekan

    tombol Decrypt, maka hasilnya akan

    tampil di Decryption Text

    Gambar 10: Hasil Dekripsi

    Untuk mendeteksi error silahkan tekan

    tombol Checksum, maka akan tampil

    seperti gambar dibawah ini.

    Gambar 11: Checksum

    Apabila ingin melakukan enkripsi pesan

    kembali, hanya tekan tombol Reset,

    maka semua form akan kembali kosong.

    Gambar 12: Reset

    4. Kesimpulan

    Dari pembahasan di atas, dapat diambil

    beberapa kesimpulan sebagai berikut :

    1. Kriptografi adalah seni

    menyembunyikan/enkrip pesan

    agar tidak dapat dibaca oleh

    yang tidak berhak, dalam tulisan

  • ini metode yang di pakai untuk

    men-enkrip data/ pesan adalah

    Caesar-Chiper.

    2. Checksum adalah metode yang

    digunakan untuk mendeteksi

    error pada pesan, apakah pesan

    utuh/asli atau ada

    berkurang/sudah berubah. Dalam

    tulisan kali ini aplikasi checksum

    yang dibuat menggunakan

    metode MD5 Checksum.

    3. Aplikasi dibuat dalam bahasa

    pemograman berbasis web PHP

    5. Daftar Pustaka

    1. Diffie, Whitfield, Martin E Hellman. 1976. New Directions in Cryptography. IEEE Trans. Info. Theory IT-22.

    2. Prayudi, Yudi, Idham Halik. 2005. Studi Analisis Algoritma Rivest Code 6 (RC6) Dalam Enkripsi/Dekripsi Data. Seminar Nasional Aplikasi Teknologi Informasi 2005 (SNATI 2005), Yogyakarta.

    3. Rizal, Ansar, Suharto. 2011. Implementasi Algoritma RC4 untuk Keamanan Login Pada Sistem Pembayaran Uang Sekolah. Dielektrika, ISSN 2086-9487 Vol. 2 No.2.

    4. Sadikin, Rifki. 2012. Kriptografi untuk Keamanan Jaringan dan Implementasinya dalam Bahasa Java. Penerbit Andi, Yogyakarta.

    5. Wirdasari, Dian. 2008. Prinsip Kerja Kriptografi dalam

    Mengamankan Informasi, Jurnal SAINTIKOM Vol.5 No.2.

    6. M. Miftakul Amin, Diktat Program Studi Teknik Komputer, Politieknik Negeri Sriwijaya Palembang.