• Tidak ada hasil yang ditemukan

2.1.1 Istilah dalam Kriptografi - Sistem Kriptografi Hybrid (Hill Cipher Dan Knapsack) Pada Pengmanan File

N/A
N/A
Protected

Academic year: 2019

Membagikan "2.1.1 Istilah dalam Kriptografi - Sistem Kriptografi Hybrid (Hill Cipher Dan Knapsack) Pada Pengmanan File"

Copied!
25
0
0

Teks penuh

(1)

BAB II

LANDASAN TEORI

Pada bab ini akan dibahas mengenai landasan teori yang berhubungan dengan sistem yaitu mengenai Kriptografi, Jenis Algoritma Kriptografi, Landasan Matematika Kriptografi, Algoritma Hill Cipher, Algoritma Knapsack, File, dan Penelitian Terkait.

2.1 Kriptografi

Kriptografi (cryptography) merupakan ilmu dan seni untuk menjaga pesan agar aman. (cryptography is the art and science of keeping message secure. “Crypto” berarti “secret” (rahasia) dan “graphy” berarti “writing” (tulisan) (Sasangko, 2005).

Dalam hal ini kriptografi disebut dengan ilmu dan seni, karena dari sejak jaman dahulu orang-orang mempelajari dan memperdalam sistem pengamanan pesan ini, sehingga menghasilkan berbagai macam algoritma yang sudah banyak dikenal saat ini (Ariyus, 2006).

2.1.1 Istilah dalam Kriptografi

Di dalam kriptografi sering ditemukan berbagai istilah atau terminology penting yang perlu diketahui seperti beberapa istilah di bawah ini :

1. Pesan, Plainteks, dan Cipherteks

(2)

tidak hanya berupa teks, teteapi juga berbentu citra (mage), suara/bunyi (audio), atau berkas biner lainnya. Agar pesan tidak dapat dimengerti maknanya oleh pihak lain, maka pesan perlu disandikan ke bentuk lain yang tidak dapat dipahami. Bentuk pesan yang tersaindi disebut cipherteks (ciphertext) atau kriptogram (cryptogram).

2. Pengirim dan Penerima

Komunikasi data melibatkan pertukaran pesan antara dua entitas. Pengirim (sender) adalah entitas yang mengirim oesan kepada entitas lainnya. Penerima (receiver) adalah entitas yang menerima pesan. Entitas di sini dapat berupa orang, mesin computer, kartu kredit, dan sebagainya.

3. Enkripsi dan Dekripsi

Proses menyandikan plainteks menjadi cipherteks disebut enkripsi (encryption). Sedangkan proses mengembalikan cipherteks menjadi plainteks semula dinamakan dekripsi (decryption).

4. Cipher dan Kunci

Algoritma kriptografi disebut juga cipher yaitu aturan untuk enchipering dan dechipering, atau fungsi matematika yang digunakan untuk enkripsi dan dekripsi. Konsep matematis yang mendasari algoritma kriptografi adalah relasi antara dua buah himpunan yaitu himpunan yang berisi elemn-elemn plainteks dan himpunan yang berisi cipherteks. Dalam kriptografi modern, enkripsi dan dekripsi merupakan fungsi yang memetakan elemen-elemen antara kedua himpunan tersebut. Yang dalam hal ini algoritma tidak lagi dirahasiakan, tetapi kunci harus dijaga kerahasiannya. Kunci adalah parameter yang digunakan untuk transformasi enciphering dan deciphering. Misalkan P menyatakan plainteks, dan C menyatakan chiperteks, maka fungsi enkripsi E memetakan P ke C, dan dengan menggunakan kunci K, maka fungsi enkripsi dan dekripsi dapat ditulis sebagai berikut :

Ek(P) = C Dan fungsi dekripsi D memetakan C ke P,

Dk(C) = P

(3)

Dk(Ek(P)) = P

Keamanan algoritma sering kripstografi diukur dari banyaknya kerja yang dibutuhkan untuk memecahkan cipherteks menjadi plainteksnya tanpa mengetahui kunci yang digunakan (Munir, 2006)

5. Sistem Kriptografi

Kriptografi membentuk sebuah sistem yang dinakaman sistem kriptografi. Sistem kriptografi (Cryptosystem) adalah kumpulan yang terdiri dari algoritma kriptografi, semua plainteks dan cipherteks yang mungkin, dan kunci. Di dalam sistem kriptografi, cipher hanyalah salah satu komponen saja

6. Penyadap

Penyadap (eavesdropper) adalah orang yang mencoba menangkap pesan selama ditansmisikan. Tujuan penyadap adalah untuk mendapatkan informasi sebanyak-bnayknya mengenai sistem kriptografi yang digunakan untuk berkomunikasi dengan maksud untuk memecahkan cipherteks. Nama lain peyadap: enemi, adversary, intruder, interceptor, bad guy.

7. Kriptanalisis dan Kriptologi

Kriptografi berkembang sedemikian rupa sehingga melahirkan bidang yang berlawanan yaitu kriptanalisis. Kriptanalisis (cryptanalysis) adalah ilmu dan seni untuk memecahkan cipherteks menjadi plainteks tanpa mengetahui kunci yang digunakan. Pelakunya disebut kriptanalisis. Jika seorang kriptografer (cryptographer) mentransformasikan plainteks menjadi cipherteks dengan suaatu algoritma dan kunci maka sebaliknya seorang kripatanalisis berusaha untuk memecahkan cipherteks tersebut untuk menemukan plainteks atau kunci. Kriptologi (cryptologi) adalah studi mengenai kriptografi dan kriptanalisis. Baik kriptografi dan kriptanalisis keduanya saling berkaitan (Munir, 2006).

2.1.2 Tujuan Kriptografi

Kriptografi bertujuan untuk memberi layanan keamanan (yang juga dianamakan sebagai aspek-aspek keamanan) sebagai berikut:

(4)

Kerahasiaan (confidentiality) adalah layanan yang ditujukan untuk menjaga agar pesan tidak dapat dibca oleh pihak-pihak yang tidak berhak. Di dalam kriptografi, layanan ini direalisasikan dengan menyandikan pesan menjadi cipherteks.

2. Integritas Data (Data Integrity)

Integritas Data (Data Integrity) adlaah layanan yang menjamin bahwa pesan masih utuh atau belum pernah dimanipulasi selama pengirimin. Dengan kata lain, aspek keamanan ini dapat diungkapkan sebaga pertanyaan : “Apakah pesan yang diterima masih asli atau tidak mengalami perubahan (modifikasi)?”. Untuk menjaga integritas data, sistem harus memiliki kemampuan untuk mendeteksi manipulasi pesan oleh pihak-pihak yang tidak berhak, antara lain penyisipan, penghapusan, dan pensubtitusian data laian ke dalam pesan yang sebenarnya. Dalam kriptografi, layanan ini direalisasikan dengan menggunakan tanda tangan digital. Pesan yang ditandatangani menyiratkan bahwa pesan yang dikirim adalah asli.

3. Otentikasi (authentication)

(5)

4. Nirpenyangkalan (non-repudiation)

Nirpenyangkalan (non-repudiation) adalah layanan untk mencegah entitas yang berkomunikasi melakukan penyangkalan, yaitu pengirim pesan menyangkal melakukan pengirim atau penerima pesan menyangkal telah menerima pesan. Sebagai conto misalkan pengirim pesan memberikan otoritas kepada penerima pesan untuk melakukan pembelian, namun kemudian ia menyangkal telah memberikan otoritas terseut. Contoh lainnya, misalkan seorang pemilik emas mengajukan tawaran kepasa took mas bahwa ia akan menjual emasnya. Tetapi, tiba-tiba harga emas turun dastis, lalu ia membantah telah mengajukan tawaran menjual emas. Dalam hal ini, pihak took emal perlu proseud nirpenyangkalan untuk membuktikan bahwa pemilik emas telah melakukan kebohongan (Munir, 2006).

2.2 Jenis Algoritma Kriptografi

Berdasarkan kunci yang digunakan untuk melakukan proses enkripsi dan dekripsi, algoritma kriptografi dibagi menjadi tiga bagian yaitu :

1. Algoritma Simetri (Konvensional) 2. Algoritma Asimetri (Kunci Publik) 3. Algoritma Kriptografi Hibirda (Hybrid)

2.2.1 Algoritma Kriptografi Simetri (Konvensional)

(6)

Plaintext Ciphertext Plaintext

Enkripsi Dekripsi

Kunci

paling jelas disini terkadang bukanlah masalah pengiriman ciphertext, melainkan masalah bagaimana menyampaikan kunci simetri tersebut kepada pihak yang diinginkan. Aplikasi dari algoritma simetri digunakan oleh bebarapa algoritma, seperti Data Encryption Standard (DES), Advance Encryption Standard (AES), International Data Encryption Algoritma (IDEA), A5, RC2, RC4, RC5, RC6, dan lain sebgainya (Ariyus, 2006)

Sketsa ataupun gambaran umum kunci simetri terdapat pada gambar 2.1 di bawah:

Gambar 2.1 Algoritma Kunci Simetri

2.2.2 Algoritma Kriptografi Asimetri (Publik)

(7)

Kunci Publik Kunci Privat

Plaintext Ciphertext Plaintext

Enkripsi Dekripsi

Sketsa ataupun gambaran umum kunci simetri terdapat pada gambar 2.2 di bawah:

Gambar 2.2 Algoritma Asimetri

2.2.3 Algoritma Kriptografi Hibrida (Hybrid)

Permasalahan yang menarik pada bidang keamanan informasi adalah adanya tradeoff antara keamanan dengan kenyamanan. Semakin aman semakin tidak nyaman, berlaku juga sebaliknya semakin nyaman semakin tidak aman. Salah satu contohnya adalah bidang kriptografi. Tetapi hal ini dapat diatasi dengan penggunaan kriptografi hibrida. Kriptografi hibrida sering dipakai karena memanfaatkan keunggulan kecepatan pemrosesan data oleh algoritma simetri dan kemudahan transfer kunci menggunakan algoritma asimetri. Hal ini mengakibatkan peningkatan kecepatan tanpa mengurangi kenyamanan serta keamanan (Annelis, 2010)

(8)

Plain File

Gambar 2.3 Prinsip Kriptografi Hibrida Pada Sistem

Berdasarkan gambar 2.3 metode hibrida terdiri dari enkripsi simetri dengan satu kunci (Session Key) dan enkripsi asimetri dengan sepasang kunci (Public/Private Key). Langkah-langkah enkripsi dekripsi pada sistem ini adalah:

Langkah 1 : Pengirim mengenkripsi file dengan Session Key. Langkah 2 : Mengenkripsi Session Key dengan Public Key.

Langkah 3 : Penerima mendekripsi Session Key dengan Private Key. Langkah 4 : Mendekripsi file dengan Session Key.

Dalam penelitian ini dibahas mengenai perancangan sebuah aplikasi kriptografi hibrida yang ditujukan untuk kalangan tertentu, terutama pemakai hardware dengan kekuatan pemrosesan yang terbatas. Aplikasi yang ingin dicapai adalah aplikasi yang sederhana, ringan dan cepat tanpa mengurangi tingkat keamanan. Dalam hal ini, gabungan ataupun kombinasi dua algoritma yang akan dipakai adalah algoritma Hill Cipher sebagai algoritma kriptografi kunci simetri dan algoritma Knapsack sebagai algoritma kriptografi kunci asimetri (kunci publik).

2.3 Landasan Matematika Kriptografi

(9)

2.3.1 Definisi Matriks

Matriks adalah himpunan skalar ( bilangan riil atau kompleks ) yang disusun secara empat persegi maupun persegi panjang menurut baris-baris dan kolom-kolom.

Skalar – skalar itu disebut elemen matriks. Untuk pembatasnya biasanya diberikan tanda [ ] atau ( ) atau || || (Nugraha, 2001)

Notasi Matriks

Sebuah matriks yang diberi variabel A memiliki elemen-elemen baris dan kolom seperti notasi berikut (Leon, 2001).

Matriks A dapat ditulis matriks A(mxn) = a(ij). Keterangan :

i = 1, 2, 3, … m j = 1, 2, 3, … n m = jumlah baris n = jumlah kolom

2.3.2 Jenis Matriks

Beberapa jenis matriks yang dipakai dalam proses pembuatan sistem dapat dilihat sebagai berikut.

2.3.2.1 Matriks Persegi ( Bujur Sangkar )

(10)

merupakan matriks 2x2, merupakan matriks 3x3

(Leon, 2001).

2.3.2.2 Matriks Satuan (Identitas)

Jika aij = 0 untuk i j dan aij = 1 untuk i=j, maka : (Leon, 2001).

2.3.3 Operasi Pada Matriks

Berikut akan dijelaskan beberapa operasi matriks yang akan digunakan pada sistem.

2.3.3.1 Penjumlahan Matriks

Jika matriks A = (aij), matriks B = (bij), dan matriks C = (cij), maka :

...(1) jika aij + bij = cij untuk setiap i dan j dan kedua matriks memiliki ukuran yang sama (Leon, 2001)

Contoh penjumlahan matriks 2x2 :

2.3.3.2 Perkalian matriks

(11)

i) Perkalian Matriks dengan Bilangan Skalar

Jika α = bilangan skalar, matriks A = (aij), matriks B = (bij), maka :

...(2) jika bij = α x aij untuk setiap i dan j (Leon, 2001).

Contoh perkalian matriks 2x2 dengan bilangan skalar : 3 x

ii) Perkalian Dua Matriks

Jika matriks A = (aij), matriks B = (bij), dan matriks C = (cij), maka :

...(3) jika untuk setiap i dan j (Leon, 2001).

Contoh perkalian dua matriks 2x2 :

x =

2.3.3.3 Matriks Transpose

Jika matriks A = (aij), matriks B = (bij), maka :

...(4) jika bij = aji untuk setiap i dan j (Leon, 2001).

Contoh Matriks Transpose 2x2 : =

2.3.3.4 Determinan Matriks

Jika matriks A2x2 = , maka nilai determinan matriks adalah :

(12)

Contoh determinan matriks 2x2 : = 2.4 – 1.3 = 5 (Leon, 2001).

Sifat Determinan :

1. Nilai determinan suatu matriks tidak berubah jika matriks tersebut ditranspose |AT| = |A|

2. Nilai determinan akan berubah tanda bila salah satu baris atau kolom dipertukarkan dengan baris atau kolom lain.

3. Nilai determinan akan berubah menjadi k kali jika setiap elemen suatu baris atau kolom dikalikan dengan k.

2.3.3.5Minor dan Kofaktor

Berikut dapat dilihat penjelasan tentang operasi matriks minor dan kofakor.

i) Minor

Minor dari sebuah matriks

adalah matriks yang berasal dari matriks yang baris ke-i dan kolom ke-j dihilangkan (Leon, 2001).

Contoh minor dari matriks 2x2 :

=

: dari matriks A, baris ke-1 dan kolom ke-1 dihilangkan, maka = ] : dari matriks A, baris ke-1 dan kolom ke-2 dihilangkan, maka = ] : dari matriks A, baris ke-2 dan kolom ke-1 dihilangkan, maka = ] : dari matriks A, baris ke-2 dan kolom ke-2 dihilangkan, maka = ]

(13)

Jika sebuah matriks , maka disebut matriks kofator (Leon, 2001).

Contoh kofaktor dari matriks 2x2 : =

2.3.3.6 Invers Matriks

Jika matriks , matriks , maka dikatakan invers jika =

Invers matriks diberi simbol atau . Sifat Invers Matriks :

1. 2.

Cara menghitung Invers Matriks :

= ...(6)

Keterangan :

Adjoint A = transpose dari matriks kofaktor A A-1 = invers matriks A

(14)

Catatan :

Di dalam skripsi ini metode pencarian iinvers matriks dilakukan dengan metode : = (Det(A))-1 ...(7) Dimana (Det(A))-1 dicari dengan operasi aritmatika modulo yang menghasilkan bilangan bulat.

Cara mencari Invers Determian A :

...(8) Keterangan :

Det (A) = determinan matriks A

(Det(A))-1 = invers dari determinan matriks A

N = banyaknya karakter ataupun nilai yang akan dimodulokan (Leon, 2001).

2.3.4 Aritmatika Modulo

Aritmetika modulo (modular arithmetic) memainkan peranan yang penting dalam komputasi integer, khususnya pada aplikasi kriptografi. Operator yang digunakan pada aritmetika modulo adalah mod. Operator mod, jika digunakan pada pembagian bilangan bulat, memberikan sisa pembagian. Misalnya 23 dibagi 5 memberikan hasil = 4 dan sisa = 3, sehingga ditulis 23 mod 5 = 3.

Definisi dari operator mod dinyatakan sebagai berikut :

Misalkan a adalah bilangan bulat dan m adalah bilangan bulat > 0. Operasi a mod m (dibaca “a modulo m”) memberikan sisa jika a dibagi dengan m. Dengan kata lain, a mod m = r sedemikian sehingga a = mq + r, dengan 0 ≤ r < m. Notasi: a mod m = r sedemikian sehingga

a = mq + r, dengan 0 ≤ r < m...(9) Bilangan m disebut modulus atau modulo, dan hasil aritmetika modulo m terletak di dalam himpunan {0,1, 2, …, m – 1}

Jika a mod m = 0, maka dikatakan bahwa a adalah kelipatan dari m, yaitu a habis dibagi dengan m (Munir, 2006).

(15)

Dua buah bilangan bulat a dan b dikatakan relatif prima jika PBB(a, b) = 1. Sebagai contoh, 20 dan 3 relatif prima sebab PBB(20, 3) = 1. Jika a dan b relatif prima, maka dapat ditemukan bilangan bulat m dan n sedemikian sehingga

ma + nb = 1...(10) Contoh: Bilangan 20 dan 3 adalah relatif prima karena PBB(20, 3) = 1, atau dapat ditulis: 2 . 20 + (–13). 3 = 1 dengan m = 2 dan n = –13 (Munir, 2006).

2.3.6 Balikan Modulo

Jika a dan m relatif prima (PBB(a, m) = 1) dan m > 1, maka kita dapat menemukan balikan (invers) dari a modulo m. Balikan dari a modulo m adalah bilangan bulat a-1 sedemikian sehingga

a.a-1≡ 1 (mod m)...(11) Dari definisi relatif prima diketahui bahwa PBB(a,m) = 1 terdapat bilangan bulat p dan q sedemikian sehingga

pa + qm = 1 yang mengimplikasikan bahwa pa + qm ≡ 1 (mod m) karena qm ≡ 0 (mod m), maka

pa ≡ 1 (mod m)...(12) Contoh: Tentukan balikan modulo dari 4 (mod 9)

Jawab: Karena PBB(4,9) = 1, maka balikan dari 4 (mod 9) ada. Dari algoritma Euclidean diperoleh bahwa

9 = 2 . 4 + 1 -2 . 4 + 1 . 9 = 1

Dari persamaan terakhir ini diperoleh -2 adalah balikan dari 4 mod 9. Periksalah bahwa -2 . 4 ≡ 1 (mod 9) (9 habis membagi -2 . 4 – 1 = -9)

(16)

Hill Cipher merupakan penerapan aritmatika modulo pada kriptografi. Teknik kriptografi ini menggunakan sebuah matriks persegi sebagai kunci yang digunakan untuk melakukan enkripsi dan dekripsi (Sasongko, 2005).

Hill Cipher diciptakan oleh Lester S. Hill pada tahun 1929. Teknik kriptografi ini diciptakan dengan maksud untuk dapat menciptakan cipher (kode) yang tidak dapat dipecahkan menggunakan teknik analisis frekuensi. Hill Cipher tidak mengganti setiap abjad yang sama pada plaintext dengan abjad lainnya yang sama pada ciphertext karena menggunakan perkalian matriks pada dasar enkripsi dan dekripsinya (Sasongko, 2005).

Hill Cipher yang merupakan polyalphabetic cipher dapat dikategorikan sebagai block cipher karena teks yang akan diproses akan dibagi menjadi blok-blok dengan ukuran tertentu. Setiap karakter dalam satu blok-blok akan saling mempengaruhi karakter lainnya dalam proses enkripsi dan dekripsinya, sehingga karakter yang sama tidak dipetakan menjadi karakter yang sama pula. (Sansani, 2008).

2.4.1 Teknik Dasar Hill Cipher

Dasar dari teknik Hill Cipher adalah aritmatika modulo terhadap matriks. Dalam penerapannya, Hill Cipher menggunakan teknik perkalian matriks dan teknik invers terhadap matriks. Kunci pada Hill Cipher adalah matriks n x n dengan n merupakan ukuran blok. Matriks K yang menjadi kunci ini harus merupakan matriks yang invertible, yaitu memiliki invers K-1 sehingga :

... (13) Keterangan:

K = Kunci

K-1 = Invers Kunci I = Matriks identitas

(17)

2.4.2 Teknik Enkripsi Hill Cipher

Proses enkripsi pada Hill Cipher dilakukan per blok plaintext. Ukuran blok tersebut sama dengan ukuran matriks kunci. Sebelum membagi teks menjadi deretan blok-blok, plaintext terlebih dahulu dikonversi menjadi angka (Sansani, 2008).

Secara matematis, proses enkripsi pada Hill Cipher adalah:

... (14) Keterangan:

C = Ciphertext K = Kunci P = Plaintext

2.4.3 Teknik Dekripsi Hill Cipher

Proses dekripsi pada Hill Cipher pada dasarnya sama dengan proses enkripsinya. Namun matriks kunci harus dibalik (invers) terlebih dahulu.

Secara matematis, proses dekripsi pada Hill Cipher adalah :

... (15)

2.5 Algoritma Knapsack

Algoritma Knapsack juga disebut algoritma kriptografi kunci publik. Keamanan algoritma ini terletak pada sulitnya memecahkan persoalan Knapsack (Knapsack Problem). Knapsack artinya karung/kantung. Karung mempunyai kapasitas muat terbatas. Barang-barang dimasukkan ke dalam karung hanya sampai batas kapasitas maksimum karung saja (Marta, 2006).

2.5.1 Bentuk Knapsack

(18)

1. General Knapsack / Normal Knapsack diberikan bobot Knapsack adalah M. Diketahui n buah objek yang masing-masing bobotnya adalah w1, w2, ... , w3. Tentukan nilai bi sedemikian sehingga

... (16) Yang dalam hal ini, bernilai 0 atau 1. Jika =1, berarti objek i dimasukkan ke dalam knapsack, sebaliknya jika =0, objek i tidak dimasukkan.

Dalam teori algoritma, persoalan knapsack termasuk ke dalam tidak dapat dipecahkan dalam orde waktu polinomial. Sehingga algoritma ini hanya dapat digunakan untuk enkripsi tetapi tidak dirancang untuk dekripsi (Marta, 2006).

2. Superincreasing Knapsack

Superincreasing Knapsack adalah persoalan Knapsack yang dapat dipecahkan dalam orde polinimial. Ini adalah persoalan Knapsack yang mudah sehingga tidak disukai untuk dijadikan sebagai algoritma kriptografi yang kuat. Jika senarai bobot disebut barisan superincreasing, maka kita dapat membentuk Superincreasing Knapsack. Barisan Superincreasing adalah suatu barisan di mana setiap nilai di dalam barisan lebih besar daripada jumlah semua nilai sebelumnya.

Solusi dari Superincreasing Knapsack (yaitu ) mudah dicari sebagai berikut :

1. Jumlahkan semua bobot di dalam barisan.

2. Bandingkan bobot total dengan bobot terbesar di dalam barisan. Jika bobot terbesar lebih kecil atau sama dengan bobot total, maka bobot dapat dimasukkan ke dalam knapsack, jika tidak, maka bobot tidak dimasukkan. 3. Kurangi bobot total dengan bobot yang telah dimasukkan, kemudian

bandingkan bobot total sekarang dengan bobot terbesar selanjutnya. Demikian seterusnya sampai seluruh bobot di dalam barisan selesai dibandingkan.

(19)

Algoritma Superincreasing Knapsack adalah algoritma yang lemah, karena ciphertext dapat didekripsi menjadi plaintext secara mudah dalam waktu polinomial. Algoritma non-superincreasing knapsack atau normal knapsack adalah kelompok algoritma yang sulit (dari segi komputasi) karena membutuhkan waktu dalam orde eksponensial untuk memecahkannya.

Namun, Superincreasing Knapsack dapat dimodifikasi menjadi non-Superincreasing Knapsack dengan menggunakan kunci publik (untuk enkripsi) dan kunci privat (untuk dekripsi). Kunci publik merupakan barisan non-Superincreasing sedangkan kunci privat tetap merupakan barisan superincreasing. Hasil modifikasi tersebut dinamakan algoritma Merkle-Helman karena modifikasi ini ditemukan oleh Martin Hellman dan Ralph Merkle. Modifikasi dilakukan dengan perhitungan aritmatika modulo (Munir, 2006).

2.5.2 Penggunaan Teori Bilangan Bulat Pada Sistem Kriptografi Merkle-Hellman

2.5.2.1 Penggunaan Arimatika Modulo Dan relatif Prima Pada Pembangkitan Kunci Merkle-Hellman

Untuk mengenkripsikan n-bit pesan, caranya adalah sebagai berikut:

a. Tentukan barisan Superincreasing. w = (w1, w2, ..., wn) dari bilangan bukan nol

b. Pilih salah satu bilangan integer q sehingga memenuhi dan salah satu angka integer r secara acak sehingga PBB(r,q) =1 (r relatif prima dengan q). Bilangan q dipilih dengan cara di atas untuk memastikan keunikan dari ciphertext. Jika bilangan yang digunakan lebih kecil, lebih dari satu plaintext akan dienkripsi menjadi ciphertext yang sama. Sedangkan r harus tidak memiliki persekutuan dengan q karena jika tidak, maka balikan modulo dari r mod q tidak dapat ditemukan. Bilangan yang merupakan balikan modulo dari r mod q adalah penting agar memungkinkan dekripsi.

c. Kemudian hitung barisan yang memenuhi

(20)

2.5.2.2 Penggunaan Balikan Modulo Pada Dekripsi Enkripsi Knapsack

Terdapat n-bit pesan α = (α1, α2, ..., αn) dengan αi adalah bit ke-i dari pesan

dan αi ∈{0, 1}.

i) Teknik Enkripsi Knapsack

Cara untuk mengenkripsi pesan tersebut adalah sebagai berikut:

a. Pilih himpunan bagian dari normal Knapsack (kunci publik) yang berkorespondensi dengan 1 pada plainteks dan mengabaikan bagian yang berkorespondensi dengan 0 pada plainteks.

b. Elemen dari himpunan bagian yang telah dipilih dijumlahkan dan hasilnya menjadi ciphertext (Marta, 2006)

...(17)

ii) Teknik Dekripsi Knapsack

Untuk mendekripsi ciphertext c, penerima harus menemukan pesan dalam bentuk sehingga memenuhi

Nilai βi dipilih sehingga dekripsi mudah dilakukan jika kunci privat (w, q, r) diketahui. Hal yang penting dari dekripsi adalah menemukan suatu bilangan integer n-1 yang merupakan balikan modulo (modular inverse) dari r modulo q. Ini berarti n-1 memenuhi persamaan n-1.r mod q = 1 atau n-1.r ≡ 1 (mod q) atau terdapat bilangan integer k sehingga n-1.r = kq + 1. Karena r dipilih sehingga memenuhi persamaan PBB(r,q) = 1, maka s dan k mungkin ditemukan dengan menggunakan perhitungan balikan modulo yang memenuhi sr ≡ 1 (mod q). Kekongruenan ini dapat dihitung dengan cara yang sederhana sebagai berikut:

(21)

Kalikan setiap kriptogram dengan n-1 mod m, lalu nyatakan hasil kalinya sebagai penjumlahan elemen-elemen kunci privat untuk memperoleh plainteks dengan menggunakan algoritma pencarian solusi superincreasing knapsack (Marta, 2006).

Bentuk persamaan dekripsi algoritma Knapsack adalah sebagai berikut : ...(19)

Keterangan :

plainkey (pada sistem disebut session key) = balikan modulo

= cipherkey

2.6 File

File adalah entitas dari data yang disimpan dalam berkas sistem yang dapat diakses dan diatur oleh pengguna. Sebuah file memiliki nama yang unik beserta atributnya, yang akan disimpin dalam folder atau direktori suatu dirve. Setiap drive pada penyimpanan diberikan identitas berupa huruf . pada umunya hard disk

utama yang merupakan lokasi penyimpan file diberi nama dirve “C”. adapun partisi ataupun penyimpanan media lain, makan akan diberikan huruf secara berurutan setelah “C”.

(22)

file. Format file merupakan suatu cara khusus untuk mengkodekan informasi yang disimpan dalam file computer. Selain format file, ada juga yang disebut dengan file extension. Secara sekilas format file tidak jauh berbeda dengan file extension, terutama dalam hal penyebutan nama jenis file. Namun, jika ditelisik secara mendalam, format file berbeda dengan file extension.

File extension umumnya terdiri atas tiga atau lebih karakter yang ditempatkan pada akhir nama sebuah file. Adapun fungsi file extension, yaitu membantu mempermudah sistem operasi computer untuk mengidentifikasi informasi data yang terdapat dalam file beserta dengan aplikasi atau program yang terkait dalam file tersebut.

Format file cenderung mengarah pada nama jenis file, sedangkan file extension merupakan salah satu metode untuk mengidentifikasi jenis file. Secara lebih jauh, file umumnya dituliskan dalam huruf capital, sedangkan file extension dituliskan dalam huruf kecil yang mengikuti nama file. Sebagai contoh, misalnya untuk jenis video salah satu formatnya adalah flv sehingga seringkali ditulis file FLV. Sementara untuk menunjukkan extension untuk format file tersebut adalah .flv (Enterprise, 2010).

2.6.1 Jenis-Jenis File

Berikut beberpa jenis –jenis file yaitu file dokumen, file grafik dan multimedia, dan file kompresi dapat dilihat sebagai berikut.

2.6.1.1 File Dokumen

Kategori file dokumen yang dimaksud dalam hal ini adalah file-file yang berisi teks. File teks merupakan file komputer yang tersusun atas rangkaian baris teks.

Jenis file yang termasuk dalam kategori file dokumen beberapa diantaranya adalah sebagai berikut :

(23)

Beberapa format file dalam dokumen office 1997-2003 seperti file DOC (.doc) pada Microsoft Word, file XLS (.xls) pada Microsoft Excel, file PPT (.ppt) pada Microsoft Power Point, dan lain-lain.

2. File dokumen office 2007-Sekarang

Beberapa format file dokumen office 2007-Sekarang seperti file DOCX (.docx) pada Microsoft Word), file XLSX (.xlsx) pada Microsoft Excel, file PPTX (.pptx) pada Mincrosoft Power Point, dan lain-lain.

Adapun file dokumen lain seperti file PDF (.pdf), file TXT (.txt), file RTF (.rtf), dan lain-lain (Enterprise, 2010).

2.6.1.2 File Grafik dan Multimedia

Kategori file grafik dan multimedia mengarah pada jenis-jenis file image atau gambar, video, dan audio atau musik. Banyak jenis file yang termasuk dalam kategori ini adalah sebagai berikut :

1. File JPG (.jpg) merupakan format kompresi image atau gambar yang distandardisasi ole Joint Photographic Ex[erts Group (JPEG). Adapun file gambar lain seperti file PNG (.png), file GIF (.gif), file BMP (.bmp), dan lain-lain.

2. File FLV (.flv) merupakan salah satu format file video berhubungan dengan Flash-compatible file video yang diekspor Flash Vidio Explorer plug-in termasuk Adobe Flash atau program lain yang support terhadap file ini. Adapaun format file video lain adalah seperti Audi Vidio Interleaved (AVI) dimana file extensionnya berupa .avi, file 3GP (.3gp), dan lain-lain.

3. File MP3 (.mp3) merupakan salah satu format file audio yang tidak lepas dari format file Motion Pictures Expert Group (MPEG). Sebelum munculnya MP3, telah ada format file audio digital yang menggunakan teknologi kompresi seperti, AAC, Dolby, Windows Mwdia Audio (WMA), Real Audio, dan lain-lain (Enterprise, 2010).

(24)

File kompresi yang dimaksdukan adalah file-file yang digabungkan menjadi satu dengan tujuan untuk memperoleh ukuran file yang lebih kecil dibandingkan dengan file lainnya. Berikut beberapa file yang termasuk dalam kategori kompresi file :

1. File ZIP (.zip)

File ZIP adalah format kompresi file yang paling tua. ZIP menggabungkan beberapa file ke dalam satu file.

2. File RAR (.rar)

Standar kompresi RAR mengkompres file 15 persen lebih kecil daripada ZIP. Program RAR dan WinRAR (untuk windows) tidak hanya mengkompres file dalam bentuk format RAR, tetapi juga membaca file ZIP dan beberapa format file kompresi lainnya (Enterprise, 2010).

Selain beberapa jenis file di atas, masih banyak jenis file yang tidak disebutkan, seperti file aplikasi berupa file EXE (.exe), , file photoshop berupa file PSD (.psd), file pemograman berupa file PHP (.php), HTML (.html), ASP (.asp), dan lain-lain.

2.7 Penelitian Terkait

1. Penelitian oleh Silvia Annelis menggunakan teknik kriptografi hibrida dengan menggunakan kombinasi dua algoritma Caesar Cipher dan RSA untuk pengkodean pesan. Algoritma Caesar Cipher merupakan algoritma kunci simetri yang digunakan untuk mengkodekan pesan dan algoritma RSA merupakan algoritma kunci asimetri yang digunakan untuk mengkodekan kunci simetri Caesar Cipher. Teknik metode krptografi hibrida ini akan lebih aman digunakan jika dibandingkan dengan menggunakan hanya satu algoritma sehingga penulis menggunakan algoritma yang berbeda untuk kriptografi hibrida.

(25)

sehingga penulis menambahkan pengamanan pada file yang sudah diuji dengan algoritma yang berbeda.

Gambar

Gambar 2.1 Algoritma Kunci Simetri
Gambar 2.2 Algoritma Asimetri
Gambar 2.3 Prinsip Kriptografi Hibrida Pada Sistem

Referensi

Dokumen terkait

Pada tahap kriptografi pesan yang telah berhasil diinput akan dienkripsi dengan kunci yang telah diberikan kemudian dilanjutkan dengan proses penyisipan pesan di tahap

Dalam sistem kriptografi kunci publik ini, proses enkripsi dan dekripsi menggunakan kunci yang berbeda, namun kedua kunci tersebut memiliki hubungan matematis

Pada halaman dekripsi file, user diminta untuk memasukkan cipherkey yang akan didekripsi, kemudian user memasukkan kunci publik RSA-Naïve, lalu cipherkey akan terdekripsi

Seseorang dapat mengirimkan pesan rahasia dengan hanya menggunakan informasi yang umum (kunci publik),.. tetapi pesan tersebut hanya mungkin didekrip dengan menggunakan