• Tidak ada hasil yang ditemukan

Implementasi Algoritma Affine Cipher, RSA-CRT dan Alternate Unary Code Dalam Pengamanan dan Kompresi Teks

N/A
N/A
Protected

Academic year: 2017

Membagikan "Implementasi Algoritma Affine Cipher, RSA-CRT dan Alternate Unary Code Dalam Pengamanan dan Kompresi Teks"

Copied!
17
0
0

Teks penuh

(1)

BAB 2

TINJAUAN PUSTAKA

2.1. Algoritma

Menurut Untoro (2010) algoritma adalah urutan suatu proses atau prosedur yang

dilakukan secara bertahap dari mulai sampai dengan selesai yang tersusun secara logis

dan sistematis untuk mendapatkan pemecahan suatu masalah, baik pemecahan yang

benar maupun yang salah.

Definisi algoritma menurut Suarga (2004) adalah susunan langkah-langkah

penyelesaian masalah yang tersusun secara pasti, logis dan sistematis, yang jika

diikuti akan mengubah data input menjadi output yang berupa informasi.

Algoritma mempunyai sifat. Sifat utama dari suatu algoritma adalah sebagai

berikut (Untoro, 2010) :

1. Mempuyai masukan (input)

2. Menghasilkan keluaran (output)

3. Langkah-langkahnya terdefinisi dengan jelas (definiteness).

4. Menghasilkan output setelah melakukan sejumlah langkah tertentu (finiteness).

5. Setiap langkah bisa dilaksanakan untuk memberikan penyelesaian yang sesuai

dengan harapan (effectiveness).

6. Langkah-langkah dalam algoritma haurs berlaku umum (generality) pada

masalah yang sama dengan kasus yang berbeda.

Salah satu unsur dari yang tersebut di atas tidak terpenuhi, maka ia dikatakan

(2)

2.2. Kriptografi

Kriptografi berasal dari bahasa Yunani. Menurut bahasa tersebut kata kriptografi

dibagi dua, yaitu kripto dan graphia. Kripto berarti secret (rahasia) dan graphia

berarti writing (tulisan). Menurut terminologinya kriptografi adalah ilmu dan seni

untuk menjaga keamanan pesan ketika pesan dikirim dari suatu tempat ke tempat yang

lain (Ariyus, 2006).

Kriptografi adalah ilmu yang mempelajari bagaimana cara agar pesan atau

dokumen yang kita miliki aman dan tidak dapat diterjemahkan oleh pihak lain yang

tidak berhak (Kurniawan, 2004).

Menurut Salomon (2004) Kriptografi adalah seni dan ilmu mengaburkan pesan.

Pesan itu biasanya berupa serangkaian huruf dan dienkripsi dengan mengganti setiap

huruf dengan huruf lain atau dengan angka. Dalam perkembangan komputer, pesan

berupa string biner (bitstring) di komputer, dan dienkripsi dengan mengganti dengan

bitstring lain, biasanya yang sama panjang.

Cryptography adalah suatu ilmu ataupun seni mengamankan pesan, dan

prosesnya dilakukan oleh cryptographer (Wahana Komputer, 2003).

2.3. Jenis Algoritma Kriptografi

Terdapat dua jenis Algoritma Kriptografi berdasarkan jenis kuncinya (Kurniawan,

2004) :

1. Algoritma Simetri (Konvensional), yaitu algoritma yang menggunakan kunci

enkripsi yang sama dengan kunci dekripsinya.

plainteks Algoritma

enkripsi cipherteks

Algoritma

dekripsi plainteks

User A User B

Kunci/key

Gambar 2.1. Proses Enkripsi Konvensional (Wahana Komputer, 2003)

Algoritma simetri dapat dibagi dalam dua kategori, yaitu stream cipher dan

(3)

satu bit tunggal per satu waktu. Sedangkan algoritma block cipher beroperasi

pada plaintext dalam grup bit-bit yang disebut blok (misalnya 1 blok terdiri

atas 64 atau 128 bit).

2. Algoritma Asimetri (kunci publik), merupakan algoritma yang didesain

sedemikian rupa sehingga kunci yang digunakan untuk enkripsi berbeda

dengan kunci yang digunakan untuk dekripsi. Dalam sistem ini kunci enkripsi

sering disebut kunci publik, sementara kunci dekripsi sering disebut kunci

privat.

plainteks Algoritma

enkripsi cipherteks

Algoritma

dekripsi plainteks

User A User B

Private key B

Public key B

Gambar 2.2. Proses Enkripsi Kunic Publik (Wahana Komputer, 2003)

2.4. Kriptografi Hibrida

Kriptografi hibrida adalah teknik kriptografi dengan menggabungkan dua atau lebih

algoritma kriptografi. Algoritma yang digabungkan adalah algoritma kunci simetris

dan kunci asimetris. Dalam pemanfaatannya kunci simetris yang disebut juga session

key (kunci sesi) digunakan untuk enkripsi data dan pasangan kunci rahasia kunci

publik (asimetris) untuk melindungi kunci simetri.(Widarma, 2016)

Konsep kriptografi hibrida dapat dilihat pada Gambar 2.3. Skema tersebut

menjelaskan bahwa Bob memiliki kunci algoritma asimetris (kunci publik dan kunci

rahasia). Alice mengirim pesan yang terenkripsi kepada Bob dan mengenkripsi kunci

pesan tersebut (session key) dengan kunci publik milik Bob. Bob mendekripsi session

key dengan kunci privat miliknya lalu mendekripsi pesan Alice dengan session key

(4)

Enkripsi

Gambar 2.3. Skema Kriptografi Hibrida

Pada penelitian ini kriptografi hibrida menggunakan algoritma affine cipher

sebagai session key, dan untuk mengamankan kunci affine cipher tersebut digunakan

kriptografi asimetris dengan algoritma RSA-CRT. Perhatikan Gambar 2.4.

Enkripsi

Gambar 2.4. Kriptografi Hibrida Affine Cipher dan RSA-CRT

2.5. Dasar Matematika dalam Kriptografi 2.5.1.Bilangan Prima

Bilangan prima adalah bilangan bulat positif yang hanya memiliki 2 faktor pembagi

yaitu 1 dan bilangan itu sendiri (Forouzan, 2007). Sebagai contoh bilangan 13 adalah

bilangan prima karena hanya habis dibagi 1 dan bilangna itu sendiri, yaitu 13.

2.5.2.Fermat’s Little Theorem

Teorema fermat digunakan untuk menentukan keprimaan suatu bilangan dengan

rumus :

(5)

di mana p adalah bilangan bulat dan a adalah sembarang integer yang lebih kecil dari

p. Jika hasilnya ≠ 1, maka p bukan bilangan prima. Sebaliknya, jika hasilnya = 1,

maka p adalah mungkin bilangan prima.

Contoh : Tentukan apakah 5 adalah bilangan prima.

p = 5

Maka 1 ≤ a< 5, didapat a = {1, 2, 3, 4}

a p-1mod p

1 5-1 mod 7 = 14 mod 5 = 1

2 5-1 mod 7 = 24 mod 5 = 1

3 5-1 mod 7 = 34 mod 5 = 1

4 5-1 mod 7 = 44 mod 5 = 1

Perhitungan diatas untuk memastikan apakah 5 bilangan prima atau tidak,

ditemukan hasil dari semua perhitungan = 1, maka jelas bahwa 5 merupakan bilangan

prima.

2.5.3.Great Common Divisor (GCD)

Integer yang sering digunakan dalam kriptografi adalah GCD dari dua buah integer.

Dua buah integer mungkin memiliki banyak faktor pembagi, tapi pasti hanya memiliki

satu faktor pembagi yang terbesar (Forouzan, 2007). Misalnya faktor pembagi 12 dan

140 adalah 1, 2, dan 4, dapat diketahui bahwa faktor pembagi terbesanya adalah 4.

2.5.4.Euclidean Algorithm

Salah satu cara untuk mencari GCD dari dua buah bilangan bulat adalah dengan

Euclidean Algorithm. Euclidean Algorithm berdasarkan dua rumus, yaitu :

1. gcd(�, 0) = �

2. gcd(�,�) = gcd(�,�) , dimana r adalah sisa pembagian � dan �

Rumus pertama menjelaskan bahwa jika integer kedua adalah 0, maka gcdnya

adalah bilangan pertama. Jika � dan � merupakan bilangan bulat positif, maka

(6)

Gambar 2.5. Proses Algoritma Euclid (Forouzan, 2007)

Jika hasil gcd(�,�) = 1 , maka � dan � relatif prima.

Contoh : Tentukan gcd(192,23)

192 mod 23 = 8

23 mod 8 = 7

8 mod 7 = 1

7 mod 1 = 0

1 mod 0 = 1

Saat r = 0, diperoleh gcd(192,23) = 1

2.5.5.Euler Phi Function

Euler’s phi function, ϕ(�), atau yang kadang disebut Euler’s totient function

memainkan peranan penting didalam kriptografi. Fungsi ini digunakan untuk

menentukan bilangan yang lebih kecil dan relatif prima terhadap n. Aturan dalam

fungsi Euler antara lain :

1. ϕ(1) = 0

2. ϕ(�) = � −1, jika � prima

3. ϕ(� ×�) =Φ(�) ×Φ(�), jika m dan n relatif prima

4. ϕ(��) =�� − ��−1, jika p prima

Kita dapat mengkombinasikan keempat aturan tersebut untuk menentukan nilai

ϕ(�), menjadi seperti berikut :

ϕ(�) = (�1�1 − �

1�1−1) × (�2�2− �2�2−1) × … × (���� − ����−1)

Contoh : Tentukan nilai dari Φ(256)

(7)

= (23−22) × (3−1) × (5−1)

= (8−4) × 2 × 4

= 4 × 2 × 4

= 32

2.5.6.Aritmatika Modulo

Aritmatika modulo digunakan untuk menentukan sisa hasil bagi antara dua buah

integer. Operasi dalam aritmatika modulo menggunakan modulo operator yaitu mod.

Perhatikan rumus berikut :

����� =�

� adalah integer, � merupakan modulus dan � adalah sisa pembagian atau residue. Contoh : 12 mod 5 = 2

2.5.7.Multiplicative Inverse

Dalam aritmatika modulo, dua buah bilangan bulat a dan b dikatakan multiplicative

inverse satu sama lain jika :

�×� ≡1(����)

Untuk menentukan multiplicative inverse dari sebuah bilangan komposit dapat

menggunakan teorema euler, yaitu :

�−1��� =�()1���

Contoh : Tentukan nilai dari 12−1��� 30

12−1 ��� 30 = 12�(30)−1��� 30

= 12�(2)×�(3)×�(5)−1��� 30

= 12(1×2×4)−1��� 30

= 128−1��� 30

= 127��� 30

= 18 ��� 30

Diperoleh nilai dari 12−1��� 30 adalah 18

2.5.8.Chinese Remainder Theorem (CRT)

Chinese Remainder Theorem (CRT) digunakan untuk menyelesaikan persamaan

kongruen yang memiliki nilai modulus berbeda dan relatif prima dengan sebuah

variabel. (Forouzan, 2007)

(8)

� ≡ �2(����2) ….

� ≡ ��(�����)

Untuk menyelesaikan masalah diatas dapat dilakukan dengan langkah-langkah

berikut :

a) Hitung nilai �= �1×�2× … ×�

b) Hitung �1 = �/�1,�2 = �/�2, … ,�� =�/��

c) Tentukan invers perkalian dari �1,�2, … ,�� terhadap masing-masing modulus

�1,�2, … ,��

d) Sehingga nilai � dapat diperoleh dengan persamaan berikut :

�=��1×�1×�1−1�+��2×�2×�2−1�+⋯+��� ×�� ×��−1�����

Sebagai contoh diberikan masalah kongruen sebagai berikut :

� ≡ 2 (��� 3)

� ≡ 6 (��� 7)

� ≡ 10 (��� 13) Penyelesaian :

a) �= 3 × 7 × 13 = 273

b) Hitung �1 = 273/3 = 91,�2 = 273/7 = 39,�3 = 273/13 = 21

c) Tentukan invers perkalian dari �1,�2,�3 terhadap masing-masing modulus

�1,�2,�3

�1−1 = 1,�2−1 = 2,�3−1 = 5

d) Maka diperoleh nilai x sebagai berikut :

�=��1×�1×�1−1�+��2×�2×�2−1�+��3×�3×�3−1�����

�= (2 × 91 × 1) + (6 × 39 × 2) + (10 × 21 × 5) ��� 273

�= (182) + (468) + (1050) ��� 273

�= 1700 ��� 273

�= 62 ��� 273

Nilai x = 62 memenuhi semua persamaan kongruen 62≡ 2 (��� 3), 62≡

(9)

2.6. Algoritma Affine Cipher

Affine cipher merupakan block cipher kunci simetris (Mollin, 2005). Affine cipher

adalah kombinasi dari additive dan multiplicative cipher dengan kunci yang

berpasangan (Forouzan, 2007).

Proses kerja Affine cipher adalah dengan mengalikan pesan asli (plainteks)

dengan sebuah nilai integer dan menambahkannya dengan sebuah pergeseran dan

dinyatakan dengan fungsi kongruen untuk menghasilkan ciphertext. Kunci affine

cipher terdiri dari dua parameter yaitu a dan b, dimana a harus relatif prima dengan n,

gcd(a,n) = 1. Kunci pertama (a) merupakan multiplicative cipher dan kunci kedua (b)

merupakan additive cipher. Enkripsi dan dekripsi affine menggunakan affine

transformation dengan rumus enkripsi

��(�) ≡ ��+� (����)

dan rumus untuk dekripsi

��(�)≡ �−1(� − �) (����)

dimana m adalah plainteks, c adalah cipherteks dan n merupakan ukuran alfabet yang

dienkripsi.

Contoh proses enkripsi dan dekripsi dengan algoritma Affine Cipher :

Misal : plainteks = A

Kode ASCII = 65

n = 256

Proses enkripsi :

Tentukan nilai a dan b degan ketentuan gcd(a,n) = 1, maka ditentukan a = 5 dan

b = 11

Proses enkripsi dengan rumus �(�)≡ ��+� (����)

��(�)≡ 5.65 + 11 (��� 256) ��(�)≡ 325 + 11 (��� 256)

��(�)≡ 80

Maka diperoleh cipherteks dengan kode ASCII = 80 = “P”

Proses dekripsi :

Cipherteks (c) = P = 80

Porses dekripsi menggunakan rumus �(�) ≡ �−1(� − �) (����)

(10)

��(�)≡ 65 (��� 256)

��(�)≡ 65

Maka diperoleh plainteks dengan kode ASCII = 65 = “A”

2.7. Algoritma RSA-CRT

Algoritma RSA (Rivest Shamir Adleman) dapat dikembangkan dan dimodifikasi

dengan memanfaatkan teorema Chinesse Remainder Theoreme (CRT), dan penerapan

algoritma CRT pada algoritma RSA ini kemudian disebut RSA-CRT (Arief & Saputra,

2016). Keunggulan dari algoritma kriptografi RSA-CRT ini adalah kemampuannya

melakukan komputasi yang hampir empat kali lebih cepat daripada menggunakan

algoritma RSA biasa.

RSA-CRT merupakan varian dari algoritma RSA yang digunakan untuk

mempercepat proses dekripsi RSA (Noureldien & Mustafa, 2014). Adanya varian RSA

adalah untuk menentukan algoritma RSA mana yang lebih tepat diterapkan untuk

melakukan proses enkripsi dan dekripsi.

Pada dasarnya algoritma RSA-CRT hampir sama dengan algoritma RSA biasa,

perbedaannya adalah algoritma RSA-CRT memanfaatkan metode Chinesse Remainder

Theoreme (CRT) untuk memperpendek ukuran bit eksponen dekripsi d dengan cara

menyembunyikan d pada sistem kongruen agar dapat mempercepat waktu dekripsi

(Arief & Saputra, 2016).

Algortima RSA-CRT dibagi menjadi 3 langkah utama, yaitu :

1. Membangkitkan Kunci

Berikut algoritma pembangkit kunci RSA-CRT (Shinde & Fadewar, 2008):

a. Tentukan bilangan acak prima p dan q dimana gcd(� −1,� −1) = 2 b. Hitung nilai =× dan () = (� −1)(� −1)

c. Tentukan bilangan acak �� dan �� dengan gcd���,� −1�= 1, gcd���,� −

1) = 1 dan � ≡ ���� 2

d. Cari nilai d sedemikian hingga � ≡ �� ��� (� −1) dan � ≡ �� ��� (� −

1)

e. Hitung nilai �=�−1����(�)

(11)

Untuk mengaplikasikan CRT pada langkah 4, tiap bilangan modulo

masing-masing (� −1) dan (� −1) harus berpasangan dengan bilangan yang relatif

prima agar persoalan ini mempunyai solusi. Karena (� −1) dan (� −1) adalah

genap dan maka tidak dapat langsung mengaplikasikan CRT. Untuk memperoleh

solusi nilai d berdasarkan

� ≡ ��(���� −1)

� ≡ ��(���� −1)

dapat dicari dengan :

� −1≡ � −1(���� −1)

� −1≡ � −1(���� −1)

Dengan menggunakan hukum kanselasi, maka didapat :

�=�′ ≡ (� −1)/2≡(� −1)/2 (��� (� −1)/2)

�=�′ ≡ (� −1)/2≡(�� −1)/2 (��� (� −1)/2)

Dengan menggunakan CRT didapatkan nilai d sedemikian sehingga

� = (2 ×�’) + 1 2. Enkripsi RSA-CRT

Rumus untuk mengenkripsi pesan dengan algoritma RSA-CRT sama dengan

sistem RSA pada umumnya yaitu :

�= �� ����

3. Dekripsi RSA-CRT

Rumus untuk dekripsi RSA-CRT adalah sebagai berikut:

a. ��= ��� ����

b. ��= ��� ����

c. � ≡ ������

d. � ≡ ������

Contoh enkripsi dan dekripsi dengan algoritma RSA-CRT:

1. Bangkitkan kunci RSA-CRT

a. Bangkitkan bilangan prima besar p dan q

p = 23

q = 47

(12)

b. Hitung nilai N = p × q dan �(�) = (� −1) × (� −1)

N = p × q = 23 × 47 = 1081

�(�) = (� −1) × (� −1)

�(�) = 22 × 46

�(�) = 1012

c. Tentukan � dan � secara acak yang memenuhi gcd��,� −1�= 1,

gcd���,� −1�= 1 dan �� ≡ �� (��� 2)

�� = 13→gcd(13,22) = 1 �� = 19→gcd(19,46) = 1

13≡ 19 (��� 2)

d. Cari nilai d sedemikian hingga � ≡ � ��� (� −1) dan � ≡ � ��� (� −

1)

� ≡13 ��� (22)

� ≡19 ��� (46)

Nilai d tidak dapat langsung ditentukan menggunakan CRT karena

gcd(22,46) 1, oleh karena itu persamaan tersebut harus diubah dengan

memanfaatkan hukum kanselasi, yaitu :

� −1≡13−1(��� 22)

� −1≡19−1(��� 46) Maka didapat :

�=�′ ≡ (� −1)/2≡(� −1)/2 (��� (� −1)/2)

�=�′ ≡ (� −1)/2≡(�� −1)/2 (��� (� −1)/2)

�=�′ ≡ (� −1)/2≡(13−1)/2 (��� (22)/2) = 6 ��� 11

�=�′ ≡ (� −1)/2≡(19−1)/2 (��� (46)/2) = 9 ��� 23

Diperoleh gcd(11,23) = 1, maka persamaan tersebut dapat diselesaikan

dengan metode CRT.

�= 11 × 23 = 253

�1 = 253/11 = 23

�2 = 253/23 = 11

�1−1 = 23−1��� 11 = 239��� 11 = 1

(13)

�′ = (6 × 23 × 1 + 9 × 11 × 21)��� 253 �′ = (138 + 2079)��� 253

�′ = 193

�= (2 ×�’) + 1

�= (2 × 193) + 1 = 387 e. Tentukan nilai e

�=�−1����(�)

�= 387−1��� (1012)

�= 387�(1012 )−1��� (1012)

�= 387440−1��� (1012)

�= 523

f. ������� = (�,�),������� = (��,��,�,�)

������� = (523,1081),������� = (13, 19, 23, 47)

2. Enkripsi RSA-CRT

Rumus untuk mengenkripsi pesan dengan algoritma RSA-CRT sama dengan

sistem RSA pada umumnya yaitu :

Misalkan yang akan dienkripsi adalah bilangan 65

�= �� ����

�= 65523 ��� 1081

�= 849

3. Dekripsi RSA-CRT

Rumus untuk dekripsi RSA-CRT adalah seperti berikut :

a. �� = ��� ����

�� = 84913 ��� 23

�� = 19

b. � = ��� ����

�� = 84919 ��� 47 �� = 18

�= 23 × 47 = 1081

�1 = 1081/23 = 47

�2 = 1981/47 = 23

(14)

�2−1 = 23−1��� 47 = 2345��� 47 = 45

�= (19 × 471 + 18 × 23 × 45)��� 1081

�= (893 + 1860)��� 1081

�= (19523) ��� 1081

�= 65

Maka diperoleh plainteks M = 65

2.8. Kompresi

Istilah kompresi diterjemahkan dari kata bahasa Inggris "compression" yang berarti

pemampatan. Kompresi data berarti proses untuk memampatkan data agar ukurannya

menjadi lebih kecil. Pemampatan ukuran berkas melalui proses kompresi hanya

diperlukan sewaktu berkas tersebut akan disimpan dan atau dikirim melalui media

transmisi atau media telekomunikasi (Kurniawan, 2004).

Kompresi data adalah seni atau ilmu yang merepresentasikan informasi dalam

bentuk compact (ringkas/padat). Bentuk padat tersebut direpresentasikan dengan

mengidentifikasi dan menggunakan struktur yang ada dalam data. Data dapat berupa

karakter dalam sebuah file teks, jumlah gelombang suara atau gambar, ataupun yang

dihasilkan oleh proses lainnya. Alasan dibutuhkannya kompresi data adalah semakin

banyak informasi yang dihasilkan dan digunakan dalam bentuk digital. Dan jumlah

byte yang diperlukan untuk mewakili data multimedia bisa sangat besar. Sebagai

contoh, untuk mewakili 1 detik dari video digital tanpa kompresi (menggunakan

format CCIR 601), kita perlu lebih dari 20 megabyte, atau 160 megabit. Jika kita

mempertimbangkan jumlah detik dalam sebuah film, kita dapat dengan mudah melihat

mengapa kita perlu kompresi (Sayood, 2006).

2.8.1.Teknik Kompresi Data

Teknik kompresi data dapat dibagi atas dua bagian yaitu lossy compression dan

lossless compression.

1. Lossless Compression

Metode kompresi lossless tidak melibatkan kehilangan informasi. Jika data

terkompresi secara lossless data asli dapat dipulihkan seperti sebelum dikompresi.

Kompresi lossless umumnya digunakan untuk aplikasi yang tidak mentolerir adanya

(15)

Biasanya metode kompresi lossless digunakan untuk mengkompresi file teks,

terutama file yang berisi program komputer (Salomon, 2007).

2. Lossy Compression

Metode kompresi Lossy mengakibatkan berkurangnya beberapa informasi. Saat data

terkompresi di dekompresi, hasilnya tidak akan identik dengan data asli. Metode ini

cocok digunakan untuk mengkompresi file gambar, video ataupun suara. Karena jika

data yang hilang sedikit, kita mungkin tidak bisa membedakannya (Salomon, 2007).

Pada umumnya data hasil kompresi lossy memiliki rasio kompresi yang lebih

besar jika dibandingkan dengan kompresi lossless (Sayood, 2006).

2.8.2.Performa Kompresi

Ada beberapa parameter yang bisa digunakan untuk mengukur kinerja proses

kompresi, dan dalam penelitian ini penulis akan membahas dua parameter yang

mewakilinya, yaitu :

1. Compression Ratio ()

Compression Ratio () adalah persentasi data terkompresi dibandingkan dengan data

asli sebelum dikompresi.

�� = ����������������������������

Misalkan diperoleh nilai �� 0,6 itu berarti data yang terkompres besarnya adalah

60% dari data asli atau dapat pula dikatakan perbandingan antara data terkompresi

dengan data asli adalah 0,6 : 1. Nilai �� yang lebih besar dari 1 mengindikasikan hasil

kompresi yang lebih besar dibandingkan data asli, hal ini disebut negative

compression. Compression Ratio () dapat disebut juga bpb (bit per bit).

2. Space Saving (��)

Space saving adalah besarnya data/storage yang telah dihemat setelah dilakukan

proses kompresi terhadap suatu file.

�� = 100 × (1− ����������������)

Misalkan diperoleh nilai Ss = 60, berarti banyaknya data yang berhasil dihemat

(16)

2.9. Algoritma Alternate Unary Code

Unary code dari bilangan bulat positif n adalah � −1 bit 1 diikuti dengan satu

buah angka bit 0, atau reversenya adalah � −1 bit 0 diikuti dengan satu buah bit 1.

Panjang unary code untuk integer n adalah n bit. Dua kolom disebelah kanan Tabel

2.1. menunjukkan bagaimana unary code dapat di diperpanjang untuk meng-encode

bilangan bulat non-negatif (dengan membuat 1 bit lebih panjang). Bentuk alternate

unary code dapat dilihat dalam Tabel. 2.1. kolom ketiga (Salomon, 2007).

Unary Code dapat dibedakan menjadi beberapa kategori yaitu Unary code biasa,

Reverse Unary Code, Alternate Unary Code dan Alternate Reverse Unary Code.

Pembagian tersebut dapat dilihat pada tabel 2.1.

Tabel 2.1. Pembagian Unary Code (Salomon, 2007)

n Code Reverse Alt. Code Alt. Reverse

Berdasarkan Tabel 2.1. dapat dilihat bahwa Alternate Unary Code dari bilangan

positif n adalah n buah bit 1 diikuti dengan satu buah bit 0. Jadi jika n = 1 maka Alt.

Codenya adalah 0, jika n = 2 Alt. Codenya adalah 10, jika n = 3 Alt. Codenya adalah

110 dan begitu seterusnya.

2.10. Penelitian Terkait

Terdapat bebrapa penelitian yang berhubungan dengan yang dilakukan penulis,

diantaranya adalah sebagai berikut :

1. Penelitian yang dilakukan oleh Hari Rahman Nihe (2015) dengan judul

“Implementasi Algoritma Affine Cipher dan Algoritma Advanced Encryption

Standard pada Aplikasi Short Message Service (SMS) Berbasis Android”.

Penelitian ini menmbahas pengamanan pesan dengan menggunakan algoritma

(17)

nilai karakter setelah dienkripsi akan semakin besar dan akan kembali ke semula

setelah didekripsi.

2. Penelitian yang dilakukan oleh Nilam Amalia Pusparani (2009) dengan judul

“Analisis RSA dengan Penambahan Chinese Remainder Theorem untuk

Mempercepat Proses Dekripsi”. Penelitian ini membahas tentang kinerja

algoritma RSA dari segi kecepatan dan keamanannya serta membandingkannya

dengan algoritma RSA-CRT. Berdasarkan penelitian tersebut ditarik kesimpulan

bahwa kedua algoritma tersebut memiliki kompleksitas yang sama untuk

pembangkitan kunci dan proses enkripsinya yaitu O((lg n)3). Tetapi pada proses

pembangkitan kunci RSA-CRT terdapat bagian yang memiliki kompleksitas

O(lg(n/2))2). Kompleksitas dekripsi RSA adalah O((lg n)3), sedangkan RSA-CRT

O(lg(n/2))3). Waktu dekripsi rata-rata RSA-CRT lebih cepat daripada RSA.

3. Penelitian yang dilakukan oleh Muhammad Solihin (2013) dengan judul

“Perancangan Sistem Pengamanan dan Kompresi Data Teks dengan Fibonacci

Encoding dan Algoritma Shannon Fano serta Algoritma Deflate”. Penelitian ini

membahas tentang perancangan aplikasi yang mampu mengamankan serta

mengkompresi data teks. Pertama teks dienkripsi dengan Fibonacci Encoding,

kemudian hasilnya di kompresi dengan algoritma Shannon Fano dan hasilnya

dikompresi lagi dengan algoritma Deflate. Kesimpulan yang diperoleh dari

penelitian ini adalah rasio kompresi rata-rata file doc adalah 43,653% dan rasio

kompresi rata-rata file txt adalah 78,444%. Waktu kompresi rata-rata file doc

adalah 5328,2 milisecond dan waktu kompresi rata-rata file txt adalah 15837,5

Gambar

Gambar 2.1. Proses Enkripsi Konvensional
Gambar 2.2. Proses Enkripsi Kunic Publik
Gambar 2.4. Kriptografi Hibrida Affine Cipher dan RSA-CRT
Gambar 2.5. Proses Algoritma Euclid
+2

Referensi

Dokumen terkait

Pada penelitian ini, penulis menggunakan Hill cipher sebagai salah satu algoritma kriptografi simetris yang digunakan untuk mengamankan citra digital dimana matriks

Masalah yang diselesaikan dalam penulisan ini antara lain adalah menerapkan algoritma hybrid affine cipher dan RSA yang digunakan untuk pengamanan data dalam

Dalam penelitian ini penulis mengkombinasi algoritma kriptografi Playfair Cipher dengan algoritma kompresi Run Length Encoding, serta menganalisa kedua algoritma

Pada penelitian ini proses enkripsi dan dekripsi pesan menggunakan algoritma simetri yaitu affine cipher dengan metode matriks menggunakan kunci sesi, sedangkan untuk mengamankan

- Pada penelitian sebelumnya telah dilakukan penelitian untuk keamanan data dengan kriptografi yang berjudul Implementasi Algoritma Affine Cipher dan Algoritma

Algoritma kriptografi klasik yang akan digunakan untuk proses penyandian data ini adalah Zig-zag Cipher dan algoritma modern yang akan digunakan adalah RC4 +.. Zig-zag Cipher

Dari pemaparan di atas, maka dilakukan penelitian dengan judul “ Implementasi Algoritma Kriptografi Hill Cipher dan Kompresi Data Menggunakan Algoritma

Pada penelitian ini dilakukan modifikasi kriptografi klasik menggunakan algoritma Vigenere cipher yang diperkuat oleh Affine cipher dan Caesar cipher yang diharapkan dapat meningkatkan