BAB 2 LANDASAN TEORI. 2.1 Kriptografi

dokumen-dokumen yang mirip
BAB II LANDASAN TEORI

Teori Bilangan (Number Theory)

BAB 2 LANDASAN TEORI

Aplikasi Teori Bilangan dalam Algoritma Kriptografi

BAB 2 LANDASAN TEORI. Berikut ini akan dijelaskan pengertian, tujuan dan jenis kriptografi.

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI

PERANAN ARITMETIKA MODULO DAN BILANGAN PRIMA PADA ALGORITMA KRIPTOGRAFI RSA (Rivest-Shamir-Adleman)

BAB 2 LANDASAN TEORI. Universitas Sumatera Utara

BAB II LANDASAN TEORI. yang mendasari pembahasan pada bab-bab berikutnya. Beberapa definisi yang

MODUL PERKULIAHAN EDISI 1 MATEMATIKA DISKRIT

Bab 2: Kriptografi. Landasan Matematika. Fungsi

Bab 2 Tinjauan Pustaka 2.1 Penelitian Terdahulu

BAB 2 LANDASAN TEORI

BAB I PENDAHULUAN. diperhatikan, yaitu : kerahasiaan, integritas data, autentikasi dan non repudiasi.

BAB 2 TINJAUAN PUSTAKA

BAB 2 TINJAUAN TEORETIS

BAB II DASAR TEORI. membahas tentang penerapan skema tanda tangan Schnorr pada pembuatan tanda

BAB 2 LANDASAN TEORI. 2.1 Kriptografi Berikut ini akan dijelaskan sejarah, pengertian, tujuan, dan jenis kriptografi.

BAB II TINJAUAN PUSTAKA. Kriptografi (cryptography) berasal dari Bahasa Yunani: cryptós artinya

DASAR-DASAR KEAMANAN SISTEM INFORMASI Kriptografi, Steganografi. Gentisya Tri Mardiani, S.Kom.,M.Kom

BAB Kriptografi

R. Rosnawati Jurusan Pendidikan Matematika FMIPA UNY

APLIKASI TEORI BILANGAN UNTUK AUTENTIKASI DOKUMEN

BAB II LANDASAN TEORI

BAB II TINJAUAN PUSTAKA

BAB II TINJAUAN PUSTAKA

BAB II TINJAUAN PUSTAKA. Kriptografi adalah ilmu sekaligus seni untuk menjaga keamanan pesan (message).

PENGGUNAAN ALGORITMA KRIPTOGRAFI POHLIG HELLMAN DALAM MENGAMANKAN DATA

BAB II LANDASAN TEORI

PENGGUNAAN KRIPTOGRAFI DAN STEGANOGRAFI BERDASARKAN KEBUTUHAN DAN KARAKTERISTIK KEDUANYA

BAB II LANDASAN TEORI

BAB 2 LANDASAN TEORI. 2.1 Kriptografi

BAB II LANDASAN TEORI. bilangan bulat dan mengandung berbagai masalah terbuka yang dapat dimengerti

DASAR-DASAR KEAMANAN SISTEM INFORMASI Kriptografi, Steganografi. Gentisya Tri Mardiani, S.Kom

BAB II TINJAUAN PUSTAKA

BAB 2 LANDASAN TEORI

ALGORITMA DAN BILANGAN BULAT

PENGGUNAAN KRIPTOGRAFI DAN STEGANOGRAFI BERDASARKAN KEBUTUHAN DAN KARAKTERISTIK KEDUANYA

Perhitungan dan Implementasi Algoritma RSA pada PHP

+ Basic Cryptography

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB 2 LANDASAN TEORI

BAB I PENDAHULUAN 1.1. LATAR BELAKANG

Kriptografi Kunci Rahasia & Kunci Publik

BAB I PENDAHULUAN. mempunyai makna. Dalam kriptografi dikenal dua penyandian, yakni enkripsi

Simulasi Pengamanan File Teks Menggunakan Algoritma Massey-Omura 1 Muhammad Reza, 1 Muhammad Andri Budiman, 1 Dedy Arisandi

BAB 1 PENDAHULUAN. 1.1 Latar Belakang. Seiring perkembangan teknologi, berbagai macam dokumen kini tidak lagi dalam

ANALISA DAN IMPLEMENTASI ALGORITMA TRIANGLE CHAIN PADA PENYANDIAN RECORD DATABASE

BAB 2 LANDASAN TEORI. 2.1 Kriptografi Definisi Kriptografi

BAB 2 TINJAUAN PUSTAKA

Kriptografi, Enkripsi dan Dekripsi. Ana Kurniawati Kemal Ade Sekarwati

BAB II LANDASAN TEORI

BAB I PENDAHULUAN 1.1 LATAR BELAKANG

BAB I PENDAHULUAN 1.1 Latar Belakang

BAB 1 PENDAHULUAN Latar belakang

BAB II TINJAUAN PUSTAKA

BAB 2 LANDASAN TEORI

BAB II LANDASAN TEORI

BAB II TINJAUAN PUSTAKA

BAB II TINJAUAN PUSTAKA

BAB 1 PENDAHULUAN. Universitas Sumatera Utara

BAB 2 LANDASAN TEORI

BAB II TINJAUAN PUSTAKA

Aplikasi Perkalian dan Invers Matriks dalam Kriptografi Hill Cipher

BAB II BAB II TINJAUAN PUSTAKA

BAB II TINJAUAN PUSTAKA

KEAMANAN DATA DENGAN MENGGUNAKAN ALGORITMA RIVEST CODE 4 (RC4) DAN STEGANOGRAFI PADA CITRA DIGITAL

Kongruen Lanjar dan Berbagai Aplikasi dari Kongruen Lanjar

TEORI BILANGAN. Bilangan Bulat Bilangan bulat adalah bilangan yang tidak mempunyai pecahan desimal, misalnya 8, 21, 8765, -34, 0.

I. PENDAHULUAN. Key Words Tanda Tangan Digital, , Steganografi, SHA1, RSA

BAB III PENGERTIAN DAN SEJARAH SINGKAT KRIPTOGRAFI

BAB 3 KRIPTOGRAFI RSA

TUGAS KRIPTOGRAFI Membuat Algortima Sendiri Algoritma Ter-Puter Oleh : Aris Pamungkas STMIK AMIKOM Yogyakarta emali:

BAB III ANALISIS DAN DESAIN SISTEM

Penerapan algoritma RSA dan Rabin dalam Digital Signature

Teori Bilangan. Bahan Kuliah IF2151 Matematika Diskrit. Rinaldi M/IF2151 Mat. Diskrit 1

BAB 2 LANDASAN TEORI

IMPLEMENTASI KRIPTOGRAFI DAN STEGANOGRAFI DENGAN MENGGUNAKAN ALGORITMA RSA DAN MEMAKAI METODE LSB

Penerapan Metode End Of File Pada Steganografi Citra Gambar dengan Memanfaatkan Algoritma Affine Cipher sebagai Keamanan Pesan

Perbandingan Sistem Kriptografi Kunci Publik RSA dan ECC

BAB 2 LANDASAN TEORI

BAB I PENDAHULUAN. Informasi merupakan suatu hal yang sangat penting dalam. kehidupan kita. Seperti dengan adanya teknologi internet semua

1.1 Latar Belakang Sejak zaman dahulu, pentingnya kerahasiaan suatu informasi telah menjadi suatu perhatian tersendiri. Manusia berusaha mencari cara

Gambar 2.1 Egyptian Hieroglyphs

BAB 2 LANDASAN TEORI

BAB II LANDASAN TEORI

Rusmala 1, Islamiyah 2

BAB III ANALISIS DAN PERANCANGAN

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

APLIKASI JAVA KRIPTOGRAFI MENGGUNAKAN ALGORITMA VIGENERE. Abstract

BAB II TINJAUAN PUSTAKA

Keamanan Sistem Informasi. Girindro Pringgo Digdo

BAB I PENDAHULUAN. Universitas Sumatera Utara

BAB I PENDAHULUAN 1.1 Latar Belakang

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB 1 PENDAHULUAN Latar Belakang

Rancang Bangun Kombinasi Chaisar Cipher dan Vigenere Cipher Dalam Pengembangan Algoritma Kriptografi Klasik

Sedangkan berdasarkan besar data yang diolah dalam satu kali proses, maka algoritma kriptografi dapat dibedakan menjadi dua jenis yaitu :

Penerapan Matriks dalam Kriptografi Hill Cipher

Transkripsi:

17 BAB 2 LANDASAN TEORI 2.1 Kriptografi Kriptografi (cryptography) berasal dari Bahasa Yunani: cryptós artinya secret (rahasia), sedangkan gráphein artinya writing (tulisan). Jadi, kriptografi berarti secret writing (tulisan rahasia). Ada beberapa definisi kriptografi yang telah dikemukakan di dalam berbagai literatur. Definisi yang dipakai di dalam buku-buku yang lama (sebelum tahun 1980-an) menyatakan bahwa kriptografi adalah ilmu dan seni untuk menjaga kerahasian pesan dengan cara menyandikannya ke dalam bentuk yang tidak dapat dimengerti lagi maknanya. Definisi ini mungkin cocok pada masa lalu di mana kriptografi digunakan untuk keamanan komunikasi penting seperti komunikasi di kalangan militer,diplomat, dan mata-mata. Namun saat ini kriptografi lebih dari sekadar privacy, tetapi juga untuk tujuan data integrity, authentication, dan non-repudiation(mollin,2006). Selain defenisi di atas, Scheiner (1996) mengemukakan pendapatnya tentang defenisi kriptografi yaitu : ilmu dan seni untuk menjaga keamanan pesan. Penggunaan kata seni di dalam definisi di atas berasal dari fakta sejarah bahwa pada masa-masa awal sejarah kriptografi, setiap orang mungkin mempunyai cara yang unik untuk merahasiakan pesan. Cara-cara unik tersebut mungkin berbeda-beda pada setiap pelaku kriptografi sehingga setiap cara menulis pesan rahasia pesan mempunyai nilai estetika tersendiri sehingga kriptografi berkembang menjadi sebuah seni merahasiakan pesan (kata graphy di dalam cryptography itu sendiri sudah menyiratkan sebuah seni).(mollin, 2006)

18 Pada dasarnya, kriptografi terdiri dari beberapa komponen seperti : 1. Enkripsi : enkripsi sebagai pengamanan atas data yang dikirimkan agar rahasianya terjaga. Pesan asli akan diubah menjadi kode-kode yang tidak dimengerti dengan menggunakan suatu algoritma. 2. Dekripsi : dekripsi merupakan kebalikan dari enkripsi, pesan yang telah dienkripsi dikembalikan ke bentuk asalnya yang disebut dekripsi. Algoritma yang digunakan untuk dekripsi berbeda dengan enkripsi. 3. Kunci : kunci yang dimaksud disini adalah kunci yang dipakai untuk melakukan dekripsi dan enkripsi. Kunci terbagi menjadi dua bagian, kunci pribadi (private key) dan kunci umum (public key). 4. Ciphertext : merupakan suatu pesan yang sudah melalui proses enkripsi. Pesan yang ada pada chipertext tidak bisa dibaca karena berisi karakter-karakter yang tidak memiliki makna. 5. Plaintext : plaintext merupakan pesan asli yang belum disandikan atau informasi yang ingin dikirimkan atau dijaga keamanannya. 6. Pesan : pesan dapat berupa data atau informasi yang dikirim (melalui kurir, saluran komunikasi data, dsb) atau yang disimpan dalam media perekaman (kertas, storage, dsb). 7. Kriptanalasis : merupakan suatu ilmu untuk mendapatkan plainteks tanpa harus mengetahui kunci secara wajar. Algoritma kriptografi selalu terdiri dari dua bagian yaitu fungsi enkripsi dan dekripsi.konsep matematis yang mendasari algoritma kriptografi adalah relasi antara dua buah himpunan yang berisi elemen elemen plainteks dan himpunan yang berisi cipherteks. Enkripsi dan dekripsi merupakan fungsi yang memetakan elemen- elemen antara dua himpunan tersebut. Misalkan P menyatakan plainteks dan C menyatakan cipherteks, maka fungsi enkripsi E memetakan P ke C. E(P) = C Dan fungsi dekripsi D memetakan C ke P D(C) = P

19 Karena proses enkripsi kemudian dekripsi mengembalikan pesan ke pesan semula, maka kesamaan berikut harus benar, D(E(P)) = P Kriptografi mengatasi masalah keamanan data dengan menggunakan kunci, yang dalam hal ini algoritma tidak dirahasiakan lagi, tetapi kunci harus tetap dijaga kerahasiaannya. Kunci (key) adalah parameter yang digunakan untuk transformasi enciphering dan deciphering. Kunci biasanya berupa string atau deretan bilangan. Dengan menggunakan K, maka fungsi enkripsi dan dekripsi dapat ditulis sebagai : EK(P) = C dan DK(C) = P dan kedua fungsi ini memenuhi DK(EK(P)) = P Keterangan : P = plainteks C = cipherteks K = kunci EK = proses enkripsi menggunakan kunci K DK = proses dekripsi menggunakan kunci K Skema enkripsi dengan menggunakan kunci diperlihatkan pada gambar 2.1 dibawah ini : Gambar 2.1 Skema enkripsi dan dekripsi dengan menggunakan kunci

20 2.2 Kunci Simetris dan Asimetris 2.2.1 Kunci Simetris Ini adalah jenis kriptografi yang paling umum dipergunakan. Kunci untuk membuat pesan yang disandikan sama dengan kunci untuk membuka pesan yang disandikan itu. Jadi pembuat pesan dan penerimanya harus memiliki kunci yang sama persis. Siapapun yang memiliki kunci tersebut termasuk pihak-pihak yang tidak diinginkan dapat membuat dan membongkar rahasia ciphertext. Problem yang paling jelas disini terkadang bukanlah masalah pengiriman ciphertext-nya, melainkan masalah bagaimana menyampaikan kunci simetris tersebut kepada pihak yang diinginkan. Contoh algoritma kunci simetris adalah DES (Data Encryption Standard), RC-2, RC- 4, RC-5, RC-6, TwoFish, Rijndael, International Data Encryption Algorithm (IDEA), Advanced Encryption Standard (AES), One Time Pad (OTP), dan lainnya. Gambar 2.2. Kunci simetris Kelebihan kunci simetris: a. Kecepatan operasi lebih tinggi bila dibandingkan dengan algoritma asimetrik. b. Karena kecepatannya yang cukup tinggi, maka dapat digunakan pada sistem real-time Kelemahan kunci simetris: a. Untuk tiap pengiriman pesan dengan pengguna yang berbeda dibutuhkan kunci yang berbeda juga, sehingga akan terjadi kesulitan dalam manajemen kunci tersebut. b. Permasalahan dalam pengiriman kunci itu sendiri yang disebut key distribution problem.

21 2.2.2 Kunci Asimetris Pada pertengahan tahun 70-an Whitfield Diffie dan Martin Hellman menemukan teknik enkripsi asimetris yang merevolusi dunia kriptografi. Kunci asimetris adalah pasangan kunci-kunci kriptografi yang salah satunya dipergunakan untuk proses enkripsi dan yang satu lagi untuk dekripsi. Semua orang yang mendapatkan kunci publik dapat menggunakannya untuk mengenkripsikan suatu pesan, sedangkan hanya satu orang saja yang memiliki rahasia tertentu dalam hal ini kunci privat untuk melakukan pembongkaran terhadap sandi yang dikirim untuknya. Dengan cara seperti ini, jika Anto mengirim pesan untuk Badu, Anto dapat merasa yakin bahwa pesan tersebut hanya dapat dibaca oleh Badu, karena hanya Badu yang bisa melakukan dekripsi dengan kunci privatnya. Tentunya Anto harus memiliki kunci publik Badu untuk melakukan enkripsi. Anto bisa mendapatkannya dari Badu, ataupun dari pihak ketiga seperti Tari. Gambar 2.3. Penggunaan kunci asimetris Teknik enkripsi asimetris ini jauh lebih lambat ketimbang enkripsi dengan kunci simetris. Oleh karena itu, biasanya bukanlah pesan itu sendiri yang disandikan dengan kunci asimetris, namun hanya kunci simetrislah yang disandikan dengan kunci asimetris. Sedangkan pesannya dikirim setelah disandikan dengan kunci simetris tadi. Contoh algoritma yang menggunakan kunci asimetris adalah RSA (merupakan singkatan penemunya yakni Rivest, Shamir dan Adleman), Digital Signature Algorithm (DSA), Protokol Diffie-Hellman, Kriptografi Quantum, ElGamal, dan Pohlig-Hellman. Kelebihan kunci asimetris: a. Masalah keamanan pada distribusi kunci dapat lebih baik b. Masalah manajemen kunci yang lebih baik karena jumlah kunci yang lebih

22 sedikit Kelemahan kunci asimetris: a. Kecepatan yang lebih rendah bila dibandingkan dengan algoritma simetris b. Untuk tingkat keamanan sama, kunci yang digunakan lebih panjang dibandingkan dengan algoritma simetris. 2.3 Tujuan Kriptografi Dari paparan awal dapat dirangkumkan bahwa kriptografi bertujuan untuk memberi layanan keamanan. Yang dinamakan aspek aspek keamanan sebagai berikut : 1. Kerahasiaan (confidentiality) Adalah layanan yang ditujukan untuk menjaga agar pesan tidak dapat dibaca oleh pihak pihak yang tidak berhak. Di dalam kriptografi layanan ini direalisasikan dengan menyandikan plainteks menjadi cipherteks. Misalnya pesan harap datang pukul 8 disandikan menjadi trxc#45motyptre!%. istilah lain yang senada dengan confidentiality adalah secrecy dan privacy. 2. Integritas data (data integrity) Adalah layanan yang menjamin bahwa pesan masih asli/utuh atau belum pernah dimanipulasi selama pengiriman. Dengan kata lain, aspek keamanan ini dapat diungkapkan sebagai pertanyaan: apakah pesan yang diterima masih asli atau tidak mengalami perubahan (modifikasi)?. 3. Otentikasi (authentication) Adalah layanan yang berhubungan dengan identifikasi, baik mengidentifikasi kebenaran pihak pihak yang berkomunikasi ( user autehentication). Dua pihak yang saling berkomunikasi harus dapat mengotentikasi satu sama lain sehingga ia dapat memastikan sumber pesan.

23 4. Nirpenyangkalan (non-repudiation) Adalah layanan untuk menjaga entitas yang berkomunikasi melakukan penyangkalan, yaitu pengirim pesan menyangkal melakukan pengiriman atau penerima pesan menyangkal telah menerima pesan. 2.4 Algoritma Kriptografi Klasik Sebelum komputer ada, kriptografi dilakukan dengan menggunakan pensil dan kertas. Algoritma kriptografi (cipher) yang digunakan saat itu, dinamakan juga algoritma klasik, adalah berbasis karakter, yaitu enkripsi dan dekripsi dilakukan pada setiap karakter pesan. Semua algoritma klasik termasuk ke dalam sistrm kriptografi simetris dan digunakan jauh sebelum kriptografi kunci publik ditemukan. Kriptografi klasik memiliki beberapa ciri : 1. Berbasis karakter 2. Menggunakan pena dan kertas saja, belum ada computer 3. Termasuk ke dalam kriptografi kunci simetris. Tiga alasan mempelajari algoritma klasik : 1. Memahami konsep dasar kriptografi 2. Dasar algoritma kriptografi modern 3. Memahami kelemahan sistem kode. (Ariyus, Dony. 2008) Pada dasarnya, algoritma kriptografi klasik dapat dikelompokkan ke dalam dua macam cipher, yaitu : 1) Cipher substitusi (substitution cipher) Di dalam cipher substitusi setiap unit plainteks diganti dengan satu unit cipherteks. Satu unit di isini berarti satu huruf, pasanga huruf, atau dikelompokkan lebih dari dua huruf. Algoritma substitusi tertua yang diketahui adalah Caesar cipher yang digunakan oleh kaisar Romawi,

24 Julius Caesar (sehingga dinamakan juga casear cipher), untuk mengirimakan pesan yang dikirimkan kepada gubernurnya. 2) Cipher transposisi (transposition cipher) Pada cipher transposisi, huruf-huruf di dalam plainteks tetap saja, hanya saja urutannya diubah. Dengan kata lain algoritma ini melakukan transpose terhadap rangkaian karakter di dalam teks. Nama lain untuk metode ini adalah permutasi atau pengacakan (scrambling) karena transpose setiap karakter di dalam teks sama dengan mempermutasikan karakter-karakter tersebut. (Munir.2006) 2.5 Teori Bilangan Teori bilangan (Number Theory) menurut Kenneth. H. Rosen adalah cabang ilmu matematika yang mempelajari tentang sifat-sifat, hubungan-hubungan dari berbagai macam bilangan. Perkembangan teori bilangan sudah berlangsung sejak beratus-ratus tahun yang lampau hingga sekarang ini dan menghasilkan begitu banyak teori serta pengembangan terhadap teori bilangan ini. Ilmu kriptografi merupakan salah satu bagian dari teori bilangan dimana dalam sistem kriptografi, pesan-pesan, data serta informasi diwakili oleh bilangan tertentu dan dalam memprosesnya menggunakan operasi matematika untuk mentransformasi nilai input menjadi nilai output.beberapa terminology dari Teori Bilangan yang sering digunakan dalam kriptografi adalah : 2.5.1 Keterbagian Suatu bilangan bulat a dikatakan habis dibagi oleh suatu bilangan bulat b 0, jika terdapat satu bilangan bulat x sedemikian sehingga a = bx. Jika hal ini dipenuhi maka b dikatakan membagi a dan dinotasikan dengan b a yang dapat diartikan sebagai

25 b adalah faktor (pembagi) a, atau a adalah kelipatan b. Jika b tidak membagi a dinotasikan dengan b a. Contoh : 3 12 karena 12 3 = 4 (bilangan bulat) atau 12 = 3 4. 3 10 karena 10 3 = 3.33 (bukan bilangan bulat). 5 30 karena 30 5 = 6 (bilangan bulat) atau 30 = 5 6. 5 32 karena 32 5 = 3.2 (bukan bilangan bulat). Teorema Euclidean. Misalkan m dan n adalah dua buah bilangan bulat dengan syarat n > 0. Jika m dibagi dengan n maka terdapat dua buah bilangan bulat unik q (quotient) dan r (remainder), sedemikian sehingga m = nq + r Dengan 0 r < n. Contoh : 1987 dibagi dengan 97 memberikan hasil bagi 20 dan sisa 47: 1987 = 97 20 + 47 22 dibagi dengan 3 memberikan hasil bagi 8 dan sisa 2: 22 = 3( 8) + 2, tetapi 22 = 3( 7) 1 salah karena r = 1 tidak memenuhi syarat 0 r < n. 2.5.2 Pembagi Bersama Terbesar (PBB) Misalkan a dan b adalah dua buah bilangan bulat tidak nol. Pembagi bersama terbesar (PBB greatest common divisor atau gcd) dari a dan b adalah bilangan bulat terbesar d sedemikian sehingga d a dan d b. Dalam hal ini kita nyatakan bahwa PBB(a, b) = d.

26 Contoh : Faktor pembagi 45: 1, 3, 5, 9, 15, 45 ; Faktor pembagi 36: 1, 2, 3, 4, 9, 12, 18, 36 ; Faktor pembagi bersama dari 45 dan 36 adalah 1, 3, 9 PBB(45, 36) = 9. Faktor pembagi 48: 1, 2, 3, 4, 6, 8, 12, 16, 24, 48 ; Faktor pembagi 32: 1, 2, 4, 8, 16, 32; Faktor pembagi bersama dari 48 dan 32 adalah 1, 2, 4, 8, 16 PBB(48, 32) = 16. Teorema 1. Misalkan m dan n adalah dua buah bilangan bulatdengan syarat n>0 sedemikian sehingga m= nq + r, 0 r < n Maka PBB (m,n)=pbb(n,r) Contoh : m = 60, n = 18, 60 = 18 3 + 12 maka PBB(60, 18) = PBB(18, 12) = 6 2.5.3 Bilangan Prima Bilangan bulat positif p (p > 1) disebut bilangan prima jika pembaginya hanya 1 dan p. Contoh: 29 adalah bilangan prima karena ia hanya habis dibagi oleh 1 dan 29. Karena bilangan prima harus lebih besar dari 1, maka barisan bilangan prima dimulai dari 2, yaitu 2, 3, 5, 7, 11, 13,. Seluruh bilangan prima adalah bilangan ganjil, kecuali 2 yang merupakan bilangan genap. Bilangan selain prima disebut bilangan komposit (composite). Misalnya 24 adalah bilangan komposit karena 24 dapat dibagi oleh 2, 3,4, 6, 8, dan 12, selain 1 dan 24 sendiri.

27 2.5.4 Relatif Prima Dua buah bilangan bulat a dan b dikatakan relatif prima jika PBB(a, b) = 1. Contoh: 20 dan 3 relatif prima sebab PBB(20, 3) = 1. 7 dan 11 relatif prima karena PBB(7, 11) = 1. 20 dan 5 tidak relatif prima sebab PBB(20, 5) = 5 1. Jika a dan b relatif prima, maka terdapat bilangan bulat m dan n sedemikian sehingga ma + nb = 1 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. Tetapi 20 dan 5 tidak relatif prima karena PBB(20, 5) = 5 1 sehingga 20 dan 5 tidak dapat dinyatakan dalam m. 20 + n. 5 = 1. 2.5.5 Algoritma Euclidean Algoritma Euclidean adalah algoritma untuk mencari PBB dari dua buah bilangan bulat. Euclid, penemu algoritma Euclidean, adalah seorang matematikawan Yunani yang menuliskan algoritmanya tersebut dalam bukunya yang terkenal, Element. Misalkan m dan n adalah bilangan bulat tak negatif dengan m n. Misalkan r 0 = m dan r 1 = n. Lakukan secara berturut-turut pembagian untuk memperoleh r 0 = r 1 q 1 + r 2 0 r 2 r 1,

28 r 1 = r 2 q 2 + r 3 0 r 3 r 2, r n 2 = r n 1 q n 1 + r n 0 r n r n 1, r n 1 = r n q n + 0 Menurut Teorema 1, PBB(m, n) = PBB(r 0, r 1 ) = PBB(r 1, r 2 ) = = PBB(r n 2, r n 1 ) = PBB(r n 1, r n ) = PBB(r n, 0) = r n Jadi, PBB dari m dan n adalah sisa terakhir yang tidak nol dari runtunan pembagian tersebut. Contoh : m = 28, n = 10, r 0 = m dan r 1 = n. 28 = 10.2 + 8 10 = 8.1 + 2 8 = 2.4 + 0 Jadi, PBB dari 28 dan 10 adalah 2. Karena 2 adalah sisa terakhir yang tidak nol dari runtunan pembagian tersebut. m = 32, n = 20, 32 = 20.1 + 12 20 = 12.1 + 8 12 = 8.1 + 4 8 = 4.2 + 0 Jadi,PBB dari 32 dan 20 adalah 4.

29 2.5.6 Kelipatan Persekutuan Terkecil (KPK) Kelipatan persekutuan terkecil dari dua bilangan bulat tak nol a dan b, dilambangkan KPK(a, b), adalah bilangan positif m yang memenuhi: a m dan b m. Untuk bilangan-bilangan bulat positif a dan b, berlaku PPB(a, b). KPK(a, b) = ab,sehingga KPK( a, b) = ab/ PPB ( a, b ) Contoh : PPB dari ( 45, 36 ) adalah 9. Maka KPK dari (45, 36 ) adalah KPK = (45.36)/PBB (45,36) = 1620 / 9 = 180. Selain dengan menggunakan PBB, cara lain dalam menentukan KPK adalah dengan metode irisan himpunan. Di dalam metode irisan himpunan, pertama kita tentukan himpunan kelipatan-kelipatan positif dari bilangan pertama dan bilangan kedua, kemudian kita tentukan himpunan persekutuan kelipatan dari bilanganbilangan itu, dan akhirnya kita pilih bilangan terkecil dari himpunan itu. Contoh. Tentukan KPK dari 7 dan 9. Jawab. Misalkan himpunan-himpunan kelipatan positif dari 7 dan 9 berturut-turut adalah K7 dan K9. K7 ={ 7, 14, 21, 28, 35, 42, 49, 56, 63,70 } K9 = {9, 18, 27, 36, 45, 54, 63, 72, 81, 90 } Himpunan kelipatan persekutuannya adalah K7 K9 = 63 Karena bilangan terkecil dari K7 K9 adalah 63, KPK dari 7 dan 9 adalah 63, ditulis KPK (7, 9) = 63.

30 2.5.7 Kongruen Misalkan a dan b adalah bilangan bulat dan m > 0, maka a b (mod m) jika m habis membagi a b.misalnya 38 mod 5 = 3 dan 13 mod 5 = 3, maka kita katakan 38 13 (mod 5) (baca: 38 kongruen dengan 13 dalam modulo 5). Jika a tidak kongruen dengan b dalam modulus m, maka ditulis a / b (mod m). Contoh : 14 2 (mod 3) ( 3 habis membagi 14 2 = 12) 12 / 2 (mod 7) (7 tidak habis membagi 12 2 = 10 ) Kekongruenan a b (mod m) dapat pula dituliskan dalam hubungan a = b + km yang dalam hal ini k adalah bilangan bulat. Contoh : 17 2 (mod 3) dapat ditulis sebagai 17 = 2 + 5 3 7 15 (mod 11) dapat ditulis sebagai 7 = 15 + ( 2)11 Berdasarkan definisi aritmetika modulo, kita dapat menuliskan a mod m = r sebagai a r (mod m) Contoh : Beberapa hasil operasi dengan operator modulo berikut : (i) 23 mod 5 = 3 dapat ditulis sebagai 23 3 (mod 5) (ii) 27 mod 3 = 0 dapat ditulis sebagai 27 0 (mod 3) (iii) 6 mod 8 = 6 dapat ditulis sebagai 6 6 (mod 8) (iv) 41 mod 9 = 4 dapat ditulis sebagai 41 4 (mod 9) (v) 39 mod 13 = 0 dapat ditulis sebagai 39 0 (mod 13)

31 Misalkan m adalah bilangan bulat positif. 1.Jika a b (mod m) dan c adalah sembarang bilangan bulat maka (i) ( a+c ) ( b + c ) (mod m) (i) ac bc (mod m) (ii) a p b p (mod m) untuk suatu bilangan bulat tak negatif p. 2. Jika a b (mod m) dan c d (mod m),maka (i) ( a+c ) ( b + d)(mod m) (ii) ac bd (mod m) Contoh : Misalkan 17 2 (mod 3) dan 10 4 (mod 3), maka 17 + 5 = 2 + 5 (mod 3) 22 = 7 (mod 3).(1.i) 17. 5 = 5 2 (mod 3) 85 = 10 (mod 3)...(1.ii) 17 + 10 = 2 + 4 (mod 3) 27 = 6 (mod 3)..(2.i) 17. 10 = 2 4 (mod 3) 170 = 8 (mod 3).(2.ii) 2.5.8 Aritmetika Modulo 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. Notasi: a mod m = r sedemikian sehingga a = mq + r, dengan 0 r < m. Contoh : Beberapa hasil operasi dengan operator modulo: (i) 27 mod 5 = 2 (27 = 5 5 + 2) (ii) 27 mod 3 = 0 (27 = 3 9 + 0) (iii) 6 mod 8 = 6 (6 = 8 0 + 6) (iv) 0 mod 12 = 0 (0 = 12 0 + 0) (v) 41 mod 9 = 4 ( 41 = 9 ( 5) + 4) (vi) 39 mod 13 = 0 ( 39 = 13( 3) + 0)

32 Penjelasan untuk (v): Karena a negatif, bagi a dengan m mendapatkan sisa r. Maka a mod m = m r bila r 0. Jadi 41 mod 9 = 5, sehingga 41 mod 9 = 9 5 = 4. 2.5.9 Modulo Invers Jika a dan m relatif prima dan m > 1, maka kita dapat menemukan balikan (invers) dari a modulo m. Balikan dari a modulo m adalah bilangan bulat a sedemikian sehingga aa 1 (mod m) Bukti: Dari definisi relatif prima diketahui bahwa PBB(a, m) = 1, dan 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) Kekongruenan yang terakhir ini berarti bahwa p adalah balikan dari a modulo m. Contoh : Modulo invers dari 4 mod 7. PBB (4,7) = 1,maka balikan modulo(modulo invers) yang dinotasikan dengan a, harus memenuhi persamaan aa 1 (mod m)

33 Tabel 2.1 Perhitungan modulo invers a aa (mod m) 1 4.1 (mod 7)= 4 mod 7 = 4 2 4.2 (mod 7)= 8 mod 7 = 1 Karena nilai a memenuhi persamaan aa 1 (mod m) pada a = 2, maka modulo invers dari 4 mod 7 adalah 2. 2.5.10 Fungsi φ Euler Fungsi φ Euler ( baca : totien Euler ) mendefinisikan φ(n) untuk n 1 yang menyatakan banyaknya bilangan bulat positif < n yang relatif prima dengan n. Contoh. φ(20). Bilangan bulat positif yang lebih kecil dari 20 adalah 1 sampai 19. Di antara bilanganbilangan tersebut, terdapat φ(20) = 8 buah yang relatif prima dengan 20, yaitu 1, 3, 7, 9, 11, 13, 17, 19. Untuk n = 1, 2,, 10, fungsi Euler adalah φ(1) = 0 φ(6) = 2 φ(2) = 1 φ(7) = 6 φ(3) = 2 φ(8) = 4 φ(4) = 2 φ(9) = 6 φ(5) = 4 φ(10) = 4 Jika n prima, maka setiap bilangan bulat yang lebih kecil dari n relatif prima terhadap n. Dengan kata lain, φ(n) = n 1 hanya jika n prima.

34 Contoh. φ(3) = 2 φ(7) = 6 φ(13) = 12 Jika n= pq adalah bilangan komposit dengan p dan q prima,maka φ(n) = φ(p) φ(q) =(p 1)(q 1). Contoh. φ(21). Karena 21 = 7 3, φ(21) = φ(7) φ(3) = 6 2 = 12 buah bilangan bulat yang relatif prima terhadap 21, yaitu 1, 2, 4, 5, 8, 10, 11, 13, 14, 17, 19, 20. Jika p bilangan prima dan k > 0, maka φ(p k ) = p k p k-1 = p k-1 (p 1). Contoh. φ(16). Karena φ(16) = φ(2 4 ) = 2 4 2 3 = 16 8 = 8, maka ada delapan buah bilangan bulat yang relatif prima terhadap 16, yaitu 1, 3, 5, 7, 9, 11, 13. 2.5.11 Eksponensial Modulo(Modular Exponentiation) Dalam melakukan perhitungan kriptografi akan banyak ditemukan bentuk X a (mod n) Dimana X dan n adalah variabel untuk dua bilangan yang berbeda. Untuk a yang besar, algoritma membutuhkan waktu yang lama. Selain itu, nilai antara yang dihasilkan selama perkalian meningkat tajam, sehingga ada kemungkinan tipe integer yang digunakan tidak sanggup menampungnya.

35 Kesulitan di atas dapat diatasi dengan mengingat bahwa ab mod m = [(a mod m)(b mod m)] mod m Contoh.Untuk menghitung 572 37 mod 713 dapat dilakukan sebagai berikut: 572 37 = 572 36 572 = 572 32 572 4 572 572 2 mod 713 = 327184 mod 713 = 630 572 4 mod 713 = 572 2. 572 2 mod 713 = [(572 2 mod 713)(572 2 mod 713)] mod 713 = 630 2 mod 713 = 396900 mod 713 = 472 572 8 mod 713 = 572 4. 572 4 mod 713 = [(572 4 mod 713)(572 4 mod 713)] mod 713 = 472 2 mod 713 = 222784 mod 713 = 328 572 16 mod 713 = 572 8. 572 8 mod 713 = [(572 8 mod 713)(572 8 mod 713)] mod 713 = 328 2 mod 713 = 107584 mod 713 = 634 572 32 mod 713 = 572 16. 572 16 mod 713 = [(572 16 mod 713)(572 16 mod 713)] mod 713 = 634 2 mod 713 = 401956 mod 713 = 537 572 36 mod 713 = 572 32. 572 4 mod 713 = [(572 32 mod 713)(572 4 mod 713)] mod 713 = 537. 472 mod 713 = 253464 mod 713 = 349 572 37 mod 713 = 572 36. 572 mod 713 = [(572 36 mod 713)(572 mod 713)] mod 713 = 349. 572 mod 713 = 199628 mod 713 = 701 Jadi, 572 37 mod 713 = 701 2.6 Metode Fermat Algoritma pada kriptografi membutuhkan teknik untuk membangkitkan bilangan prima yang besar. Pada kenyataannya tidak ada cara untuk membangkitkan bilangan prima besar secara langsung. Karena itu,yang dilakukan adalah dengan

36 membangkitkan bilangan ganjil besar dan mengetesnya apakah prima atau tidak, bila tidak, maka dibangkitkan lagi bilangan ganjil besar berikutnya, dites lagi dan seterusnya (Kurniawan.Y : 2004). Salah satu teknik yang dapat digunakan untuk menguji apakah suatu bilangan merupakan bilangan prima atau tidak adalah dengan menggunakan metode Fermat. Pierre De Fermat lahir di Beaumont-de-Lomagne, Tarn-et-Garonne, Prancis. Ia memberikan banyak sekali kontribusi pada ilmu teori bilangan. Salah satu teoremanya yang terkenal adalah Fermat Little Theorem. Teorema ini pertama kali dinyatakannya pada sebuah surat untuk temannya, Frencle de Bessy, pada tanggal 18 Oktober 1640. Pada surat tersebut tertulis : n membagi a n-1-1 untuk n suatu bilangan prima dan a saling prima dengan n. Secara formal, teorema Fermat menyatakan bahwa jika n adalah bilangan yang akan dites keprimaannya dan 1< a < n, maka : dimana : a a n-1 mod n = 1 Jika kita ingin membuktikan apakah n adalah bilangan prima atau bukan, langkah pertama yang harus dilakukan adalah dengan menentukan nilai a secara acak pada interval antara 2 sampai n-1 dan membuktikan apakah n memenuhi persamaan di atas. Jika persamaan tersebut tidak terpenuhi pada satu nilai a maka n adalah bilangan komposit. Sedangkan jika persamaan tersebut dipenuhi pada banyak nilai a, maka n adalah kemungkinan prima. Contoh pengujian keprimaan dengan metode Fermat adalah sebagai berikut: Jika n = 3 Dan 1 < a < 3, Maka a = {2} a n-1 mod n 2 3-1 mod 3 = 2 2 mod 3 = 1 Jadi, 3 merupakan bilangan prima sebab dalam pengecekan menggunakan nilai a yang lebih kecil, angka 3 memenuhi persamaan Fermat.

37 Jika n = 27 Dan 1 < a < 27, Maka a adalah nilai yang diambil secara acak pada interval 2 sampai 26. Misalkan nilai a yang digunakan adalah {2,12} a n-1 mod n Jika a = 2,maka : 2 27-1 mod 27 = 2 26 mod 27 = 13 Jika a = 12,maka : 12 27-1 mod 27 = 12 26 mod 27 = 0 Dengan demikian 27 bukan merupakan bilangan prima karena dengan menggunakan tiga nilai a yang lebih kecil, 27 tidak memenuhi persamaan Fermat. Dapat terjadi suatu bilangan komposit (bukan prima) dilaporkan sebagai bilangan prima dari tes Fermat ini, yang disebut Fermat Liar. Oleh karena itu, dibutuhkan beberapa kali pengecekan dengan nilai a yang berbeda-beda untuk mencegah kemungkinan kemunculannya. 2.6 Pohlig-Hellman Algoritma Pohlig-Hellman mirip dengan algoritma RSA. Algoritma ini bukan algoritma simetrik, karena kunci yang digunakan untuk enkripsi dan dekripsi berbeda. Pohlig-Hellman bukan merupakan kunci publik, karena masing-masing kuncinya bisa didapatkan dengan mudah jika mengetahui kunci yang lain. Oleh karena itu, baik kunci enkripsi maupun dekripsi harus tetap dirahasiakan. Kemiripan RSA dengan Pohlig-Hellman yaitu, dimana C = P e mod n P = C d mod n (e,d) 1

38 Namun,berbeda dengan RSA, nilai n harus tetap menjadi kunci rahasia. Jika nilai e dan n telah diketahui, maka nilai d dapat dihitung. Tanpa mengetahui nilai e atau d, seseorang akan sangat kesulitan dalam menghitung, e = log P C mod n Oleh karena itu, jika ditinjau dari 4 tujuan kriptografi yang telah disebutkan sebelumnya, implementasi algoritma Pohlig-Hellman cukup memadai untuk memenuhi 2 tujuan, yaitu kerahasiaan dan integritas data. 2.7 Steganografi Steganografi adalah seni dan ilmu menulis atau menyembunyikan pesan tersembunyi dengan suatu cara sehingga selain si pengirim dan si penerima, tidak ada seorangpun yang mengetahui atau menyadari bahwa ada suatu pesan rahasia. Sebaliknya, kriptografi menyamarkan arti dari suatu pesan, tapi tidak menyembunyikan bahwa ada suatu pesan. Kata steganografi berasal dari bahasa Yunani steganos, yang artinya tersembunyi atau terselubung, dan graphein artinya menulis. Kini, istilah steganografi termasuk penyembunyian data digital dalam file-file komputer. Contohnya, si pengirim mulai dengan file gambar biasa, lalu mengatur warna setiap pixel ke-100 untuk menyesuaikan suatu huruf dalam alphabet (perubahannya begitu halus sehingga tidak ada seorangpun yang menyadarinya jika ia tidak benar-benar memperhatikannya). Pada umumnya, pesan steganografi muncul dengan rupa lain seperti gambar, artikel, daftar belanjaan, atau pesan-pesan lainnya. Pesan yang tertulis ini merupakan tulisan yang menyelubungi atau menutupi. Contohnya, suatu pesan bisa disembunyikan dengan menggunakan tinta yang tidak terlihat diantara garis-garis yang kelihatan. Teknik steganografi meliputi banyak sekali metode komunikasi untuk menyembunyikan pesan rahasia (teks atau gambar) di dalam file-file lain yang

39 mengandung teks, image, bahkan audio tanpa menunjukkan ciri-ciri perubahan yang nyata atau terlihat dalam kualitas dan struktur dari file semula. Metode ini termasuk tinta yang tidak tampak, microdots, pengaturan kata, tanda tangan digital, jalur tersembunyi dan komunikasi spektrum lebar. Tujuan dari steganografi adalah merahasiakan atau menyembunyikan keberadaan dari sebuah pesan tersembunyi atau sebuah informasi. Dalam prakteknya kebanyakan diselesaikan dengan membuat perubahan tipis terhadap data digital lain yang isinya tidak akan menarik perhatian dari penyerang potensial, sebagai contoh sebuah gambar yang terlihat tidak berbahaya. Gambar 2.4 Perbedaan Steganografi dengan Kriptografi Salah satu media yang sering dipakai untuk menyisipkan pesan/data adalah file image. Penyembunyian data rahasia ke dalam citra digital akan mengubah kualitas citra tersebut. Kriteria yang harus diperhatikan dalam penyembunyian data adalah: 1. Fidelity. Mutu citra penampung tidak jauh berubah. Setelah penambahan data rahasia, citra hasil steganografi masih terlihat dengan baik. Pengamat tidak mengetahui kalau di dalam citra tersebut terdapat data rahasia. 2. Robustness. Data yang disembunyikan harus tahan terhadap manipulasi yang dilakukan pada citra penampung (seperti pengubahan kontras, penajaman, pemampatan, rotasi, perbesaran gambar, pemotongan (cropping), enkripsi, dan sebagainya). Bila pada citra dilakukan operasi pengolahan citra, maka data yang disembunyikan tidak rusak.

40 3. Recovery. Data yang disembunyikan harus dapat diungkapkan kembali (recovery). Karena tujuan steganografi adalah data hiding, maka sewaktuwaktu data rahasia di dalam citra penampung harus dapat diambil kembali untuk digunakan lebih lanjut. Ada beberapa metode penyisipan pesan ke dalam citra, diantaranya adalah: 1. Metode LSB (Least Significant Bit) Least Significant Bit (LSB) merupakan salah satu teknik dalam Steganografi. LSB menambahkan bit data yang akan disembunyikan (pesan) di bit terakhir yang paling cocok atau kurang berarti. Misalkan bit pada image dengan ukuran 3 pixel sebagai berikut : (0011111 11101001 11001000) (0011111 11001000 11101001) (1100000 00100111 11101001) Pesan yang akan disisipkan adalah karakter A yang memiliki biner 10000001, stego image yang akan dihasilkan adalah : (0011111 11101000 11001000) (0011110 11001000 11101000) (1100000 00100111 11101001) LSB mempunyai kelebihan yakni ukuran gambar tidak akan berubah. Sedangkan kekurangannya adalah pesan/data yang akan disisipkan terbatas, sesuai dengan ukuran citra. Gambar 2.5 dan 2.6 berikut akan menunjukkan perubahan yang terjadi pada citra sebelum dan sesudah terjadi penyisipan pesan. Gambar 2.5 Citra sebelum disisipi pesan

41 Gambar 2.6 Citra setelah disisipi pesan 2. Metode EOF (End of file). Selain teknik diatas, salah satu teknik lain dari Steganografi adalah End Of File (EOF). Teknik ini tidak jauh beda dengan teknik LSB. Jika LSB menambahakan data file pada akhir bit-nya, maka EOF langsung menambahkan data diakhir file image. Untuk teknik ini dapat menambahkan data atau file yang akan disembunyikan lebih dari ukuran file image. Data yang disembunyikan tersebut akan disisipkan pada akhir file sehingga file image akan terlihat sedikit berbeda dengan aslinya. Ada penanda khusus yang terlihat dari file image di paling bawah seperti garis-garis. Dengan metode ini pesan yang disisipkan jumlahnya tak terbatas. Akan tetapi efek sampingnya adalah ukuran file menjadi lebih besar dari ukuran semula. Ukuran file yang terlalu besar dari yang seharusnya, tentu akan menimbulkan kecurigaan bagi yang mengetahuinya. Oleh karena itu dianjurkan agar ukuran pesan dan ukuran citra yang digunakan proporsional. Gambar 2.7 Citra sebelum disisipi pesan

42 Gambar 2.8 Citra setelah disisipi pesan pesan yang disisipkan