Algoritma pada awalnya menggunakan perhitungan dalam ilmu … .

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.

  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 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 lain- lain. Dalam aspek autentikasi terbagi atas dua bagian utama yaitu user

  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 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 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 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 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 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: 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 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.

  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 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 P A dan S A adalah kunci publik dan kunci rahasia dari

  A,

  maka protokol akan berjalan sebagai berikut:

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

SAS SAS

  Dimana CA = { A, PA, T} dan CB = {B, PB, T} 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)

SA PB

  A } → B: CA,CB, {{CK,T}

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 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

  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.

  dT Signed_eA = eA mod nT

  61 = 7 mod 437 = 387 dT

  Signed_nA = nA mod nT

  61 = 403 mod 437 = 101 dT

  Signed_eB = eB mod nT

  61 = 5 mod 437 = 130 dT

  Signed_nB = nB mod nT

  61 = 493 mod 437 = 132

  Trent juga mengirim kepada Alice identitas mereka yaitu

  A dan B yang telah di signed menggunakan kunci rahasia Trent. dT

  Signed_A = A mod nT

  61 = 30 mod 437 = 278 dT

  Signed_B = B mod nT

  61 = 50 mod 437 = 410

  c.

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

  K = 24 T = 115

  Alice menandai K dan T dengan kunci rahasianya

  dA Signed_K = K mod nA

  103 = 24 mod 403

  = 353 Signed_T = T dA mod nA = 50

  269 mod 493 = 106

  B = signed_B eA mod nA = 410

  13 mod 437 = 50

  A = signed_A eA mod nA = 278

  Bob mendekripsi identitas A dan B dengan menggunakan kunci publik Trent

  269 mod 403 = 115

  T = Decrypted_Signed_T eA

mod nA

= 106

  7 mod 403 = 24

  K = Decrypted_Signed_K eA

mod nA

= 353

  Kemudian mendekripsinya kembali dengan menggunakan kunci publik Alice

  Decrypted_Signed_K = Encrypted_Signed_K dB mod nB = 21

  103 mod 403 = 106

269

mod 493 = 353

  Decrypted_Signed_K = Encrypted_Signed_K dB mod nB = 370

  Bob mendekripsi Encrypted_signed_K dan Encrypted_signed_T dengan kunci rahasianya

  d.

  5 mod 493 = 21

  Encrypted_Signed_T = signed_T eB mod nB = 106

  5 mod 493 = 370

  Encrypted_Signed_K = signed_K eB mod nB = 353

  Kemudian Alice mengenkripsi kembali dengan kunci publik Bob

  13 mod 437 = 30

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 CIPHERTEXT PLAINTEXT

ENKRIPSI DEKRIPSI

E k (p)=c D k (c)=p

Gambar 2.3 Proses Enkripsi dan Dekripsi Pada Kriptografi Simetri

  Keterangan :

  k : Kunci rahasia

  :

  p Plaintext c : Ciphertext E k (p) : Proses enkripsi

  : Proses dekripsi

  D k (c)

  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].

  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 KUNCI

  PUBLIK(k ) 1 PRIVAT (k ) 2 PLAINTEXT CIPHERTEXT PLAINTEXT ENKRIPSI DEKRIPSI E (p)=c D (c)=p

k1 k2

Gambar 2.4 Proses Enkripsi dan Dekripsi pada Kriptografi Asimetri

  Keterangan: : Kunci publik

  k

  1 k 2 : Kunci rahasia p : Plaintext

  :

  c Ciphertext E (p) : Proses enkripsi k1

  D k2 (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-

  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 (1 (mod φ(n)) [10].

  ≡ e 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

  e c (mod n)

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

  Dekripsi

  Alice mendekripsi pesan dari Bob dengan rumus :

  d m (mod n) [13].

  ≡ c 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

  NULL

  64 @ 126 ~ 190 ¥

  1 65 127 191

  SOH A DEL ┐

  2 66 128 192

  STX B Ç └

  3 67 129 193

  ETX C ü ┴

  4 EOT

  68 D 130 é 194

  ┬

  5 ENQ

  69 E 131 â 195

  ├

  6 70 132 196

  ACK F ä ─

  7 BEL

Tabel 2.1 Kode ASCII 256 bit ( Lanjutan) Desimal Simbol Desimal Simbol Desimal Simbol Desimal Simbol

  92

  30 RS

  █

  219

  ø

  155

  [

  91

  29 GS

  ┌

  90 Z 154 Ü 218

  28 FS

  ┘

  156

  89 Y 153 Ö 217

  27 ESC

  88 X 152 ÿ 216 Ï

  26 SUB

  Î

  215

  ù

  87 W 151

  25 EM

  Í

  214

  û

  \

  £

  24 CAN

  `

  ß

  225

  í

  161

  a

  97

  #

  35

  Ó

  224

  á

  160

  96

  220

  "

  34

  ▀

  32 94 ^ 158 × 222 Ì 33 ! 95 _ 159 ƒ 223

  ¦

  221

  Ø

  157

  ]

  93

  31 US

  ▄

  86 V 150

  ı

  71 G 133 à 197

  ê

  14 SO

  ╦

  77 M 139 ï 203

  13 CR

  ╩

  76 L 138 è 202

  12 FF

  ╔

  75 K 137 ë 201

  11 VT

  ╚

  200

  74 J 136

  î

  10 LF

  Ã

  199

  ç

  73 I 135

  9 HT

  ã

  198

  å

  72 H 134

  8 BS

  ┼

  76 L 140

  204

  85 U 149 ò 213

  æ

  23 ETB

  84 T 148 ö 212 È

  22 SYN

  83 S 147 ô 211 Ë

  21 NAK

  Ê

  210

  Æ

  82 R 146

  20 DC4

  Ð

  209

  81 Q 145

  ╠

  19 DC3

  80 P 144 É 208 ð

  18 DC2

  79 O 143 Å 207 ¤

  17 DC1

  ╬

  78 N 142 Ä 206

  16 DLE

  ═

  205

  ì

  77 M 141

  15 SI

  36 $ 98 b 162 ó 226 Ô

  7

  58 : 120 x 184 © 248 °

Tabel 2.1 Kode ASCII 256 bit (Lanjutan)

  9 119 w 183 À 247 ¸

  57

  8 118 v 182 Â 246 ÷

  56

  §

  245

  Á

  181

  u

  117

  55

  59

  ¶

  244

  ┤

  180

  t

  116

  6

  54

  243 ¾

  5 115 s 179 │

  53

  ‗

  Desimal Simbol Desimal Simbol Desimal Simbol Desimal Simbol

  ;

  4 114 r 178 ▓

  61

  255

  ■

  252 ³ 63 ? 125 } 189 ¢ 253 ² 254

  ╝

  62 > 124 | 188

  ¹

  251

  ╗

  187

  {

  123

  =

  ·

  121

  250

  ║

  186

  z

  122

  <

  60

  ¨

  249

  ╣

  185

  y

  242

  52

  37 % 99 c 163 ú 227 Ò

  Ñ

  44

  41 ) 103 g 167 º 231 þ 42 * 104 h 168 ¿ 232 Þ 43 + 105 i 169 ® 233 Ú

  µ

  230

  ª

  166

  f

  102

  (

  40

  Õ

  229

  165

  106

  e

  101

  '

  39

  õ

  228

  ñ

  164

  d

  100

  &

  38

  ,

  j

  241 ±

  175

  3 113 q 177 ▒

  51

  240

  ░

  176

  p

  112

  2

  50

  ´

  239

  »

  o

  170

  111

  1

  49

  46 . 108 l 172 ¼ 236 ý 47 / 109 m 173 ¡ 237 Ý 48 110 n 174 « 238 ¯

  Ù

  235

  ½

  171

  k

  45

  Û

  234

  ¬

  nbsp 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

  e c (mod n)

  ≡ m

  3 c1 (mod 187)

  ≡ 83

  c1

  ≡ 128

  3 c2 (mod 187)

  ≡ 65

  c2

  ≡ 109

  3 c3 (mod 187)

  ≡ 78

  c3

  ≡ 133

  3 c4 (mod 187)

  ≡ 84

  c4

  ≡ 101

  3 c5 (mod 187)

  ≡ 79

  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.

  d m (mod n)