• Tidak ada hasil yang ditemukan

BAB II LANDASAN TEORI 2.1 Kriptografi 2.1.1 Definisi Kriptografi - Implementasi Autentikasi Data Teks Denning-Sacco Dengan Menggunakan Algoritma Kunci Publik RSA

N/A
N/A
Protected

Academic year: 2019

Membagikan "BAB II LANDASAN TEORI 2.1 Kriptografi 2.1.1 Definisi Kriptografi - Implementasi Autentikasi Data Teks Denning-Sacco Dengan Menggunakan Algoritma Kunci Publik RSA"

Copied!
28
0
0

Teks penuh

(1)

BAB II

LANDASAN TEORI

2.1 Kriptografi

2.1.1 Definisi Kriptografi

Kriptografi berasal dari bahasa Yunani yaitu cryptos yang berarti secret (rahasia) dan

graphein yang berarti writing (tulisan). Berdasarkan kata dasar pembentuknya kriptografi berarti secret writing (tulisan rahasia). Ada beberapa definisi yang dikemukan dalam berbagai literature yang ada. Sebelum tahun 1980-an beberapa buku menyatakan bahwa kriptografi merupakan ilmu dan seni untuk menjaga pesan kerahasian pesan dengan cara menyandikannya kedalam bentuk yang tidak dapat dimengerti lagi maknanya [11]. Kata “seni” didalam definisi diatas berasal dari fakta sejarah yang ada bahwa pada masa-masa awal kriptografi, setiap orang memiliki cara yang unik untuk merahasiakan pesan.

(2)

2.1.2 Sejarah Kriptografi

Penggunakan kriptografi sudah ada sejak 4000 tahun yang lalu oleh bangsa Mesir. Sejarah kriptografi sebagian besar merupakan sejarah kriptografi klasik, yaitu metode enkripsi sederhana yang menggunkan kertas dan pensil atau menggunakan bantuan alat mekanik sederhana. Sejarah kriptografi klasik mencatat bahwa pada permulaan tahun 400 SM tentara Sparta di Yunani sudah menggukan algortima transposisi yaitu mengubah susunan huruf yang terdapat didalam pesan. Mereka menggunakan alat yang dinamakan scytale. Scytale terdiri dari sebuah kertas panjang dari daun papyrus yang dililitkan pada sebuah silinder dengan diameter tertentu. Pesan ditulis secara horizontal, baris perbaris. Bila daun papyrus dilepaskan maka huruf-huruf yang telah tersusun menjadi acak membentuk pesan rahasia. Untuk membaca pesan, penerima harus kembali melilitkan daun papyrus ke silinder yang memiliki diameter yang sama seperti silinder awal [11].

Algoritma lain yang biasa digunakan adalah algorima subsitusi, yaitu mengganti setiap huruf atau kelompok huruf dengan sebuah huruf atau kelompok huruf yang lain.

Caesar cipher merupakan salah satu algoritma kriptografi subsitusi sederhana dengan enkripsi monoalfabet, yaitu dengan cara memutar beberapa langkah urutan dari alphabet yang ada. Contohnya adalah ketika kata cleoptra dienkripsi dengan memutar urutan alphabet sejauh 3 langkah, maka akan menghasilkan cipherteks yaitu

fohrsdwud .

Pada perang dunia ke II, pemerintah Jerman melalui Arthur Scherbius membuat mesin enkripsi yang dinamakan Enigma. Mesin ini menggunakan beberapa buah rotor (roda berputar) dalam melakukan enkripsi[13].

2.1.3 Tujuan Kriptografi

(3)

untuk tujuan lainnya. Serta pada saat ini kriptografi sudah digunakan dalam segala aspek kehidupan, tidak hanya pada kalangan pemerintahan saja, tetapi juga kalangan biasa atau pribadi. Berikut merupakan tujuan umum yang diharapkan dalam pengimplementasian kriptografi dalam kehidupan :

a. Kerahasiaan (Confidentiality)

Tujuan paling dasar kriptografi adalah menjamin kerahasian, menjaga agar pesan hanya dapat dibaca pihak-pihak yang memiliki hak dan tidak jatuh kepada pihak yang tidak berhak. Ada beberapa pendekatan yang digunakan untuk memperoleh kerahasian ini salah satunya adalah dengan mengubah pengamanan secara fisik menjadi pengamanan yang bersifat algoritma matematika yang membuat pesan menjadi tidak bisa dipahami. Misalnya pesan “ kerjakan skripsi dengan baik” , dengan menggunakan ceasar cipher pesan dapat dirubah kedalam bentuk cipherteks menjadi “pjwofpfs xpwnuxn ijslfs gfnp “. Istilah yang sama dengan confidentiality adalah secrecy dan privacy.

b. Integritas Data (Data Integrity)

Integritas data bertujuan untuk menjamin pesan yang dikirim masih asli dan tidak dimanipulasi selama pengiriman. Untuk menjamin integritas data, sistem yang ada harus memiliki kemampuan untuk mendeteksi jika terjadi manipulasi pesan yang dilakukan oleh pihak yang tidak memiliki hak atas pesan tersebut. Manipulasi yang dimaksudkan adalah penyisipan, penghapusan dan pensubsitusian data lain kedalam pesan yang asli. Didalam kriptografi, integritas data direalisasikan dengan menggunakan tanda tangan digital, pesan yang menandakan pesan yang dikirim adalah asli.

c. Autentikasi (Autentication)

(4)

authentication atau entity authentication dan data origin

authentication.

d. Nir-Penyangakalan (Non-Repudiation)

Nir-penyangkalan dimaksudkan untuk mencegah supaya semua pihak yang terlibat dalam proses komunikasi tidak ada yang dapat melakukan penyangkalan. Misalnya ketika beberapa pihak menandatangani sebuah kontrak, tanda tangan yang ada di kontrak tersebut menjadi alat nir-penyangkalan. Contoh lainnya ketika pengirim pesan memberikan otoritas kepada penerima pesan untuk melakukan pembelian. Namun kemudian pemberi pesan tersebut menyangkal telah memberikan otoritas pembelian tersebut. Oleh karena itu perlu dilibatkan pihak ketiga yang dipercaya untuk menyelesaikan masalah seperti ini. Didalam kriptografi nir-penyangkalan diimplementasikan dengan menggunakan tanda tangan kunci publik [8].

2.1.4 Istilah Dalam Kriptografi

Beberapa istilah yang biasa digunakan dalam kriptografi adalah : a. Pesan, Plainteks, Cipherteks

Pesan (message) adalah data atau informasi yang dapat dibaca dan dimengerti maknanya. Nama lain untuk pesan adalah plainteks (plaintext) atau teks-jelas (clear text). Pesan yang dikirim tidak hanya berupa teks, tetapi juga dapat berbentuk citra (image), suara/bunyi (audio), dan video, atau berkas biner lainnya. Agar pesan tidak dapat dimengerti maknanya oleh pihak lain, maka pesan perlu disandikan kedalam bentuk lain yang tidak dapat dipahami. Bentuk pesan yang tersandi disebut cipherteks (ciphertext).

b. Pengirim, Penerima, Arbitrator

(5)

protokol dalam kriptografi. Entitas yang ada disini dapat berupa orang, mesin, kartu kredit dan sebagainya.

c. Enkripsi dan Dekripsi

Proses menyandikan plainteks atau pesan menjadi bentuk cipherteks disebut dengan enkripsi (encryption) atau enciphering. Sedangkan proses mengembalikan cipherteks menjadi plainteks dinamakan dekripsi (decryption) atau deciphering.

d. Cipher dan Kunci

Algortima kriptografi disebut juga cipher yaitu aturan untuk enkripsi dan dekripsi, atau fungsi matematika yang digunakan untuk enkripsi dan dekripsi. Beberapa cipher memerlukan algortima yang berbeda untuk enkripsi dan dekripsi. Jika keamanan kriptografi ditentukan dengan menjaga keamanan algoritmanya, maka algoritma kriptografi ini dinamakan algoritma restricted. Algoritma ini biasanya digunakan oleh sekelompok orang untuk bertukar pesan satu sama lain. Mereka membuat suatu algoritma yang hanya diketahui oleh kelompok itu saja. Tetapi algorima restricted tidak cocok lagi saat ini, sebab setiap kali ada anggota yang kelompok keluar, maka algoritma kriptografi harus diganti lagi. Kriptografi modern mengatasi masalah ini dengan penggunaan kunci, yang dalam hal ini algoritmanya tidak dirahasiakan, tetapi kunci harus dijaga kerahasiaanya. Kunci (key) adalah parameter yang digunakan untuk transformasi enkripsi dan dekripsi.

e. Sistem Kriptografi

Kriptografi membentuk sebuah sistem yang dinamakan sistem kriptografi (cryptosystem). Sistem kriptografi adalah kumpulan yang terdiri dari algoritma kriptografi, semua plainteks dan cipherteks dan kunci. Oleh karena itu didalam kriptografi, cipher hanyalah salah satu komponen saja.

f. Penyadap

(6)

kriptografi yang digunakan untuk berkomunikasi dengan maksud memecahkan cipherteks.

g. Kriptanalisis dan kriptologi

Setiap orang yang menggunakan kriptografi disebut dengan kriptografer(cryptographer). Kriptanalisis (cryptanalysis) adalah ilmu dan seni untuk memecahkan cipherteks menjadi plainteks tanpa mengetahui kunci yang digunakan. Sedangkan orang yang mempelajari kriptanalisis disbut dengan kriptanalis (cryptanalysts). Kriptologi (cryptology) adalah studi mengenai kriptografi dan kriptoanalisis. Sebagian praktisi sering menggunakan istilah kriptografi dan kriptologi secara bergantian, sebagian lagi membedakan bahwa kriptografi mengacu pada penggunaan praktis teknik-teknik kriptografi, sedangkan kriptologi mengacu pada subjek sebagai bidang studi [11].

`

CIPHERTEXT PLAINTEXT

PLAINTEXT

ENKRIPSI DEKRIPSI

KUNCI KUNCI

Gambar 2.1 Proses Enkripsi dan Dekripsi

2.2 Autentikasi

Autentikasi merupakan salah tujuan yang diharapkan dalam kriptografi. Proses autentikasi terdiri dari proses mendapatkan informasi autentikasi dari sebuah entitas, analisa data dan menentukan apakah informasi tersebut berhubungan dengan entitas tersebut. Syarat sebuah sistem autentikasi terdiri atas lima komponen :

a. Set A dari informasi autentikasi (authentication information) merupakan set mengenai informasi tertentu dimana dengan entitas yang ada mereka membuktikan identitas mereka.

(7)

menggunakannya untuk melakukan validasi terhadap informasi autentikasi.

c. Set F merupakan fungsi pelengkap (complementation functions) merupakan set yang akan membangkitkan infromasi pelengkap dari informasi autentikasi. Dimana, untuk f Є F, f: A → C.

d. Set L dari fungsi autentikasi (authentication functions) dipakai untuk memverifikasi identitas. Dimana, untuk l Є L, l:A x C→ { true,false} e. Set S dari fungsi pilihan (selection functions) memungkinkan sebuah

entitas untuk membuat atau mengubah autentikasi dan informasi pelengkap.

Contohnya adalah user mengautentikasi dirinya dengan memasukkan kata sandi (password), sistem kumudian akan membandingkannya dengan password asli yang tersimpan secara online . Disini A adalah set dari string yang membuat password dapat diterima, C – A, F = { I }, dan L = { eq }, dimana I merupakan fungsi identitas, dan eq akan bernilai benar jika memiliki argument yang sama, dan salah kita memiliki argumen yang bebeda.

Beberapa mekanisme yang dipakai untuk autentikasi adalah :

a. Password

Password adalah informasi yang berhubungan dengan entitas yang dapat mengkonfirmasi identitas dari sebuah entitas. Password menjadi salah satu bentuk mekanisme yang dipakai untuk melakukan autentikasi berdasarkan apa yang orang tahu. Contohnya pengguna memasukkan password dan komputer akan melakukan validasi.

b. Challenge-Response

Masalah mendasar pada password adalah pemakaian yang berulang (reusable). Jika penyadap (attacker) mendapatkan password pengguna, maka nantinya penyadap tersebut dapat menggunakan kembali

(8)

jika penyadap menggunakan password yang sebelumnya dipakai, maka sistem akan menolaknya. Contohnya ketika user U ingin mengautentikasi dirinya kepada sistem S. Sebelumnya U dan S telah menyepakati fungsi rahasia f. Sebuah sistem autentikasi

challenge-response terpenuhi ketika S mengirim pesan acak m (the challenge) kepada U , dan U akan membalasnya dengan transformasi r = f(m) ( the

response). S akan memvalidasi r dengan menghitungnya secara terpisah. Algoritma ini sama dengan teknik IFF (identification-friend

or foe) yang digunakan pesawat militer untuk mengidentifikasi sekutu atau musuh.

c. Biometrics

Biometric merupakan pengukuran otomatis dari segi fisik maupun tingkah laku untuk mengidentifikasi seseorang. Saat user diberi sebuah identitas, administrator sistem akan membuat sebuah tolak ukur yang dapat mengidentifikasi agar user tersebut dapat diterima dengan tingkat kesalahan tertentu. Ketika user akan masuk kedalam sistem, mekanisme autentikasi biometric akan melakukan verifikasi terhadap identitas tersebut. Perbandingan data yang ada terhadap identitas yang dimasukkan user akan menentukan apakah entitas tersebut diterima atau tidak.

d. Location

Denning dan Macdoran dalam “Location-Based Authentication:

(9)

seorang user. Jika tanda yang didapat tidak sama, maka proses autentikasi gagal.

e. Multiple Methods

Multiple method merupakan metode atau mekanisme autentikasi yang dikombinasikan. Bentuk autentikasi ini memakai satu atau lebih bentuk autentikasi untuk setiap entitasnya. Setiap entitas harus menggunakan metode yang khusus. Metode autentikasi khusus ini berubah dari satu sistem ke sistem yang lain. Contohnya pada metode challenge-response membutuhkan penggunaan komputer dan kartu pintar (smartcard). Cara ini mengkombinasikan akan apa yang kita tahu (password) dan apa yang kita punya (komputer atau smartcard) [2].

2.3 Protokol Denning-Sacco

Protokol merupakan serangkaian langkah-langkah yang melibatkan dua pihak atau lebih untuk menyelesaikan sebuah tugas. Langkah-langkah yang dimaksudkan disini adalah urutan mulai dari awal hingga akhir. Setiap langkah harus diselesaikan sesuai urutan, dan tidak ada langkah yang dilakukan tanpa menyelesaikan langkah sebelumnya. Melibatkan dua pihak atau lebih dimana harus ada minimal dua orang yang terlibat untuk menyelesaikan protokol, jika hanya satu melibatkan satu orang saja, maka hal tersebut tidak merupakan sebuah protokol. Untuk menyelesaikan tugas maksudnya adalah protokol tersebut pada akhirnya harus memperoleh sesuatu.

Protokol memiliki karakteristik sebagai berikut:

- Setiap orang yang terlibat didalam protokol harus mengetahui protokol yang dipakai dan setiap langkah yang harus diikuti.

- Setiap orang dalam protokol harus setuju yang mengikuti protokol tersebut. - Protokol tidak boleh ambigu yaitu setiap langkah yang ada harus jelas dan

tidak boleh terjadi kesalahpahaman.

(10)

Protokol kriptografi merupakan protokol yang menggunakan kriptografi dalam penerapannya. Setiap orang yang terlibat didalamnya mungkin ingin membagi rahasia mereka dalam mengkomputasi sebuah nilai, bersama-sama membangkitkan rangkaian acak, meyakinkan satu dengan yang lain mengenai identitas mereka, atau untuk menandatangani sebuah kontrak. Tujuan utama menggunakan protokol kriptogtafi adalah untuk mencegah dan mendeteksi penyusup ataupun penipu. Protokol kriptografi melibatkan algoritma kriptografi [3]. Salah satu fungsi utama dari sebuah protokol adalah untuk melakukan proses autentikasi. Ada berbagai macam protokol bentuk protokol kriptografi, mulai dari bentuk simetri maupun asimetri. Contoh protokolnya adalah One-Way Functions Protocol, Kerberos Protocol, Denning-Sacco

protocol dan lain sebagainya.

Protokol Denning-Sacco adalah salah satu bentuk protokol kriptografi. Protokol ini disesuaikan dengan nama dari peneliti yang mengemukakannya yaitu Dorothy E. Denning dan Giovanni Maria Sacco dalam penelitian mereka yang berjudul “Timestamps in Key Distribution Protocols”. Protokol ini memanfaatkan timestamp dalam proses pendistribusian kunci. Dalam penelitian mereka tersebut dikatakan komunikasi yang aman antara dua pengguna pada jaringan komputer sangat memungkinkan menggunakan enkripsi satu kunci atau enkripsi kunci publik. Dikedua sistem tersebut protokol pendistribusian kunci sangat diperlukan agar pengguna dapat menggunakan saluran yang aman. Dalam sistem yang menggunakan satu kunci, user harus mendapatkan kunci komunikasi (key communication) yang dibagikan, sedangkan pada sistem kunci publik user harus mendapatkan kunci publik setiap user yang lain.

(11)

mereka, maka komunikasi akan aman. Namun ketika kunci yang ada bocor, maka dapat dipastikan komunikasi menjadi tidak aman. Oleh karena itu diperlukan cara agar hal seperti ini tidak terjadi, yaitu dengan menggunakan timestamp. Walaupun kemungkinan mengurangi tingkat kebocoran yang terjadi kecil, tetapi timestamp dapat menggantikan cara two-step handshake untuk mencegah terjadinya replays terhadap kunci yang ada. Sistem yang menggunakan kunci publik juga memiliki cara yang sama dalam penggunaan timestamp. Pada protokol Needham-Schroeder sistem kunci publik, AS akan menyimpan dan mendistribusikan kunci publik user, tetapi AS tidak memiliki akses terhadapa kunci rahasia (private) mereka, sama seperti pada sistem satu kunci, two-step handshake tidak diperlukan lagi. Jika AS mendistribusikan kunci yang telah diserifikasi, maka seluruh protokol bisa dikurangi menjadi tiga langkah dari yang seharusnya tujuh. Jika PA dan SA adalah kunci publik dan kunci rahasia dari A, maka protokol akan berjalan sebagai berikut:

A →SL: A, B (1) AS→A: CA, CB (2) A→B: CA, CB (3)

Dimana CA = { A, PA, T}SAS dan CB = {B, PB, T}SAS merupakan kunci publik yang telah disertifikasi. Sertifikat ditandai oleh AS menggunakan kunci rahasia AS untuk menghindari terjadinya pemalsuan. A dan B kedua-duanya diberikan salinan masing-masing kunci hasil sertifikasi mereka sendiri, jadi mereka bisa bisa memvalidasinya sendiri. Karena kunci publik dapat diketahui oleh semua orang, maka keterbukaan dari kunci ini tidak menjadi masalah. Walaupun demikian, integritas dari kunci tersebut sangat diperlukan. Jadi kunci publik tetap memerlukan keamanan tingkat tinggi. Penggunaan timestamp yang juga ditandai sertifikat sangat membantu dalam keamanan mencegah terjadinya replay.

Protokol pendistribusian kunci publik juga bisa digunakan untuk mendistribusikan kunci komunikasi untuk enkripsi data tunggal. Protokolnya menjadi:

A→ AS: A, B (1) AS→ A: CA, CB (2) A→ B: CA,CB, {{CK,T}SA}PB

(12)

oleh AS, walaupun demikian tetap masih dapat diserang melalui komputer A atau B. Oleh karena itu penggunaan timestamp dapat melindungi terjadinya replays terhadap kunci yang bocor [4]. Secara sederhana protokol Denning-Sacco dapat dijabarkan seperti pada Gambar 2.2.

a. Alice mengirim kepada Trent kunci publik dan identitasnya serta kunci publik dan identitas Bob

b. Kemudian Trent mengirim kepada Alice kunci publiknya dan kunci publik Bob yang di signed menggunakan kunci rahasia Trent.

c. Alice kemudian mengirim kepada Bob, kunci acak dan timestamp yang di

signed menggunakan kunci rahasia Alice dan mengenkripsi kembali dengan menggunakan kunci publik Bob bersama dengan kunci publik dan identitas yang telah di signed.

d. Bob mendekripsi pesan Alice menggunakan kunci rahasianya kemudian melakukan verifikasi signature Alice menggunakan kunci publik Alice. Bob juga memastikan timestamp masih berlaku [3].

Gambar 2.2 Proses Autentikasi Denning-Sacco

Berikut merupakan contoh dari proses autentikasi Denning-Sacco: Penentuan kunci publik dan kunci rahasia masing-masing orang:

Alice : Bob: Trent:

(13)

eA = 7 eB = 5 eT = 13

dA = 103 dB = 269 dT = 61

a. Alice mengirim kunci publik dan identitasnya dan Bob kepada Trent :

A = 50 B = 30

b. Trent mengirim kepada Alice kunci publik Alice dan Bob yang telah di signed menggunakan kunci rahasia Trent.

Signed_eA = eAdT mod nT = 761 mod 437 = 387

Signed_nA = nAdTmod nT

= 40361 mod 437

= 101

Signed_eB = eBdT mod nT = 561 mod 437 = 130

Signed_nB = nBdT mod nT = 49361 mod 437 = 132

Trent juga mengirim kepada Alice identitas mereka yaitu A dan B yang telah di

signed menggunakan kunci rahasia Trent.

Signed_A = AdT mod nT = 3061 mod 437 = 278

Signed_B = BdT mod nT = 5061 mod 437 = 410

c. Alice menentukan kunci acak (K) dan timestamp (T)

K = 24 T = 115

Alice menandai K dan T dengan kunci rahasianya

Signed_K = KdA mod nA

(14)

= 353

Signed_T = TdA mod nA = 50103 mod 403 = 106

Kemudian Alice mengenkripsi kembali dengan kunci publik Bob

Encrypted_Signed_K = signed_KeB mod nB = 3535 mod 493 = 370

Encrypted_Signed_T = signed_TeB mod nB = 1065 mod 493

= 21

d. Bob mendekripsi Encrypted_signed_K dan Encrypted_signed_T dengan kunci rahasianya

Decrypted_Signed_K = Encrypted_Signed_KdB mod nB = 370269 mod 493

= 353

Decrypted_Signed_K = Encrypted_Signed_KdB mod nB = 21269 mod 493

= 106

Kemudian mendekripsinya kembali dengan menggunakan kunci publik Alice

K = Decrypted_Signed_KeA mod nA = 3537 mod 403

= 24

T = Decrypted_Signed_TeA mod nA = 106269 mod 403

= 115

Bob mendekripsi identitas A dan B dengan menggunakan kunci publik Trent

A = signed_AeA mod nA = 27813 mod 437 = 50

B = signed_BeA mod nA

= 41013 mod 437

(15)

2.4 Jenis Kriptografi

Berdasarkan jenis kunci yang digunakan untuk melakukan enkripsi dan dekripsi, kriptografi dapat dibedakan menjadi dua yaitu kriptografi simetri (symmetric

cryptography) dan kriptografi asimetri (asymmetriccryptography).

2.4.1 Kriptografi Simetri

Kriptografi simetri disebut juga kriptografi konvensional, kriptografi satu kunci. Kriptografi simetri menggunakan kunci yang sama dan bersifat rahasia dalam melakukan proses enkripsi maupun dekripsi. Sebutan lain untuk kripgrafi simetri adalah kriptografi konvensional, kriptografi klasik dan kriptografi kunci rahasia [13].

Kriptografi simetri satu-satunya jenis kriptografi yang dikenal dalam catatan sejarah hingga tahun 1976. Ada puluhan algoritma kriptografi modern yang termasuk ke dalam sistem kriptografi simetri, diantaranya adalah DES (Data Encryption

Standard), Blowfish, Twofish, Triple-DES, IDEA, Serpent, dan yang terbaru adalah

AES (Advanced Encryption Standard).

`

CIPHERTEXT PLAINTEXT

PLAINTEXT ENKRIPSI

Ek(p)=c Dk(c)=pDEKRIPSI

KUNCI PRIVAT(k)

Gambar 2.3 Proses Enkripsi dan Dekripsi Pada Kriptografi Simetri Keterangan :

k : Kunci rahasia

p : Plaintext

c : Ciphertext

Ek(p) : Proses enkripsi

(16)

Aplikasi kriptografi simetri yang utama adalah melindungi kerahasisaan data yang dikirim melalui saluran yang tidak aman dan melindungi kerahasisaan data yang disimpan pada media yang tidak aman. Kelemahan dari sistem ini adalah baik pengirim maupun penerima pesan harus memiliki kunci yang sama, sehingga pengirim pesan harus mencari cara yang aman untuk memberitahukan kunci kepada penerima pesan [11].

Kriptografi simetri dapat dikategorikan menjadi dua yaitu block cipher dan

stream cipher. Block cipher beroperasi pada panjang pesan yang tetap dan menghasilkan ciphertext yang sama panjang. Panjang blok yang digunakan pada block

cipher adalah 64 atau 128 bit. Stream cipher yaitu kriptografi simetri yang menghasilkan ciphertext dari plaintext secara terus menerus dan tidak memiliki batasan pada ukuran plaintext. Dalam proses membuat stream cipher digunakan block

cipher [1].

2.4.2 Kriptografi Asimetri

Kriptografi asimetri adalah jenis kriptografi yang salah satu kuncinya digunakan untuk proses enkripsi dan kunci yang lain untuk melakukan dekripsi. Kriptografi asimetri disebut juga dengan kriptografi kunci publik. Sebenarnya penemu dari sistem kriptografi asimetri adalah James H Ellis, Clifford Cocks, dan Malcolm Williamson pada awal 1970. Mereka menemukan mekanisme pertukaran kunci. Namun algoritma mereka tersebut dirahasiakan dan tidak pernah dipublikasikan hingga 1997. Sistem kriptografi asimetri pertama kali dipublikasikan pada tahun 1976 oleh Whitefield Diffie dan Martin Hellman, melalui makalah mereka yang berjudul “New Directions

(17)

Pada kriptografi kunci publik, kunci untuk enkripsi diumumkan kepada publik, karena itu tidak bersifat rahasia disimbolkan dengan e. Sedangkan kunci untuk melakukan dekripsi sehingga dinamakan kunci rahasia, disimbolkan dengan d.

`

CIPHERTEXT PLAINTEXT

PLAINTEXT ENKRIPSI Ek1(p)=c

DEKRIPSI Dk2(c)=p KUNCI

PUBLIK(k1)

KUNCI PRIVAT(k2)

Gambar 2.4 Proses Enkripsi dan Dekripsi pada Kriptografi Asimetri Keterangan:

k1 : Kunci publik

k2 : Kunci rahasia

p : Plaintext

c : Ciphertext

Ek1(p) : Proses enkripsi

Dk2(c) : Proses dekripsi

Keuntungan utama yang didapat dari kriptografi kunci publik adalah memungkinkan orang orang yang sebelumnya tidak memiliki pengaturan keamanan dapat bertukar pesan dengan aman. Pengirim dan penerima tidak perlu lagi berbagi kunci rahasia melalui saluran yang aman karena semua komunikasi hanya melibatkan kunci publik dan kunci rahasia yang tidak perlu dibagi. Beberapa contoh dari kunci publik kriptografi adalah Elgamal (dinamai penemunya, Taher Elgamal), RSA (Ron Rivest, Adi Shamir, dan Leonard Adleman), Diffie-Hellman dan DSA (ditemukan oleh David Kravitz) [9].

2.5 Algoritma RSA

(18)

Rivest-Shamir-Adlemen. Pada RSA memakai dua buah kunci yaitu kunci publik dan kunci rahasia. Kunci publik digunakan untuk melakukan enkripsi dan kunci rahasia digunakan untuk melakukan dekripsi.

2.5.1 Pembangkit Kunci

Pembagkit kunci merupakan cara yang dilakukan untuk mendapatkan kunci publik dan kunci rahasia. Dimisalkan Alice ingin mengirim pesan kepada Bob, maka yang pertama dilakukun adalah menciptakan kunci publik dan kunci rahasia. Langkah langkah yang harus dilakukan oleh Alice adalah :

a. Pilih bilingan prima secara acak p dan q dimana pq b. Hitung nilai n dimana :

n = p * q

c. Cari nilai dari totien n dimana

φ(n)= (p − 1)(q − 1)

d. Pilih nilai dari e, dimana 1 < e < φ(n), nilai e relatif prima terhadap nilai φ(n), atau gcd(e, φ(n)) = 1.

e. Hitung nilai dari d , dimana

𝑑 ∗ 𝑒 ≡1 𝑚𝑜𝑑𝜑(𝑛) atau

d e-1(1 (mod φ(n)) [10].

Dari perhitungan di atas maka dapat ditentukan kunci publik dan kunci rahasia. Kunci publik Alice sekarang adalah (e,n) dan kunci rahasia (d,n).

2.5.2 Proses Enkripsi dan Dekripsi

Enkripsi

Bob melakukan proses enkripsi dimulai dengan mengambil kunci publik dari Alice

(e,n) lalu menyusun pesan yang akan dikirim menjadi blok-blok , enkripsi dilakukan dengan menggunakan rumus

c me(mod n)

dengan c adalah hasil enkripsi dan m merupakan pesan yang akan dikirim. Dekripsi

(19)

m cd (mod n) [13]. Contoh penggunaan algoritma RSA

Bob akan mengirim pesan kepada Alice. Maka Alice akan memberitahukan kunci publiknya kepada Bob.

Pembangkit kunci

Pilih bilangan prima p dan q , p = 11 dan q = 17 Hitung nilai n = p * q

n = 11 x 17 = 187

Hitung nilai φ(n)= (p − 1)(q – 1) φ(n)= (11 − 1)(17 − 1))

φ(n)= 160

Pilih bilangan e dengan syarat 1 < e < φ(n) dan gcd(e, φ(n)) = 1 Dipilih nilai e = 3

Nilai d e 1 (mod φ(n))

d * 3 1 (mod 160) d 107

Kemudian Alice akan memberitahu kunci publik (e,n)= (3,187) kepada Bob, dan menyimpan kunci rahasia nya (d,n) = (107,187).

Proses enkripsi

Setelah memperoleh kunci publik dari Alice, Bob akan melakukan enkripsi terhadapa pesan yang akan dikirim. Bob akan mengirim pesan SANTO kepada Alice. Bob akan mengubah ke dalam bentuk desimal dengan melihat tabel ASCII pada Tabel 2.5 berikut ini :

Tabel 2.1 Kode ASCII 256 bit

Desimal Simbol Desimal Simbol Desimal Simbol Desimal Simbol

0 NULL 64 @ 126 ~ 190 ¥

1 SOH 65 A 127 DEL 191

2 STX 66 B 128 Ç 192

3 ETX 67 C 129 ü 193

4 EOT 68 D 130 é 194

5 ENQ 69 E 131 â 195

(20)

7 BEL 71 G 133 à 197

8 BS 72 H 134 å 198 ã

9 HT 73 I 135 ç 199 Ã

10 LF 74 J 136 ê 200

11 VT 75 K 137 ë 201

12 FF 76 L 138 è 202

13 CR 77 M 139 ï 203

14 SO 76 L 140 î 204

15 SI 77 M 141 ì 205

16 DLE 78 N 142 Ä 206

17 DC1 79 O 143 Å 207 ¤

18 DC2 80 P 144 É 208 ð

19 DC3 81 Q 145 æ 209 Ð

20 DC4 82 R 146 Æ 210 Ê

21 NAK 83 S 147 ô 211 Ë

22 SYN 84 T 148 ö 212 È

23 ETB 85 U 149 ò 213 ı

24 CAN 86 V 150 û 214 Í

25 EM 87 W 151 ù 215 Î

26 SUB 88 X 152 ÿ 216 Ï

27 ESC 89 Y 153 Ö 217

Tabel 2.1 Kode ASCII 256 bit ( Lanjutan)

Desimal Simbol Desimal Simbol Desimal Simbol Desimal Simbol

28 FS 90 Z 154 Ü 218

29 GS 91 [ 155 ø 219

30 RS 92 \ 156 £ 220

31 US 93 ] 157 Ø 221 ¦

32 94 ^ 158 × 222 Ì

33 ! 95 _ 159 ƒ 223

34 " 96 ` 160 á 224 Ó

35 # 97 a 161 í 225 ß

(21)

37 % 99 c 163 ú 227 Ò

38 & 100 d 164 ñ 228 õ

39 ' 101 e 165 Ñ 229 Õ

40 ( 102 f 166 ª 230 µ

41 ) 103 g 167 º 231 þ

42 * 104 h 168 ¿ 232 Þ

43 + 105 i 169 ® 233 Ú

44 , 106 j 170 ¬ 234 Û

45 - 107 k 171 ½ 235 Ù

46 . 108 l 172 ¼ 236 ý

47 / 109 m 173 ¡ 237 Ý

48 0 110 n 174 « 238 ¯

49 1 111 o 175 » 239 ´

50 2 112 p 176 240

51 3 113 q 177 241 ±

52 4 114 r 178 242

53 5 115 s 179 243 ¾

54 6 116 t 180 244

55 7 117 u 181 Á 245 §

56 8 118 v 182 Â 246 ÷

57 9 119 w 183 À 247 ¸

Tabel 2.1 Kode ASCII 256 bit (Lanjutan)

58 : 120 x 184 © 248 °

Desimal Simbol Desimal Simbol Desimal Simbol Desimal Simbol

59 ; 121 y 185 249 ¨

60 < 122 z 186 250 ·

61 = 123 { 187 251 ¹

62 > 124 | 188 252 ³

63 ? 125 } 189 ¢ 253 ²

(22)

Dari tabel maka didapat nilai desimal dari

S = 83 A = 65 N = 78 T = 84 O = 79.

Maka enkripsi dilakukan dengan e = 3 dan n = 187 didapat hasil

c me(mod n) c1 833 (mod 187)

c1 128

c2 653 (mod 187) c2 109

c3 783 (mod 187) c3 133

c4 843 (mod 187) c4 101

c5 793 (mod 187) c5 107

Dari hasil perhitungan diatas maka didapat nilai dari c = 128109133101107. Kemudian Bob akan mengirimkan c kepada Alice dimana c = 128109133101107

Proses dekripsi

Setelah menerima ciphertext c = 128109133101107 dari Bob, Alice akan melakukan proses dekripsi dengan menggunakan kunci rahasia yang dimilikinya.

m cd (mod n)

m1 128107(mod 187) m1 83

m2 109107 (mod 187) m2 65

m3 133107 (mod 187)

m3 78

m4 101107 (mod 187) m4 84

(23)

m5 79

Bob mengubah nilai hasil dekripsi dengan menggunakan Tabel ASCII 8 bit, maka akan didapat hasil konversi :

18 = S 0 = A 13 = N 19 = T 30 = O

Maka Alice akan mendapatkan pesan dari Bob berupa teks yaitu SANTO.

2.6 Dasar Matematika Kriptografi

2.6.1 Pembagi Bersama Terbesar (PBB)

Jika a dan b adalah dua bilangan bulat tidak nol. Pembagi bersama terbesar

(PPB-greatest common divisor atau gcd) dari a dan b adalah bilangan bulat terbesar d sedemikian sehingga d | a dan d | b. Dalam hal ini dituliskan dengan gcd (a,b)=d [11]. Dimana d :

- d merupakan pembagi persekutuan dari a dan b,

- Jika c merupakan pembagi persekutuan dari a dan b, maka c ≤ d Contoh faktor pembagi dari 30: 1, 2, 3, 5, 6, 10, 15, 30;

Faktor pembagi dari 20: 1, 2, 4, 5, 10, 20;

Faktor pembagai bersama dari 30 dan 20 adalah 1, 2, 5, dan 10; Sehingga gcd(30,20) = 10

Dalam beberapa cabang matematika yang lebih abstrak, syarat d yang kedua diubah dengan c|d menggantikan c ≤ d sehingga d dan –d keduanya merupakan gcd(a,b) [6].

2.6.2 Aritmatika Modulo

Aritmatika yang banyak digunakan dalam kriptografi adalah apa yang disebut dengan aritmatika modular (modular arithmetic). Dalam kriptografi modular, domain yang digunakan adalah subset dari bilangan bulat dan bersifat finite (terbatas, besarnya

(24)

2,…,n-1} dimana n adalah besarnya domain. Aritmatika disebut dengan aritmatika modulo n, dengan pertambahan dan perkalian seperti aritmatika biasa menghasilkan bilangan yang termasuk didalam domain. Jika hasil merupakan bilangan diluar

domain maka bilangan harus dikurangi dengan kelipatan n sampai menghasilkan bilangan didalam domain. Contoh pada Tabel 1 menunjukkan aritmatika modulo 8.

Tabel 2.2 Contoh Aritmatika Modulo Ekspresi Hasil

3 + 3 6 5 + 2 7 7 + 4 3

-5 3

Operasi modulo daoat didefinisikan sebagai berikut:

a mod n = r = a – nq,

dengan kata lain a mod n merupakan remainder atau residue dari pembagian a oleh n [10]. Contoh lain dari aritmatika modulo adalah:

23 mod 5 = 3 = 23 – 5(4) dimana a = 23, n = 5, r = 3, q = 4

5 mod 8 = 5 = 5 – 8(0) dimana a = 5, n = 8, r = 5, q = 0

-4 mod 5 = 1 = -4 -5(1) dimana a = -4, n = 5, r = 1 =, q = 1

Aritmatika modulo cocok digunakan dalam kriptografi karena dua alasan:

a. Oleh karena nilai-nilai aritmatika modulo berada dalam himpunan berhingga (

0 sampai modulus m-1), maka kita tidak perlu khawatir hasil perhitungan berada di luar himpunan.

b. Karena kita bekerja dengan bilangan bulat, maka kita tidak khawatir kehilangan informasi akibat pembulatan sebagaimana pada operasi bilangan riil [11].

2.6.3 Bilangan Prima

(25)

khususnya kriptografi kunci publik, menggunakan bilangan prima yang besar (512 bit atau lebih).

Karena bilangan prima harus lebih besar dari 1, maka barisan aritmatika dimulai dari 2, yaitu 2, 3, 5, 7, 11, 13,…. Seluruh bilangan prima adalah bilangan ganjil kecuali 2 yang merupakan bilangan genap. Bilangan selain bilangan prima disebut bilangan komposit (composite). Misalnya bilangan 12 adalah bilangan koposit karena 12 dapat dibagi 2, 4, dan 6, selain 1 dan 12 sendiri. Dalam teori The Fundamental

Theorem og Arithmetic menyatakan bahawa setiap bilangan bulat positif yang lebih besar atau sama dengan 2 dapat dinyatakan sebagai perkalian satu atau lebih bilangan prima. Contoh:

2 x 2 = 4 3 x 2 = 6 2 x 2 x 5 = 20

Untuk menguji apakah n bilangan prima atau komposit, kita cukup membagi n dengan sejumlah bilangan prima, mulai dari 2, 3,…, bilangan prima ≤ √n. Jika n habis dibagi dengan salah satu dari bilangan prima tersebut, maka n adalah bilangan komposit, tetapi jika n tidak habis dibagi oleh semua bilangan prima tersebut, maka n adalah bilangan prima [11].

2.7 Fermat’s Little Theorem

Teorema Fermat menyatakan bahwa jika n adalah bilangan prima dan a merupakan bilangan bulat, 1≤ 𝑎 ≤ 𝑛 −1, maka an−1≡ 1 (mod n) [11]. Fermat’s Little Theorem dapat digunakan untuk mempermudah kalkulasi pemangkatan modulo bilangan prima. Sebagai contoh, kita coba kalkulasi 253 (mod 11). Karena 11 adalah bilangan prima dan 2 tidak dapat dibagi 11, maka teorema ini dapat digunakan untuk mengkalkulasi

211-1≡ 1 (mod 11) 210 mod 11 = 1 Jadi

(26)

Meskipun dapat digunakan untuk mempermudah kalkulasi, dalam kriptografi, peran terpenting dari Fermat’s Little Theorem adalah sebagai dasar dari berbagai teknik enkripsi asimetris [6].

2.8 Linear Congruential Generator (LCG)

Pembangkit bilangan acak kongruen-lanjar ( linear congruential generator atau LCG ) adalah salah satu pembangkit bilangan acak tertua dan sangat terkenal. LCG didefinisikan dalam relasi rekursens :

Xn = (aXn – 1 + b) mod m

Xn = bilangan acak ke-n dari deretnya

Xn – 1 = bilangan acak sebelumnya

a = faktor pengali

b = penambah (increment)

m = modulus

Kunci pembangkit adalah X0 yang disebut umpan (seed).

Contoh :

a = 3, b = 5 , m = 7

Xn = (3Xn – 1 + 5) mod 7, dan X0 = 0

Tabel 2.3 Hasil Perhitungan LCG

N Xn

0 0

1 5

2 6

3 2

4 4

5 3

6 0

7 5

8 6

(27)

10 4

11 3

Keunggulan dari LCG terdapat pada kecepatannya dan hanya membutuhkan sedikit operasi bit [11].

2.9 Timestamp

Timestamp adalah suatu metode untuk memperkuat penanganan penyangkalan.

Timestamp ini berguna untuk menyatakan bahwa pesan benar telah dibuat pada waktu tertentu, tidak diubah dan tidak dikirim ulang.

Timestamp dapat dibuat dalam berbagai bentuk dan ukuran, tergantung kepada presisi dan akurasi yang diperlukan. Tujuan timestamp adalah untuk memastikan bahwa pesan hanya berlaku untuk jangka waktu tertentu saja. Sebagai contoh, sistem hanya memungkinkan paket akan berlaku selama 30 detik sejak timestamp diterapkan [9].

Pesan yang diterima masih berlaku jika :

a. Perbedaan timestamp berada dalam rentang yang telah ditentukan (interval waktu yang ukurannya tetap,misalnya 10 milidetik atau 20 detik, dipilih berdasarkan maksimum transit pesan dan lamanya proses, ditambah dengan perubahan jam ), dan

b. Tidak ada pesan dengan timestamp yang identik, yang sebelumnya telah diterima dari pengirim yang sama. Pemeriksaan ini dapat dilakukan dengan cara menyimpan semua timestamp yang diterima dari masing-masing entitas sumber pada saat itu [8].

(28)

yang sudah digunakan atau mengatur maju waktu yang ada sehingga dapat mempersiapkan pesan palsu untuk tujuan tertentu di waktu yang ajan datang.

2.10 Penelitian Terdahulu

Beberapa penelitian yang sebelumnya telah dilakukan yang berkaitan dengan autentikasi dan algoritma RSA adalah:

1. Penelitian yang dilakukan Prasasti Imani yang berjudul “Analisis Kemamanan Kunci Publik RSA” melakukan analisis terhadap algoritma RSA untuk mendapatkan tingkat keamanan kriptosistem yang tinggi. Hasil penelitian yang dilakukan diambil kesimpulan bahwa keamanan algoritma RSA tergantung dari faktorisasi bilangan yang besar. Pada analisis faktorisasi dengan menggunakan algoritma fermat tingkat keamanan lebih tinggi jika menggunakan nilai p dan q yang besar. Analisis berdasarkan kurva elliptic kunci dari p dan q harus memiliki digiti yang hampir sama. Pada analisis serangan terhadap RSA akan diperoleh tingkat keamanan yang tinggi jika pada pemilihan nilai dari e yang besar [5].

2. Pada penelitian yang dilakukan oleh Miranti Prasetyia yang melakukan perbandingan algoritma Message Digest 5 (MD5) dengan Secure Hash Algorithm 1 (SHA1) dengan tujuan untuk memberikan algoritma aternatif dalam mengautentikasi pesan. Analisis dari segi keamanan yang ditinjau dari panjang outputnya dilakukan dengan serangan menggunakan metode brute

force attack dan birthday attack. Analisis Pada perbandingan analisis implementasi dan kecepatan dilakukan dengan membandingkan panjang message digest dan kecepatan yang diperlukan dalam menghasilkan message

digest tersebut. Dari hasil percobaan didapat bahwa MD5 lebih cepat dari SHA1 [12].

3. Pada penelitian fitrhi kairani dilakukan pengujiaan tingkat kemanan algoritma

Gambar

Gambar 2.1 Proses Enkripsi dan Dekripsi
Gambar 2.2 Proses Autentikasi Denning-Sacco
Gambar 2.3 Proses Enkripsi dan Dekripsi Pada Kriptografi Simetri
Gambar 2.4 Proses Enkripsi dan Dekripsi pada Kriptografi Asimetri
+6

Referensi

Dokumen terkait

Sehingga diperoleh plainteks ( m ) yang jika kunci dan cipherteks benar, plainteks hasil dekripsi sama dengan pesan aslinya. Untuk mempermudah pemahaman langkah-langkah

1) Confidentiality (kerahasiaan) yaitu isi pesan yang dikirim tidak diketahui oleh pihak yang tidak berhak. 2) Dataintegrity (keutuhandata) yaitu isi pesan harus utuh, dimana

Selain otentikasi pesan, sistem tanda tangan digital yang ditambah fungsi hash dapat mewujudkan layanan keutuhan data beserta dengan proses sign/verify.. Misalnya Alice ingin

Algoritma RSA adalah salah satu algoritma kunci publik yang dapat digunakan untuk sistem tanda tangan digital.. Mekanisme kerja algoritma RSA cukup sederhana dan mudah

Plaintext dienkripsi dengan kunci kemudian menghasilkan ciphertext, kemudian untuk mendekripsi ciphertext menggunakan kunci yang sama pada proses enkripsi untuk menghasilkan

Modifikasi Playfair cipher Dengan Teknik Pemutaran Kunci Dua Arah Ide untuk mencegah terjadinya pasangan huruf yang terus berulang memiliki hasil enkripsi yang sama adalah

Dari pengertian diatas dapat didefinisikan bahwa kriptografi adalah cabang ilmu yang mempelajari cara mengubah informasi dari keadaan/bentuk normal (dapat dipahami)