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.
Setelah tahun 1980-an berbagai literatur yang ada sudah memiliki definisi yang lebih kompleks mengenai kriptografi. Salah satu definisi yang ditulis dalam buku [8] menyatakan bahwa kriptografi adalah ilmu yang mempelajari
teknik-teknik
matematika yang berhubungan dengan aspek keamanan informasi seperti kerahasian, integritas data, serta autentikasi. Oleh karena itu kriptografi tidak hanya berarti keamanan informasi saja, tetapi juga mengenai teknik atau cara yang dipakai didalamnya.
Universitas Sumatera Utara
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
Pada awalnya kriptografi hanya dipakai dengan tujuan untuk merahasiakan pesan dan dalam penggunaanya terbatas kepada kalangan pemerintahan serta pihak yang memiliki kekuasaan saja. Namun dalam perkembanganya kriptografi tidak hanya digunakan untuk merahasiakan pesan tetapi juga untuk menjamin integrtas data dan
Universitas Sumatera Utara
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) Autentikasi berhubungan dengan identifikasi. Tujuannya untuk menjamin bahwa semua pihak yang berkomunikasi memang pihak yang memiliki otoritas. Dua pihak yang saling berkomunikasi harus saling memperkenalkan diri. Informasi yang dikirimkan melalui kanal harus diautentikasi keaslian, isi datanya, waktu pengiriman, dan lainlain. Dalam aspek autentikasi terbagi atas dua bagian utama yaitu user
Universitas Sumatera Utara
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 nirpenyangkalan. 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 Komunikasi data melibatkan pertukaran pesan antara beberapa entitas. Pengirim (sender) adalah entitas yang mengirim pesan kepada entitas lainnya. Penerima (receiver) entitas yang menerima pesan. Arbitrator pihak ketiga yang terpercaya. Biasanya dipakai dalam beberapa
Universitas Sumatera Utara
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 Penyadap (eavesdropper) adalah pihak yang mencoba menangkap pesan selama ditransmisikan. Tujuan penyadapan adalah untuk mendapatkan
informasi
sebanyak-banyaknya
mengenai
sistem
Universitas Sumatera Utara
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]. `
PLAINTEXT
CIPHERTEXT
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. b. Set C dari informasi pelengkap (complementary information) merupakan set mengenai informasi dimana sistem menyimpan dan
Universitas Sumatera Utara
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 password tersebut. Sistem tidak dapat membedakan antara penyadap dengan pengguna yang sah, sistem secara pasti akan memberikan akses. Maka perlu dipakai suatu cara untuk mengatasi hal tersebut yaitu dengan cara mengubah password yang ada setiap saat, dengan begitu
Universitas Sumatera Utara
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 challengeresponse 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: Grounding Cyberspace for Better Security” melakukan sebuah inovasi dalam melakukan autentikasi. Misalnya ketika seorang user mengaku sebagai Anna, dimana Anna merupakan wanita yang bekerja disalah satu bank di California pada saat itu tetapi melakukan logging dari Rusia, dapat dipastikan user tersebut berpura-pura sebagai Anna. Cara ini dilakukan berdasarkan GPS (Global Positioning System) yang dapat menunjukkan dengan tepat lokasi sebuah tempat. Lokasi fisik sebuah entitas ditunjukkan dengan lokasi yang ditandai oleh GPS. Tanda ini dikirim untuk mengautentikasi user. Host juga memiliki sebuah LSS (Location Signature Sensor) dan menerima tanda yang sama untuk
Universitas Sumatera Utara
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.
-
Protokol harus selesai: harus ada langkah yang jelas untuk setiap kemungkinan yang ada.
Universitas Sumatera Utara
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.
Needham dan Schroeder membuat protokol pendistribusian kunci untuk sistem kunci tunggal dan sistem kunci publik yang berdasarkan fasilitas pendistribusian kunci terpusat yang dinamakan Autentication Server (AS). Protokol yang ada pada sistem satu kunci mengasumsikan bahwa AS adalah pihak yang bertanggungjawab dalam semua pembangkitan dan pendistribusian kunci komunikasi, dan setiap user mempunyai kunci rahasia yang tercatat didalam AS. AS akan menggunakan kunci rahasia untuk mengamankan kunci komunikasi yang akan dikirimkan kepada user. Jika kunci komunikasi dan kunci rahasia tidak bocor seperti yang diasumsikan
Universitas Sumatera Utara
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 masingmasing 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 CK akan digunakan pada proses pengiriman pesan yang terenkripsi antara A dan B. Karena CK dipilih dan dienkripsi oleh A maka tidak akan ada resiko akan terbongkar
Universitas Sumatera Utara
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:
nA = 403
nB = 493
nT = 437
Universitas Sumatera Utara
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
= nAdT mod 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 = 24103 mod 403
Universitas Sumatera Utara
= 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 = 30
Universitas Sumatera Utara
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 (asymmetric cryptography).
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). ` KUNCI PRIVAT(k)
PLAINTEXT
ENKRIPSI
Ek(p)=c
CIPHERTEXT
DEKRIPSI
PLAINTEXT
Dk(c)=p
Gambar 2.3 Proses Enkripsi dan Dekripsi Pada Kriptografi Simetri Keterangan : k
: Kunci rahasia
p
: Plaintext
c
: Ciphertext
Ek(p)
: Proses enkripsi
Dk(c)
: Proses dekripsi
Universitas Sumatera Utara
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 in Crryptography”. Makalah yang mereka buat membahas distribusi kunci rahasia pada saluran komunikasi publik (yang tidak aman) dengan metode pertukaran kunci yang belakangan dikenal dengan nama algoritma pertukaran kunci Deffie-Hellman. Kemudian pada tahun 1977. Pada tahun 1977, generalisasi dari ide Cocks ditemukan kembali oleh tiga ilmuan yaitu Rivest, Shamir dan Adleman. Algoritma enkripsi yang mereka buat dikenal dengan nama RSA.
Pada tahun 1980 Neal Koblitz
memperkenalkan elliptic-curve cryptography. Hingga saat ini kriptografi kunci publik terus berkembang pesat seiring dengan aplikasinya yang begitu luas [11].
Universitas Sumatera Utara
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. ` KUNCI PUBLIK(k1)
PLAINTEXT
ENKRIPSI
Ek1(p)=c
KUNCI PRIVAT(k2)
CIPHERTEXT
DEKRIPSI
PLAINTEXT
Dk2(c)=p
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
Algoritma kunci publik RSA merupakan salah satu jenis kriptografi asimetri. Algoritma RSA banyak digunakan dalam protokol autentikasi. Algoritma RSA merupakan singkatan dari ketiga orang yang menemukannya, mereka adalah Ron Rivest, Adi Shamir dan Len Adlemen dan RSA merupakan kepanjangan dari Rivest-
Universitas Sumatera Utara
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 p≠q 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 Alice mendekripsi pesan dari Bob dengan rumus :
Universitas Sumatera Utara
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
├
6
ACK
70
F
132
ä
196
─
Universitas Sumatera Utara
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
28
FS
90
Z
154
Ü
218
┌
29
GS
91
[
155
ø
219
█
30
RS
92
\
156
£
220
▄
31
US
93
]
157
Ø
221
¦
94
^
158
×
222
Ì
32
Desimal
Simbol
Desimal
Simbol
33
!
95
_
159
ƒ
223
▀
34
"
96
`
160
á
224
Ó
35
#
97
a
161
í
225
ß
36
$
98
b
162
ó
226
Ô
Universitas Sumatera Utara
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
¸
248
°
Tabel 2.1 Kode ASCII 256 bit (Lanjutan) 58
:
120
x
184
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
²
254
■
255
nbsp
Desimal
© Simbol
Desimal
Simbol
Universitas Sumatera Utara
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
m5 ≡ 107107 (mod 187) Universitas Sumatera Utara
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 (PPBgreatest 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 domain merupakan bilangan bulat). Domain dari aritmatika modular adalah {0, 1,
Universitas Sumatera Utara
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
Bilangan prima adalah bilangan yang lebih besar dari 1, hanya bisa dibagi oleh 1 dan bilangan itu sendiri. Tidak ada bilangan lain yang bisa membagi bilangan tersebut. Bilangan prima merupakan bilangan yang tidak tidak terbatas. Dalam kriptografi,
Universitas Sumatera Utara
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: 2x2=4 3x2=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 253 = (210)5 × 23 ≡ 15 × 23 ≡ 8 (mod 11).
Universitas Sumatera Utara
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
9
2
Universitas Sumatera Utara
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].
Kemanan berdasarkan verifikasi timestamp mengandalkan keterangan waktu yang ada. Hal ini memerlukan adanya penunjuk waktu di host dan keduanya tersinkronisasi dengan mudah dan terlindungi dari adanya modifikasi. Sinkronisasi sangat diperlukan untuk menghitung putaran penunjuk waktu dan juga dapat memuat dukungan terhdap aplikasi yang digunakan. Penunjuk waktu harus aman agar mencegah musuh mengatur ulang waktu secara berlawanan arah sehingga dapat mengembalikan pesan
Universitas Sumatera Utara
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
lebih
algoritma
fermat tingkat
keamanan
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 RSA dengan menghitung lama waktu untuk memperoleh kunci private dengan menggunakan Universal Exponent Factoring. dari hasil pengujian didapatkan kesimpulan bahwa panjang nilai n berbanding lurus dengan waktu pemecahan kuncinya yang artinya semakin panjang nilai n maka semakin besar waktu yang dibutuhkan untuk memecahkannya [7].
Universitas Sumatera Utara