Kriptografi .1 Definisi Kriptografi Sistem Kriptografi Kriptografi membentuk sebuah sistem yang dinamakan sistem

BAB II LANDASAN TEORI

2.1 Kriptografi 2.1.1 Definisi Kriptografi Secara etimologi, kata kriptografi berasal dari bahasa Yunani, yaitu: kryptos berarti rahasia dan graphein berarti tulisan [18]. Sedangkan secara terminologi, kriptografi adalah ilmu dan seni untuk menjaga kerahasiaan pesan dengan cara menyandikannya ke dalam bentuk yang tidak dapat dipahami maknanya sehingga tidak dapat dibaca oleh orang yang tidak berkepentingan. Dalam kriptografi, setiap orang dimungkinkan untuk bebas memilih metode untuk merahasiakan pesan. Metode tersebut berbeda-beda unik untuk setiap pelaku kriptografi sehingga penulisan pesan rahasia mempunyai estetika tersendiri. Estetika penulisan pesan rahasia ini menjadikan kriptografi sebagai sebuah seni. Pada perkembangan selanjutnya, kriptografi dikenal sebagai disiplin ilmu yang menggunakan teknik matematika untuk keamanan informasi, seperti privasi dan autentikasi. 2.1.2 Tujuan Kriptografi Kriptografi bertujuan untuk memberikan layanan keamanan [15] sebagai berikut: 1. Autentikasi Authentication Autentikasi memberikan kepastian terhadap identitas setiap entitas yang terlibat dan sumber sebuah data. 2. Kerahasiaan Confidentiality Data yang ditransmisikan diproteksi terhadap pengungkapan oleh pihak-pihak yang tidak berwenang. 3. Keutuhan Data Data Integrity Data yang diterima oleh penerima dipastikan adalah sama dengan data yang dikirim oleh pengirim. Universitas Sumatera Utara 4. Nirpenyangkalan Non-Repudiation Setiap entitas yang berkomunikasi tidak dapat menolak atau menyangkal atas data yang telah dikirim atau diterima.

2.2 Sistem Kriptografi Kriptografi membentuk sebuah sistem yang dinamakan sistem

kriptograficryptosystem. Cryptosystem adalah lima tuple P, C, K, E, D, dimana P adalah plaintext,C adalah ciphertext, K adalah himpunan kunci-kunci, E adalah himpunan fungsi enkripsi dan D adalah himpunan fungsi dekripsi [16].Berdasarkan prinsip kerjanya, sistem kriptografi terbagi dua, yaitu sistem kriptografi klasik simetris dan modern asimetris [1]. 2.2.1 Sistem Kriptografi Klasik Simetris Kriptografi klasik umumnya merupakan teknik penyandian dengan kunci simetris dan pesan disembunyikan sehingga tidak memiliki arti dengan metode substitusi danatau transposisi. Terdapat lima komponen utama dalam sistem kriptografi klasik, yaitu: 1. Plaintext Teks asli dapat berupa pesan atau data sebagai input algoritma enkripsi. 2. Kunci Rahasia Kunci rahasia sebagai penentu output dari algoritma enkripsi. Antar entitas harus saling mengetahui kunci ini agar dapat melakukan enkripsidekripsi pesan. 3. Ciphertext Hasil dari proses algoritma enkripsi di mana teks asli dianggap telah tersembunyi tidak memiliki arti. 4. Algoritma Enkripsi Algoritma enkripsi mengubah teks asli menjadi ciphertext dengan parameter masukan, yaitu teks asli dan kunci rahasia. 5. Algoritma Dekripsi Algoritma dekripsi mengubahciphertext menjadi teks asli dengan parameter masukan, yaitu ciphertext dan kunci rahasia. Berdasarkan skema pada gambar 2.1, kriptografi simetris menggunakan kunci tunggal yang mengharuskan pengirim dan penerima menyetujui dan mengetahui Universitas Sumatera Utara satu kunci rahasia tertentu sebelum mereka dapat berkomunikasi dengan aman. Keamanan kriptografi simetris ini terletak pada kerahasiaan kuncinya [7]. Semua algoritma kriptografi klasik termasuk dalam algoritma simetri. Contohnya, DES, Tripel-DES, AES, RC2, RC4 dan sebagainya. A Teks Asli B Kunci Rahasia Ciphertext Teks Asli : Jalur Rahasia Algoritma Enkripsi Algoritma Dekripsi Gambar 2.1 Skema Sistem Kriptografi Klasik 2.2.2 Sistem Kriptografi Modern Asimetris Sistem kriptografi modern juga disebut kriptografi kunci asimetris, memiliki dua jenis kunci, yaitu kunci enkripsi dan kunci dekripsi yang berbeda. Kunci enkripsi dimiliki oleh pengirim dan kunci dekripsi dimiliki oleh penerima pesan. Dalam kriptografi kunci asimetris, hampir semua algoritma kriptografinya menggunakan konsep kunci publik, seperti RSA, El-Gamal, dan sebagainya. Kecuali algoritma Pohlig ˗Hellman karena kunci enkripsi maupun kunci dekripsinya bersifat privat. 2.2.3 Sistem Kriptografi Kunci Publik Sistem kunci kriptografi kunci publik merupakan bagian dari sistem kriptografi modern. Pada kriptografi kunci publik terdapat dua jenis kunci, kunci pertama ialah kunci tidak rahasia, yaitu kunci enkripsi K e yang disebut kunci publik K publik . Kunci kedua ialah kunci dekripsi K d bersifat rahasia K privat yang ditunjukkan pada gambar 2.2. Berikut algoritma sistem kriptografi kunci publik [5]: K publik , K privat  PembangkitKunci …B Ciphertext  EnkripsiK publik , Plaintext …A Plaintext  DekripsiK publik , Ciphertext …B Universitas Sumatera Utara A Teks Asli B K publik B Ciphertext Teks Asli K privat B Algoritma Enkripsi Algoritma Dekripsi Pembangkit Kunci Gambar 2.2 Skema Sistem Kriptografi Kunci Publik 2.3 Teori BilanganInteger Teori bilangan integer ℤ memiliki peran yang sangat besar dalam kriptografi pada umumnya serta merupakan pondasi bagi sistem kriptografi kunci publik. Misalnya, kekuatan sistem kriptografi RSA yang terletak pada sulitnya faktorisasi bilangan komposit merupakan bagian dari teori bilanganinteger. 2.3.1 Faktor Persekutuan Terbesar Greatest Common Divisor Faktor persekutuan terbesar adalah elemen terbesar pada himpunan divisor dua bilangan integer. Misalnya, divisor 16 = { 1, 2, 4, 8, 16 } dan divisor 24 = { 1, 2, 3, 4, 6, 8, 12, 24 }, maka himpunan divisor kedua bilangan tersebut ialah { 1, 2, 4, 8 } dan yang terbesar ialah 8. Dengan kata lain, faktor persekutuan terbesar 16 dan 24 dapat dinotasikan sebagai gcd16, 24 = 8. Apabila ada dua bilangan integer m dan n memiliki gcdm, n = 1, maka bilangan m dan n dapat disebut relatif prima. 2.3.2Algoritma Euclid dan Extended Euclid Salah satu cara untuk menentukan gcd dua bilangan integer a dan b ialah dengan menggunakan algoritma Euclid. Walaupun algoritma ini dijelaskan dalam buku Euclid yang berjudulElements, para sejarawan meyakini algoritma ini tidak ditemukan oleh Euclid, melainkan telah ada 200 tahun lebih dahulu dari Elements [18]. Algoritma Euclid merupakan algoritma rekursif yang terdapat dua kasus: I: b = 0 ����, 0 = � II: b ≠ 0 ����, � = ����, � ��� � Universitas Sumatera Utara Algoritma Euclid dikembangkan menjadi kombinasi linear oleh dengan koefisien integer a dan bdengan dua bilangan integer s dan t sehingga memenuhi persamaan: � × � + � × � = ����, � Persamaan tersebut merupakan teorema Bézout yang kemudian disebut algoritma Extended Euclid [16].Berikut pseudocode algoritma Extended Euclid. extEuclidaa, bb: 1. lastremainder, remainder = absaa, absbb 2. x, lastx, y, lasty = 0, 1, 1, 0 3. while remainder: 4. lastremainder, quotient, remainder = 5. remainder, divmodlastremainder, remainder 6. x, lastx = lastx - quotientx, x 7. y, lasty = lasty - quotienty, y 8. return lastremainder, lastx -1 if aa 0 else 1, 9. lasty -1 if bb 0 else 1 2.3.3 Invers Modulo Bilangan n disebut modulo apabila m mod n = r dan ada k, sehingga: � × � + � = � Sedangkan � −1 adalah invers modulo dari � ��� �, apabila: � −1 ∙ � ≡ 1��� � ���� � memiliki invers modulo jika dan hanya jika m dan n relatif prima. Salah satu cara untuk menemukan invers ���� � ialah dengan menggunakan algoritma Extended Euclid sehingga memenuhi � × � + � × � = ����, � [17]. Karena ����, � = 1 dan � × � ≡ 0 ��� �, maka persamaan tersebut menjadi � × � = 1 atau � × � ≡ 1 ��� � sehingga � = � −1 . 2.3.4 �˗Euler �˗Euler atau ditulis�� adalah fungsi yang mengembalikan jumlah bilangan integer a dalam � � dan a relatif prima dengan n relatif prima jika gcda, n = 1 [16]. Hasil �� untuk empat kasus dasar adalah: 1. �1 = 0. 2. �� = � − 1apabila � ∈ bilangan prima. 3. �� × � = �� × �� apabila ����, � = 1. 4. �� � = � � − � �−1 apabila � ∈ bilangan prima. Universitas Sumatera Utara 2.3.5 Eksponensial Modulo Salah satu operasi modulo yang sering digunakan dalam sistem kriptografi adalah eksponensial. Pada sistem kriptografi RSA, proses enkripsi dan dekripsinya memakai operasi eksponensial modulo. Operasi eksponensial modulo dinotasikan sebagai � � ��� �. Salah satu implementasi penghitungan eksponensial modulo adalah algoritma Square and Multiply.Algoritma Square and Multiply mengasumsikan eksponen y dalam bentuk biner sehingga � = � � � 2 � �−1 �=0 dengan l adalah panjang y dalam biner, x i bernilai0 atau 1 untuk 0 ≤ i ≤ l ˗ 1 [17]. Berikut pseudocode algoritma Square and Multiply. ModExx, y, n: 1. y = 1 2.for i = l – 1 downto 0: 3. y = y y mod n 4. if x i == 1: 5. y = y a mod n 6. return y 2.4 Sistem Kriptografi RSA Salah satu algoritma kriptografi kunci publik ialah RSA yang dipublikasikan pada tahun 1977 [11]. RSA dibangun oleh fungsi eksponensial modulo yang terdiri dari tiga proses utama, yaitu: pembangkitan kunci, enkripsi, dan dekripsi. 2.4.1 Pembangkitan Kunci RSA Pemilik kunci harus membangkitkan kunci publik dan privat untuk dapat menggunakan RSA. Kedua kunci ini membutuhkan dua bilangan prima besar agar sulit untuk difaktorisasi. Berikut variabel-variabel yang dibutuhkan untuk RSA: p, qbilangan prima acak besar n p · q, sehingga ϕn p – 1· q – 1 Universitas Sumatera Utara e kunci enkripsi: bilangan acak dalam rentang 1 e ϕn, dengan syarat gcde, ϕn = 1 d kunci dekripsi:e -1 mod ϕn K publik = e, n K privat = d P = plain text C = cipher text 2.4.2 Enkripsi RSA Proses enkripsi RSA menggunakan kunci publik yang telah dibangkitkan sebelumnya. Enkripsi pada RSA menggunakan fungsi eksponensial modulokunci enkripsi e berikut: K publik = e, n C P e mod n 2.4.3 Dekripsi RSA Untuk mengembalikan cipher text menjadi plain text, dekripsi RSA juga berupa fungsi eksponensial modulon dengan menggunakan kunci privat. Berikutproses dekripsi RSA: K publik = e, n K privat = d P C d mod n

2.5 Sistem Kriptografi Multiple-Key RSA