• Tidak ada hasil yang ditemukan

BAB II TINJAUAN PUSTAKA - Implementasi Algoritma Affine Cipher dan Algoritma Advanced Encryption Standard (AES) pada Aplikasi Short Message Service (SMS) Berbasis Android

N/A
N/A
Protected

Academic year: 2019

Membagikan "BAB II TINJAUAN PUSTAKA - Implementasi Algoritma Affine Cipher dan Algoritma Advanced Encryption Standard (AES) pada Aplikasi Short Message Service (SMS) Berbasis Android"

Copied!
18
0
0

Teks penuh

(1)

BAB II

TINJAUAN PUSTAKA

Bab II ini berisi tentang pembahasan teori-teori tentang Kriptografi algoritma

Affine Cipher dan Advanced Encrytpion Standard

2.1. Kriptografi

Kata Cryptography berasal dari bahasa Yunani yang terdiri dari dua kata yaitu kryptos yang berarti rahasia dan graphein yang berarti tulisan (Mollin,2007).

Kriptografi adalah ilmu mengenai tekhnik enkripsi dimana data diacak menggunakan suatu kunci enkripsi menjadi sesuatu yang sulit dibaca oleh seseorang yang tidak memiliki kunci dekripsi (Kromodimoeljo, 2010

2.1.1 Terminologi

Ketika seorang pengirim ingin mengirimkan suatu pesan kepada si penerima, dimana si pengirim ingin pesan yang disampaikannya tidak dapat dibaca oleh orang lain yang ingin melakukan penyadapan. Dalam kriptografi pesan asli biasa disebut plaintext dan pesan yang disamarkan disebut ciphertext. Proses menyamarkan pesan sedemikian rupa untuk menyembunyikan substansinya disebut enkripsi. Sebuah pesan yang dienkripsi disebut ciphertext. Proses untuk mengubah ciphertext kembali ke plaintext adalah dekripsi (Mollin,2007).

Pada standar ISO 7498-2 menggunakan istilah encipher untuk proses enkripsi dan decipher untuk proses dekripsi. Skema rangkaian proses enkripsi dan dekripsi ditunjukkan secara umum pada Gambar 2.1 (Schneier, 1996).

(2)

Gambar 2.1. Skema Proses Enkripsi dan Dekripsi(Schneier, 1996)

2.2. Jenis-Jenis Algoritma Kriptografi

Algoritma Kriptografi dibagi tiga berdasarkan kunci yang dipakai, yaitu algoritma simetri (menggunakan satu kunci untuk proses enkripsi dan dekripsi), algoritma asimetri (menggunakan kunci yang berbeda untuk proses enkripsi dan dekripsi), dan fungsi hash (Ariyus, 2008).

Karakteristik kriptografi dibagi dua berdasarkan tipe operasi yang dipakai untuk enkripsi dan dekripsi (teknik substitusi dan teknik permutasi) serta berdasarkan tipe pengolahan pesan (block cipher dan stram cipher) (Sadikin, 2012).

2.2.1. Algoritma Simetris

Algoritma simetris adalah algoritma yang menggunakan kunci enkripsi yang sama dengan kunci dekripsinya (Kromodimoeljo, 2010). Bila mengirim pesan dengan algoritma ini, si penerima pesan harus diberitahu kunci dari pesan tersebut agar bisa mendekripsikan pesan yang dikirim. Keamanan dari pesan yang menggunakan algoritma ini tergantung pada kunci.

Jika kunci tersebut diketahui oleh orang lain maka orang tersebut dapat melakukan enkripsi dan dekripsi pada pesan (Sadikin, 2012). Yang termasuk algoritma kunci simetris adalah OTP, DES, RC2, RC4, RC5, IDEA, Twofish, Magenta, FEAL, SAFER, LOKI, CAST, Rijndael (AES), Blowfish, GOST, A5, Kasumi dan lain-lainnya. Skema kriptografi simetris dapat dilihat pada Gambar 2.2.

Enkripsi Dekripsi

(3)

Gambar2.2. Skema Kriptografi Simetris (Fauzana, 2013)

2.2.2. Algoritma Asimetris

Algoritma asimetris disebut juga dengan kriptografi kunci publik karena algortima ini memiliki kunci yang berbeda untuk enkripsi dan dekripsi, dimana enkripsi menggunakan public key dan untuk dekripsinya menggunakan private key.Public key dan private key harus saling berpasangan secara matematis.Dengan memberikan public key, pembuat kunci berhak memberikan dan mendapatkan

public key agar pesan aman dan hanya bisa dibaca oleh si pembuat kunci.Dalam kriptografi kunci asimetri, hampir semua algoritma kriptografinya menggunakan konsep kunci publik, seperti Rivest-Shamir-Adleman (RSA), El-Gamal, Rabin dan sebagainya (Harahap, 2014). Kecuali algoritma Pohlig˗Hellman karena kunci enkripsi maupun kunci dekripsinya bersifat rahasia.Skema kriptografi asimetris dapat dilihat pada Gambar 2.3.

Gambar 2.3 Kriptografi Asimetris (Wandani, 2012).

2.3. Teori Bilangan

2.3.1. Faktor Persekutuan Terbesar

Faktor persekutuan Terbesar atau Greatest common divisor (GCD) merupakan bilangan bulat terbesar yang merupakan pembagi yang sama dari dua bilangan bulat. Misalkan a dan b adalah 2 (dua) bilangan bulat yang tidak nol. Greatest common divisor (GCD) dari a dan b adalah bilangan bulat terbesar c sedemikian

Algoritma Enkripsi

Algoritma Dekripsi Kunci Rahasia

(4)

sehingga c|a dan c|b. Greatest common divisor (GCD) dari a dan b dapat dinotasikan dengan gcd(a,b) (Munir, 2003).

2.3.2. Euclid

Salah satu cara untuk mendapatkan gcd(a,b) adalah membuat daftar semua factor dari a, membuat daftar semua dari b, dan kemudian mencari factor yang terbesar yang ada dalam kedua daftar. Akan tetapi, untuk bilangan yang sangat besar, membuat daftar factor bukanlah sesuatu yang mudah. Ada cara yang jauh lebih efisien untuk mendapatkan gcd(a,b) yaitu dengan menggunakan algoritma Euclid (Eulidean algorithm), yang seperti halnya dengan Chinese Remainder Theorem merupakan algoritma penting yang berusia lebih dari 2000 tahun (Kromodimoeljo, 2010).

Contoh :

GCD(50,20) adalah : 50 mod 20 = 10 20 mod 10 = 0

Karena telah menghasilkan sisa pembagian sama dengan 0, maka proses berakhir dan didapatlah GCD(50,20) = 20

2.3.3. Algoritma Euclid dan Extended Euclid

Teorema yang digunakan sebagai dasar dari algortima Euclid adalah sebagai berikut:

Jika = qb + r maka gcd( ,b) = gcd(b,r)………….……(8.3.1)

Algoritma Euclid menggunakan rumus diatas secara berulang untuk men-dapatkan gcd, yaitu dengan memperkecil kedua bilangan yang dijadikan patokan untuk gcd setiap kali mengulang, tanpa merubah nilai gcd itu sendiri. Hasil dari komputasi gcd di dapat saat kedua patokan untuk gcd tidak dapat diperkecil lagi.

Untuk melakukan komputasi d = gcd( ,b), pertama dilakukan

(5)

1. Jika = 0 maka d = |b| dan jika b = 0 maka d = | | (gcd tidak dapat

Chinese Remainder Theorem (CRT) ditemukan oleh seorang matematikawan Cina bernama Sun-Tsu (juga disebut Sun Tse) sekitar 100 A.D (anno domini) atau 100 M (Stallings, 2011). Chinese Remainder Theorem (teorema sisa Cina), dinamai setelah masalah peninggalan Cina yang melibatkan sistem persamaan atau kekongruenan linear, menyatakan bahwa ketika modulus dari sistem kekongruenan linear yang berpasangan relatif prima, ada solusi unik dari sistem modulo produk dari modulus. Berikut ini adalah pertanyaan atau teka-teki Sun-Tsu (Rosen, 2012).

“Ada beberapa hal yang bilangannnya tidak diketahui. Bila dibagi dengan

11, sisanya adalah 2, ketika dibagi oleh 7, sisanya adalah 3, dan ketika dibagi

5, sisanya adalah 2. Berapakah bilangan itu?”

Teka-teki tersebut dapat dituliskan sebagai berikut.

x≡ 2 (mod 11)

x≡ 3 (mod 7)

x≡ 2 (mod 5)

Apa solusi dari sistem kekongruenan berikut ini?

Sebelum menyelesaikan teka-teki tersebut, berikut ini adalah teorema sisa Cina (Chinese Remainder Theorem) (Rosen, 2012).

(6)

xa1 (mod m1),

xa2 (mod m2),

xan (mod mn)

memiliki sebuah solusi unik modulo m = m1m2…mn. (Terdapat solusi x dengan 0 ≤ x < m, dan semua solusi lainnya adalah kongruen modulo m untuk solusi ini).

Solusi dari penyelesaian teka-teki Sun-Tsu tersebut adalah sebagai berikut (Wandani, 2012).

1. Hitung hasil perkalian dari keseluruhan modulus.

M = m1m2…mn M = 11 × 7 × 5 = 385

2. Buat himpunan penyelesaian untuk masing-masing persamaan dari bilangan terkecil hingga hasil perkalian modulus (M).

(7)

237, 242, 247, 252, 257, 262, 267, 272, 277, 282, 287, 292, 297, 302,

307, 312, 317, 322, 327, 332, 342, 347, 352, 357, 362, 367, 372, 377,

382}

3. X merupakan irisan dari keseluruhan himpunan penyelesaian tersebut.

X = x1 ∩ x2 ∩ … ∩ xn X = x1 ∩ x2 ∩ x3 = 332

4. Agar tercapai seluruh bilangan yang memenuhi x, maka dihitung kelipatan persekutuan terkecil (Least Common Multiple) dari ketiga modulus (interval yang memenuhi x).

Berikut ini merupakan rumus untuk mencari LCM dari dua bilangan bulat positif (Rosen, 2012).

ab = GCD(a,b) . LCM(a, b) ………….…… (8.3.2)

Dari persamaan di atas dapat disimpulkan: GCD(11,7,5) = 1 dan LCM(3,5,7) = 385

Sehingga x memenuhi akan bilangan dalam interval 105 dimulai dari 23, yaitu x = 332 ± (k × 385). Atau interval ini dapat dituliskan:

x X ± (k × LCM (m1,m2, …,mn))

Cara yang dapat digunakan untuk menyelesaikan teka-teki Sun-Tsu menurut Rosen (2012) adalah sebagai berikut.

1. Hitung hasil perkalian dari keseluruhan modulus.

M = m1m2…mn M = 11 × 7 × 5 = 385

2. Hitung hasil bagi dari M dengan tiap-tiap modulus.

Mn = M/mn

(8)

xa1M1y1 + a2M2y2 + … + anMnyn

xa1M1y1 + a2M2y2 + a3M3y3 ≡ (2.35.2) + (3.55.6) + (2.77.2)

x≡ 1487 ≡ 332 (mod 385). 2.3.5. Inversi Modulo

Inversi modulo biasanya dilambangkan dengan m-1 yang disebut inversi dari m (m mod n) apabila m-1.m mod n =1

contoh :

Berapa inversi dari 7 (mod 43)…? Jawab :

Jadi , m-1 dari 6 (mod 43) = 6

2.3.6. ɸ -Euler

ɸ-Euler adalah fungsi yang mengembalikan jumlah bilangan integer a yang 0 < a < n dan a relatif prima dengan n (a disebut dengan n bila gcd(a,n) = 1). Beberapa hasil fungsi ɸ(n) adalah :

1. ɸ(1) = 0

2. ɸ(p) = p -1 jika p adalah bilangan prima. Sebab semua elemen {1,… , p –1} merupakan prima relative dengan p.

3. ɸ(m.n) = ɸ(m). ɸ(n) jika m merupakan prima relatif dengan n.

4. ɸ(pe) = pe- pe-1dengan p adalah bilangan prima (Sadikin, 2012). Contoh :

Temukan nilai ɸ(6)…? Jawab :

(9)

2.4. Sistem Kriptografi Affine Cipher

Affine cipher adalah perluasan dari Caesar cipher yaitu sistem persandian klasik berbasis substitusi yang sederhana. Enkripsi dan dekripsi pada sistem persandian Caesar menggunakan operasi shift. Operasi Shift adalah mensubtitusi suatu huruf menjadi huruf pada daftar alfabet berada di-k sebelah kanan atau kiri huruf itu. Skema sandi Affine cipher diilustrasikan pada gambar 2.4 (Sadikin, 2012).

p, c ∈Z¬26 K=|(a,b) ∈Z^*26|

Gambar 2.4 Skema Sandi Affine 2.4.1. Enkripsi Affine Cipher

Secara sistematis enkripsi plainteks P lalu menghasilkan C dinyatakan dengan fungsi kongruen :

C≡ mP + b(mod n)

...……….(8.4. 1)

Berdasarkan persamaaan (2), plainteks dapat dihitung sebagai berikut : Plainteks : I L K O M

n = 26, m = 5, b = 2

(10)

M = 12.5 + 2 = 62 (mod 26) = 10  K Cipherteks : P F A U K

2.4.2. Dekripsi Affine Cipher

Dalam melakukan dekripsi diperlukan m-1, jika syarat terpenuhi maka dekripsi dilakukan dengan persamaan :

P≡ m-1 (C - b ) (mod n) ……….(8.4.2)

Berdasarkan persamaan (3), Cipherteks dapat dikembalikan sebagai berikut : Cipherteks : P F A U K

n = 26, m = 5, b = 2, m-1 = 21 P = 21(16 – 2)(mod 26) = 8  I F = 21(5 – 2)(mod 26) = 11L A = 21(0 – 2)(mod 26) = 10K U = 21(20 – 2)(mod 26)= 14O K = 21(10-2)(mod 26)= 12M

2.5. Sistem Kriptografi Advanced Encryption Standard (AES)

Pada tahun 90-an, setelah beberapa tahun standar penyandian simetris dianggap tidak lagi aman, lembaga standar Amerika Serikat NIST (National Institute of Standards and Technology) membuat sayembara untuk menggantikan DES dengan sebuah sistem penyandian yang disebut Advanced encryption Standard

pada tanggal 12 September 1997.

Setelah beberapa seleksi, NIST memilih sistem penyadian Rijndael yang dikembangkan oleh Joan Daemen dan Vincent Rijment sebagai sistem penyandian AES pada tahun 2000. Pemilihan Rijndael berdasarkan pada kriteria :

1. Keamanan. Sistem penyandian harus tahan terhadap serangan analisis sandi

(11)

2. Biaya. Sistem penyandian harus memiliki biaya komputasi dan memori yang efisien sehingga dapat diimplementasikan secara perangkat keras maupun perangkat lunak.

3. Karakteristik algoritma dan implementasi. Sistem penyandian harus bersifat terbuka, fleksibel, dan sederhana (Sadikin, 2012).

2.5.1. Enkripsi AES

Jumlah putaran (Nr) tergantung pada besar kunci yang digunakan. Tabel 2.1 menunjukkan jumlah putaran (Nr) untuk kunci sebesar 128 bit, 192 bit dan 256 bit. Jadi untuk kunci sebesar 128 bit, besar kunci (Nk) adalah 4 word (setiap word mempunyai 32 bit), besar blok (Nb) adalah 4 word, dan jumlah putaran (Nr) adalah 10 (Kromodimoeljo, 2010).

Tabel 2.1 Tabel Jumlah Putaran

Dari tabel 2.1 AES-128 bit menggunakan panjang kunci Nk = 4 word (kata) yang setiap katanya terdiri dari 32 bit sehingga total kunci 128 bit, ukuran blok teks-asli 128 bit den memiliki 10 putaran. Sedangkan putaran untuk kunci terdiri dari Ki = 4 kata dan total putaran kunci 128 bit dan kunci yang diperluas mempunyai ukuran 44 kata dan 176 byte (Ariyus, 2008).

(12)

Gambar 2.5 Sturktur enkripsi AES

(13)

Gambar 2.6 Operasi Transformasi Substitusi Byte dengan Kotak-S

(14)

Gambar 2.7 Operasi Transformasi Shiftrow

3. Transformasi Pencampuran kolom: operasi ini beroperasi pada state kolom, dengan memperlakukan setiap kolom sebagai polynomial. Kolom dianggap sebagai polonomial pada GF (28) (Ariyus, 2008). Tranformasi pencampuran kolom dapat digambarkan dengan perkalian matriks seperti gambar 2.8 :

Gambar 2.8 Operasi Tranformasi MixColomns

(15)

Gambar 2.9 Tranformasi Penambahan Kunci dengan Operasi XOR

Matriks yang pertama adalah state dan yang kedua adalah merupakan perputaran kunci. Inversi dari transformasi perputaran kunci menambah perputaran kunci karena adanya operasi XOR. Setiap penambahan kunci memberikan efek untuk setiap bit state. Kompleksitas dari penambahan kunci membuat algoritma AES lebih aman dari yang lain (Ariyus, 2008).

2.5.2. Dekripsi AES

Secara ringkas dekripsi AES merupakan kebalikan enkripsi. Dekripsi AES menggunakan transformasi invers semua tansformasi dasar yang digunakan pada enkripsi AES. Setiap transformasi dasar AES memiliki transformasi invers, yaitu :

(16)

Gambar 3.10 Sturktur dekripsi AES

2.5.3. Ekspansi Kunci AES

Algoritma AES melaksanakan kunci-kode dan membuat suatu kunci ekspansi untuk menghasilkan suatu kunci skedul. Kunci ekspansi yang diperlukan AES Nb(Nr+1) kata sehingga bisa digunakan AES 128 bit sehingga 4(10+1)= 40 kata = 44 x 32 bit = 1408 bit kunci. Ekspansi dari 128 bit menjadi 1408 bit upa-kunci. Proses ini disebut dengan kunci skedul. Upa-kunci ini siperlukan karena setiap putaran merupakan suatu inisial dari Nb kata untuk Nr = 0 dan 2 Nb untuk Nr = 1,3 Nb untukNr = 2,…, 11 Nb untuk Nr = 10. Dari Operasi ini didapatkan kunci skedul yang berisi larik linier empat byte kata (wi), 0=i Nb (Nr + 1). Tahap dari kunci ekspansi seperti berikut ini :

(17)

2. Subword () mengambil masukan empat byte kata dan menggunakan Kotak-S sehingga di dapat empat byte prosedur keluaran kata.

3. Rcon () menghasilkan putaran yang tetap dari larik kata dan berisi nilai yang diberikan oleh [[xi-1, {00}, {00}, {00}] dengan xi-1 dari i ke 1.

Rcon [i] adalah suatu komponen dari putaran tetap larik kata dalam perhitungan kunci ekspansi routine (Ariyus, 2008).

2.6. Android

(18)

One. Fenomena ini tentu mengakibatkan kita sebagai konsumen memliki banyak pilihan dalam menggunakan ponsel bersistem operasi Android. Tidak sama dengan iPhone yang bentuk persis untuk setiap seri atau Blacberry yang jumlahnya terbatas, ponsel berbasis Android memilik banyak bentuk dan merek (Jubille, 2010).

Sejak April 2009, versi Android dikembangkan dengan nama kode yang dinamai berdasarkan makanan pencuci mulut dan penganan manis. Masing-masing versi dirilis sesuai urutan alfabet, yakni Cupcake (1.5), Donut (1.6), Eclair (2.0–2.1), Froyo (2.2–2.2.3), Gingerbread (2.3–2.3.7), Honeycomb (3.0–3.2.6), Ice Cream Sandwich (4.0–4.0.4), Jelly Bean (4.1–4.3), dan KitKat (4.4+).

2.7. Penelitian yang Relevan

Berikut ini beberapa penelitian tentang kriptografi yang berkaitan dengan Algoritma Afffine Cipher dan Advanced Encryption Standard (AES) :

No Nama/Tahun Judul Hasil Penelitian

Gambar

Gambar 2.1. Skema Proses Enkripsi dan Dekripsi(Schneier, 1996)
Gambar 2.3 Kriptografi Asimetris (Wandani, 2012).
Gambar 2.4 Skema Sandi  Affine
Tabel 2.1 Tabel Jumlah Putaran
+4

Referensi

Dokumen terkait

Hasil dari analisis regresi linier sederhana dalam penelitian ini yaitu sebesar 0,885 satuan, yang artinya bahwa terdapat pengaruh Advertising terhadap Brand

Sejak beberapa tahun terakhir, penulisan referensi R dalam bentuk buku teks berbahasa Inggris mulai digalakkan oleh beberapa penerbit terkenal diantaranya Chapmann

Batuan piroklastik merupakan batuan hasil erupsi gunung berapi yang membawa material vulkanik yang bertekstur klastik yang dihasilkan oleh serangkaian

ROM terdiri dari fleksi dan ekstensi siku, pronasi dan supinasi lengan bawah, fleksi bahu, adduksi, dan abduksi bahu, rotasi bahu, ekstensi jari jari tangan, inversi dan iversi

Landasan pendidikan NU ini berikutnya diturunkan menjadi Anggaran Dasar NU sebagaimana terdapat pada Pasal IX Anggaran Dasar NU sebagai berikut “Di bidang pendidikan, pengajaran

Bagi aliran Essensialime sendiri, tujuan dari pendidikan itu sangat jelas dituangkan dalam kurikulum, yaitu untuk membina peradaban bagi manusia itu sendiri, untuk

• Bila subclass yang diturunkan dari abstract y g class tidak mengimplementasikan isi semua method abstrak parent class, maka subclass tersebut harus tetap dideklarasikan abstract..

[r]