• Tidak ada hasil yang ditemukan

BAB II TINJAUAN PUSTAKA

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB II TINJAUAN PUSTAKA"

Copied!
15
0
0

Teks penuh

(1)

BAB II

TINJAUAN PUSTAKA

2.1 Kriptografi

Secara etimologi (ilmu asal usul kata), kata kriptografi berasal dari gabungan dua kata dalam bahasa Yunani yaitu “kriptos” dan “graphia”. Kata kriptos digunakan untuk mendeskripsikan sesuatu yang disembunyikan, rahasia atau misterius. Sedangkan kata graphia berarti tulisan. Kriptografi didefinisikan sebagai ilmu dan pelajaran untuk tulisan rahasia dengan pertimbangan bahwa komunikasi dan data dapat dikodekan untuk mencegah dari mata-mata atau orang lain yang ingin mengetahui isinya, dengan menggunakan kode-kode dan aturan-aturan tertentu dan metode lainnya sehingga hanya orang yang berhak yang dapat mengetahui isi pesan sebenarnya.

Selain definisi di atas, Schneier (1996) mengemukakan pendapatnya tentang definisi kriptografi yaitu:ilmu dan seni untuk menjaga keamanan pesan. Penggunaan kata “seni” di dalam definisi di atas berasal dari fakta sejarah bahwa pada masa-masa awal sejarah kriptografi, setiap orang mungkin mempunyai cara yang unik untuk merahasiakan pesan. Cara-cara unik tersebut mungkin berbeda-beda pada setiap pelaku kriptografi sehingga setiap cara menulis pesan rahasia pesan mempunyai nilai estetika tersendiri sehingga kriptografi berkembang menjadi sebuah seni merahasiakan pesan (kata “graphy” di dalam “cryptography” itu sendiri sudah menyiratkan sebuah seni, (Mollin, 2006)).

Dalam menjaga kerahasiaan data, kriptografi mentransformasikan data jelas (plaintext) ke dalam bentuk data sandi (ciphertext) yang tidak dapat dikenali. Ciphertext inilah yang kemudian dikirimkan oleh pengirim (sender) kepada penerima (receiver). Setelah sampai di penerima, ciphertext tersebut ditranformasikan kembali ke dalam bentuk plaintext agar dapat dikenali.

Ada empat tujuan mendasar dari kriptografi yang juga merupakan aspek keamanan informasi (Menezes. et al,1996) (Scheiner. B., 1996), yaitu:

(2)

1. Kerahasiaan (Confidentiality), adalah layanan yang digunakan untuk menjaga isi informasi dari siapapun, kecuali yang memiliki kunci rahasia atau otoritas untuk membuka informasi yang telah disandikan.

2. Integritas Data (Message Integrity), berhubungan dengan penjagaan (perlindungan data) dari upaya-upaya pengubahan data secara tidak sah. Untuk dapat menjaga integritas data, suatu sistem harus memiliki kemampuan untuk mendeteksi pemanipulasian data yang dilakukan oleh pihak-pihak yang tidak berhak, antara lain penyisipan, penghapusan, dan pendistribusian data lain ke dalam data yang asli.

3. Autentifikasi (Authentication), berhubungan dengan identifikasi, baik secara kesatuan sistem maupun informasi itu sendiri. Dua pihak yang saling berkomuniasi harus saling memperkenalkan diri. Informasi yang dikirimkan harus diautentikasi keasliannya, isi datanya, waktu pengirimannya dan lain sebagainya.

4. Nirpenyangkalan (Non-repudiation), merupakan usaha untuk mencegah terjadinya penyangkalan terhadap pengiriman/terciptanya suatu informasi oleh yang mengirimkan/membuat, juga sebaliknya.

2.1.1 Konsep Dasar Kriptografi

Pada kriptografi akan ditemukan beberapa istilah-istilah yang penting untuk diketahui dalam memahami ilmu kriptografi. Istilah-istilah dan konsep dasar kriptografi tersebut akan dijelaskan sebagai berikut.

a. Enkripsi dan Dekripsi

Secara garis besar, prosoes enkripsi adalah proses pengacakan “naskah asli” (Plaintext) menjadi naskah acak (ciphertext) yang “sulit untuk dibaca” oleh seseorang yang tidak mempunyai kunci dekripsi, artinya probabilitas mendapat kembali naskah asli oleh seseorang yang tidak mempunyai kunci dekripsi dalam waktu yang tidak terlaluu lama adalah sangat kecil. Jadi suatu proses enkripsi yang baik menghasilkan naskah acak yang memerlukan waktu yang lama untuk di dekripsi oleh seseorang (Sentot Kromodimoeljo, 2000).

(3)

Sedangkan dekripsi merupakan algoritma atau cara yang dapat digunakan untuk membaca informasi yang telah dienkripsi untuk dapat dibaca kembali (Kurniawan. Y., 2004).

Secara umum kriptografi mengatasi masalah keamanan data dengan menggunakan kunci, yang dalam hal ini algoritma tidak dirahasiakan lagi, tetapi kunci harus tetap dijaga kerahasiaannya. Kunci (key) adalah parameter yang digunakan untuk transformasi enciphering dan

deciphering. Kunci biasanya berupa string atau deretan bilangan. Skema

enkripsi dan dekripsi dengan menggunakan kunci diperlihatkan pada gambar 2.1 dibawah ini :

Kunci Kunci

Plaintext Plaintext

Gambar 2.1 Skema enkripsi dan dekripsi

b. Plaintext dan Ciphertext

Pesan merupakan data atau informasi yang dapat dimengerti maknanya, nama lain dari pesan adalah plaintext. Pesan dapat berupa teks, video, gambar dan lain-lain. Ketika pesan ingin dijaga kerahasiaannya maka pesan perlu disandikan ke bentuk lain yang tidak dapat dipahami oleh orang lain. Bentuk pesan yang telah tersandikan tersebut dinamakan dengan ciphertext. Perbandingan antara plaintext dan ciphertext dapat dilihat pada gambar 2.3a dan 2.3b.

Dekripsi Enkrips

(4)

(a) Plaintext (b) ciphertext Gambar 2.2 perbandingan plaintext dan ciphertext

c. Kriptanalisis dan kriptologi

Tugas utama kriptografi adalah untuk menjaga agar baik plaintext maupun kunci ataupun keduanya tetap terjaga kerahasiannya. Berbeda dengan kriptanalisis (Cryptanalysis) yang merupakan suatau ilmu dan seni untuk memecahkan chipertext menjadi plaintext tanpa memerlukan kunci yang digunakannya. Jika seorang kriptografer mentranformasikan plaintext ke dalam ciphertext dengan menggunakan kunci, maka sebaliknya seorang kriptanalis berusaha memecahkan ciphertext tersebut untuk menemukan

plaintext atau kunci. Sedangkan studi mengenai kriptografi dan kriptanalis

tersebut disebut dengan kriptologi (cryptlogy). hubungan antara kriptologi, kriptografi dan kriptanalisis dapat dilihat pada Gambar 2.3.

Kriptologi

Kriptografi kriptanalisis

Gambar 2.3 Hubungan Kriptologi, kriptanalisi, dan kriptografi

2.1.2 Jenis Kriptografi

Terdapat dua jenis algoritma kriptografi berdasarkan jenis kuncinya, yaitu:

a. Algoritma Simetri

Algoritma simetri disebut juga sebagai algoritma konvensional adalah algoritma yang menggunakan kunci enkripsi yang sama dengan kunci dekripsinya. Disebut konvensional karena algoritma yang biasa digunkan orang sejak berabad-abad yang lalu adalah jenis algoritma ini.

(5)

Algoritma simetri ssering juga disebut sebagai algoritma kunci rahasia, algoritma kunci tunggal atau algoritma satu kunci, dan mengharuskan pengirim dan penerima menyetujui suatu kunci tertentu sebelum mereka dapat berkomunikasi dengan aman. Keamanan algoritma simetri tergantung pada kunci, agar komunikasi tetap aman, maka kunci harus tetap dirahasiakan.

Algoritma simetri dapat dibagi dalam dua kategori, jenis pertama beroperasi pada plaintext yang berupa satu bit tunggal pada satu waktu, yang disebut dengan stream algorithms (algoritma aliran atau stream

ciphers). Jenis kedua beroperasi pada plaintext dalam grup bit, grup

bit-bit ini blok yang disebut sebagai algoritma blok atau kode rahasia blok (block cipher).

Proses dari skema kriptografi simetri dapat dilihat pada Gambar2.4

Enkripsi EK (P)=C

Dekripsi DK (C)=P Kunci Privat, K

Plaintext, P Ciphertext, C Plaintext, P

Gambar 2.4 Kriptografi Simetri

b. Algoritma Asimetri

Algoritma asimetrik (juga disebut algoritma kunci publik) didesain sedemikian sehingga kunci yang digunakan untuk enkripsi berbeda dari kunci yang digunakan untuk dekripsi. Kunci dekripsi tidak dapat (sedikitnya dalam waktu yang diterima) dihitung dari kunci enkripsi. Algoritma asimetri disebut algoritma kunci publik karena kunci enkripsi dapat dibuat publik yang berarti semua orang boleh mengetahuinya. Setiap orang dapat menggunakan kunci enkripsi tersebut untuk mengenkripsi pesan, namun hanya orang tertentu (pemilik rahasia) yang dapat melakukan dekripsi terhadap pesan tersebut. Dalam sistem ini kunci enkripsi deisebut

(6)

dengan kunci publik, sedangkan kunci dekripsi disebut dengan kunci privat.

Proses dari skema kriptografi asimetri dapat dilihat pada Gambar 2.5.

Enkripsi EK1 (P)=C

Dekripsi DK2 (C)=P Kunci Publik, K1 Kunci Privat, K2

Palintext, P Ciphertext, C Plaintext, P

Gambar 2.5 Skema kriptografi kunci asimetri

2.1.3 Protokol Kriptografi

Protokol adalah aturan yang berisi rangkaian langkah-langkah, yang melibatkan dua atau lebih orang, yang dibuat untuk menyelesaikan suatu kegiatan. Protokol digunakan untuk mengabtraksikan proses penyelesaian suatu tugas dari mekanisme yang digunakan.

Protokol kriptografi adalah protokol yang menggunakan kriptografi dengan melibatkan sejumlah algoritma kriptografi. Protokol kriptografi memiliki urutan dari awal hingga akhir, setiap langkah harus dilakukan secara berurutan, dan langkh tidak dapat dikerjakan bila langkah sebelumnya belum selesai.

Beberapa jenis protokol kriptografi antara lain:

a. Abritated protocol

Arbiter adalah pihak ketiga yang dipercaya yang melengkapi

transaksi antara dua pihak atau lebih. Contohnya yaitu penjualan mobil dengan menggunakan jasa makelar, transaksi yang menggunakan kartu kredit, dan lain-lain. Pada protocol di dalam computerarbiter adalah pihak ketiga yang menjamin tidak ada kecurangan yang dilakukan ke dua belah pihak. Arbiter biasanya adalah program atau mesin yang yang mengirim kembali pesan dari atu user ke user lain dalam jaringan computer.Arbiter selalu berpartisipasi dalam setiap transaksi.

(7)

Ada beberapa kelemahan menggunakan protocol jenis arbiter. Sangat sulit menemukan seorang atau pihak arbiteryang dapat dipercaya, mampu menjamin tidak terjadi kecurangan, dan mampu menyimpan kerahasiaan data-data yang perlu disembunyikan. Selain itu harus ada biaya tambahan untuk membayar arbiter. Karena menggunakan prosedur dan pihak tambahan dalam komunikasi, maka waktu dalam melakukan transaksi maupun komunikasi akan semakin lama. Delainya pun akan bertambah besar. Bila banyak transaksi yang dilakukan dalam waktu yang hamper bersamaan, maka akan terjadi kemacetan yang dalam bahasa kerennya disebut bottleneck atau leher botol. Kerahasiaannya pun tergantung pada seberapa besar pihak ketiga mampu menjaga kerahasiaan data-data penting.

b. Adjudicated protocol

Protokol ini berbeda dengan protocol yang sebelumnya. Untuk protocol ini, menggunakan pihak ketiga yang hanya bertindak sebagai juri bila terjadi kecurangan. Contoh yang bsa dilihat dalam kehidupan adalah adanya notaris dalam sengketa tanah.

Dalam protocol ini juga terdapat beberapa kelemahan termasuk analisis yang digunakan atau dilakukan harus setelah masalah terjadi dan tidak ada upaya untuk melakukan pencegahan. Tetapi keuntungannya adalah tidak perlu mengeluarkan banyak biaya dibanding dengan menggunakan arbiter karena keterlibatan pihak ketiga terbatas pada adanya masalah.

c. Self-enforcing protocol

Protocol ini tidak melibatkan pihak ketiga. Prosedur yang digunakan adalah masing-masing pihak yang melakukan hubungan mempunyai kontrol terhadap pihak lainnya. Kelebihannya adalah biaya yang dikeluarkan lebih rendah dibanding dengan dua protocol sebelumnya, tetapi kekurangannya adalah sangat sulit melakukan pengamatan pada setiap kondisi.

(8)

2.2 Pembangkit Bilangan Acak (Cryptographcally-secure Pseudo-Random Number Generator)

Cryptographically-secure Pseudo-Random Number Generator (CPRNG) adalah suatu peralatan komputasional yang dirancang untuk menghasilkan suatu urutan nilai yang tidak dapat ditebak polanya dengan mudah, sehingga urutan nilai tersebut dapat dianggap sebagai suatu keadaan acak (random). CPRNG ini tidak dapat diterapkan dalam prakteknya.Bilangan acak yang dihasilkan oleh komputer sekalipun tidak benar-benar acak dan kebanyakan bilangan acak yang diterapkan dalam kriptografi juga tidak benar-benar acak, tetapi hanya berupa acak semu.Ini berarti bahwa bilangan acak yang dihasilkan itu dapat ditebak susunan atau urutan nilainya.Dalam kriptografi, bilangan acak sering dibangkitkan dengan menggunakan pembangkit bilangan acak semu (Cryptographically-secure

Pseudo-Random Number Generator).

Suatu Cryptographically-secure Pseudo-Random Number Generator(CPRNG) merupakan suatu algoritma yang menghasilkan suatu urutan nilai dimana elemen-elemennya bergantung pada setiap nilai yang dihasilkan.Output dari CPRNG tidak betul-betul acak, tetapi hanya mirip dengan properti dari nilai acak.Kebanyakan algoritma dari Cryptographically-secure Pseudo-Random

Number Generator ditujukan untuk menghasilkan suatu sampel yang secara

seragam terdistribusi. CPRNG ini sering digunakan dalam kriptografi pada proses pembentukan kunci dari metoda kriptografi. Tingkat kerumitan dari CPRNG ini menentukan tingkat keamanan dari metoda kriptografi.Semakin rumit (kompleks) CPRNG yang digunakan maka semakin tinggi tingkat keamanan dari metode kriptografi.

2.3 Quadratic Linear Congruential Generator

Quadratic Linear Congruential Generator (QLCG) adalah salah satu

pembangkit bilangan acak yang dikemukakan oleh Jim Reeds (1294,1295,1296) dan Joan Boyar (1251) dengan rumus:

𝑿𝒏 = �𝒂𝑿𝒏−𝟏𝟐 + 𝒃𝑿𝒏−𝟏+ 𝒄 �𝒎𝒐𝒅 𝒎

dimana 𝑋𝑛 adalah bilangan acak ke-n dari deretnya, 𝑋𝑛−1 adalah bilangan acak sebelumnya, a dan b merupakan bilangan pengali (increment), c merupakan konstanta dan m merupakan modulus. (D. E. Knuth(1981)).

(9)

Periode QLCG pada dasarnya tidak lebih besar dari m, dan pada kebanyakan kasus periodenya kurang dari m. QLCG akan mempunya periode penuh (m-1) jika memenuhi syarat dimana (b-a) mod m=1, m adalah bilangan kelipatan 2 dan c adalah bilangan ganjil.

Keunggulan QLCG terletak pada kecepatannya dan hanya membutuhkan sedikit operasi bit. Jika dilihat dari angka yang dihasilkan, algoritma Qudratic Linear

Congruential Generator (QLCG) memiliki kelemahan.Sebab angka (bilangan

acak) yang dihasilkan dapat diprediksi urutan kemunculannya. Contoh:

𝑋𝑛 = (7𝑋𝑛−12 + 11𝑋𝑛−1+ 5 )𝑚𝑜𝑑 17 dan 𝑋0 adalah 0. Hasil perhitungan

dapat dilihat pada Tabel 2.1.

Tabel 2.1 Contoh QLCG X 𝑿𝒏 0 0 1 5 2 14 3 1 4 6 5 0 6 5 7 14 8 1 9 6 10 0 11 5 12 14

Dari hasil contoh pada tabel 2.1 dapat diketahui bahwa keunggulan QLCG terletak pada kecepatannya dan hanya membutuhkan sedikit operasi bit. Sebenarnya, QLCG tidak dapat digunakan untuk kriptografi karena bilangan acaknya dapat diprediksi urutan kemunculannya dapat dilihat pada (tabel 2.1). Meskipun secara teoritis QLCG mampu menghasilkan bilagan acak

(10)

yang, namun ia sangat sensitif terhadap pemilihan nilai a, b, c dan m. Pemilihan nilai – nilai yang buruk dapat mengarah pada implementasi QLCG yang tidak bagus.

2.4 Zero Knowledge Proof

Zero-knowledge proof adalah protokol kriptografi yang dapat

digunakan oleh seseorang (misalnya Tian yang bertindak sebagai prover) untuk membuktikan kepemilikannya akan suatu secret piece atau informasi rahasia kepada orang lain (misalnya Tika, yang bertindak sebagai verifier) tanpa perlu mengungkapkan isi secret piece tersebut atau memberikan suatu cara bagi Tika untuk mengetahui isi rahasia tersebut.

Proses pembuktian kepemilikan rahasia yang dilakukan oleh Tian ini termasuk ke dalam interactive protocol, dimana Tika akan menanyakan serangkaian pertanyaan kepada Tian. Jika Tian benar-benar mengetahui isi rahasia, maka ia akan dapat menjawab keseluruhan pertanyaan dengan benar. Setelah serangkaian pertanyaan diajukan (misalnya 10 atau lebih pertanyaan) Tika akan yakin bahwa Tian benar-benar memiliki informasi rahasia seperti yang ia katakan.

Zero-Knowledge Proof harus memenuhi tiga sifat yaitu:

a. Completeness:yaitu jika prover memang tahu suatu pernyataan, verifier

selalu akan dapat menerimanya.

b. Soundness:yaitu jika prover memang tidak mengetahui pernyataan yang

benar, verifier tidak dapat menerimanya, kecuali dalam kemungkinan yang kecil.

c. Zero-knowledge:yaitu walaupun setelah interaksi dilakukan verifier akan

yakin bahwa prover benar-benar tahu pernyataan yang sebenarnya, sebenarnya verifier sendiri tetap tidak akan mengetahui pernyataan yang sebenarnya.

Contoh yang sering digunakan untuk menjelaskan konsep

zero-knowledge proof biasanya menggunakan gua atau terowongan yang bercabang dan

terdapat suatu pintu yang menghubungkan kedua cabang yang hanya dapat dibuka oleh seseorang yang mengetahui suatu kode rahasia Di dalam gua itu hanya terdapat dua orang yakni Tian dan Tika. Tian mengaku mengetahui kata rahasia

(11)

untuk membuka pintu itu, tetapi ketika Tian diminta untuk membuktikannnya, Tian tidak mau memberitahukan kata kuncinya kepada Tika. Cara yang digunakan Tian untuk membuktikan bahwa ia tahu kata rahasia tanpa memberitahukannya kepada Tika adalah dengan menggunakan zero knowledge proof.

Tian dalam hal ini adalah pihak yang akan membuktikan bahwa ia mengetahui rahasia disebut dengan Prover, sedangkan Tika dalam hal ini adalah pihak yang diyakinkan disebut dengan verifier. Gambar di bawah ini adalah ilustrasi zero knowledge proof di dalam gua.

Gambar2.6 Ilustrasi Zero knowledge proof

Gua itu memiliki 2 jalur untuk sampai ke pintu rahasia yaitu jalur A dan jalur B. Langkah-langkah pembuktiannya adalah sebagai berikut : a. Tika berada di posisi A, sedangkan Tian berada di posisi B.

b. Tian akan berjalan menuju ke pintu dengan menggunakan jalan C atau D sesuai dengan keinginan Tian dan dilakukan secara acak.

c. Setelah itu, Tika akan berjalan ke posisi B dan dia meneriakkan jalan C atau D sesuai dengan keinginannya agar Tian berjalan kearah posisi B dengan menggunakan jalan itu.

d. Jika Tian tahu kata rahasia, maka ia akan mampu menuruti semua permintaan Tika, tetapi jika ia ingin mengelabui Tika, maka Tian memiliki probabilitas setengah untuk berhasil.

Tian Tika

(12)

e. Agar pembuktian yang dilakukan akurat maka langkah 1 sampai 5 harus diulang n kali dan Tika percaya jika Tian mampu memenuhi seluruh permintaan Tika.

2.5 Feige Fiat Shamir

Konsep zero-knowledge protocol digunakan dalam beberapa protokol untuk identifikasi (zero-knowledge identification protocol). Protokol pertama jenis ini adalah protokol Feige-Shamir. Ada tiga aktor yang berperan dalam protokol Fiat-Shamir yaitu trusted center (sebut saja Tim), prover (Tian) dan verifier (Tika). Tim membuat suatu modulus seperti RSA n = pq, mengumumkan n tetapi merahasiakan p dan q. Tian membuat secara acak (menggunakan random number generator) kunci privat s, dimana 0 < s < n dan gcd(s; n) = 1. Kunci publik Tian adalah v = s2 mod n dan v diregistrasi ke Tim. Tika dapat memperoleh kunci publik Tian v yang telah diregistrasi, dari Tim. Langkah-langkah berikut diulang t kali, setiap kali dengan nilai-nilai acak yang baru, agar Tian dapat diidentifikasi oleh Tika.

a. Tian memilih secara acak, menggunakan random number generator, r, 0

< r < n, dan mengirim x = r2 mod n kepada Tika

b. Tika memilih secara acak, menggunakan random number generator, e, e ∈ {0,1}, dan mengirimnya ke Tian.

c. Tian mengkomputasi y = rse mod n dan mengirim y ke Tika.

d. Jika y = 0 atau y2 ≡ xve (mod n) maka Tika menolak dan proses

identikasi gagal.

Jika langkah-langkah diatas telah diulang t kali tanpa penolakan maka identifikasi Tian diterima oleh Tika. Probabilitas bahwa Tian telah berhasil menipu Tika adalah 1 dalam 2t.

Keamanan dari Feige-Fiat-Shamir berdasarkan pada sukarnya mengkalkulasi akar kuadrat modulo pq jika p dan q tidak diketahui (hanya produknya n = pq yang diketahui). Fungsi pengacakan menggunakan parameter e adalah agar Tian tidak curang. Jika Tika selalu meminta y = r (e = 0) maka jelas Tian tidak perlu mengetahui s untuk menjawabnya. Jika Tika selalu meminta y = rs

(mod n), Tian juga dapat mengelabui Tika tanpa mengetahui sebagai berikut. Pada

langkah 1 Tian mengirim

(13)

kepada Tika. Ketika diminta untuk mengirim y = rs (mod n) maka Tian mengirim y = r. Jadi Tika terkelabui karena

xv ≡ r2v-1 v(mod n)

≡ r2 (mod n)

≡ y2 (mod n):

Dengan pengacakan, jika Tian mengirim x = r2 (mod n) maka ia kadang harus menggunakan s, sedangkan jika ia mengirim x=r2v-1(mod n) maka ia kadang harus mencari akar kuadrat modulo n karena ia harus mengirim

y = (r2v-1)-2 (mod n).

Untuk menunjukkan bahwa tidak ada rahasia yang bocor ke Tika, kita

gunakan cara standar yaitu dengan simulasi. Seseorang yang tidak mengetahui p, q dan s akan tetapi mengetahui apa yang akan diminta Tika untuk e tentunya akan dapat berperan sebagai Tian dengan mengirim x = r2 (mod n) atau x = r2v-1 (mod n) tergantung pada nilai e. Informasi yang dikeluarkan oleh Tian dapat dikeluarkan oleh siapa saja tanpa mengetahui p; q dan s, jadi tidak memberi tahu nilai p; q dan

s.

Sebetulnya Fiat-Shamir membocorkan 1 bit dari nilai s, yaitu sign (+ atau -) dari s. Protokol Feige-Fiat-Shamir menutup kebocoran ini. Selain itu Feige

Fiat-Shamir melakukan k “pembuktian" secara paralel yang mengurangi interaksi

antara Tian dan Tika karena langkah-langkah tidak perlu diulang sebanyak pada Fiat-Shamir, bahkan langkah-langkah tidak perlu diulang jika k cukup besar.

Dalam Feige-Fiat-Shamir, Tian membuat k kunci privat s1, s2, ..., sk

dimana gcd(si , n) = 1 untuk setiap i, dan mempublikasikan k kunci publik v1,

v2,..., vk dimana

vi = si2 (mod n)

untuk setiap i. Langkah-langkah Feige-Fiat-Shamir adalah sebagai berikut.

a. Tian memilih secara acak, menggunakan random number generator, r,0 < r < n, dan s ∈ {-1, 1}, dan mengirim x = sr2 mod n kepada Tika.

b. Tika memilih secara acak e1, e2,..., ek, ei∈{0, 1} untuk setiap i, dan

mengirimnya ke Tian.

c. Tian mengkomputasi y = rs1e1s2e2...skek (mod n) dan mengirim y ke Tika.

d. Jika y2 ≡ ± xv1e1 v2e2...vkek (mod n) maka Tika menolak dan proses

(14)

Jika k = 20, maka probabilitas bahwa Tian berhasil mengelabui Tika kurang dari 1 dalam sejuta, dengan hanya 1 putaran langkah-langkah diatas.

Untuk Feige-Fiat-Shamir ada yang menggunakan vi = 1=si2 mod n

untuk kunci publik. Jika demikian, maka pada langkah 4, Tika harus memeriksa 𝑥 ≡ ± 𝑦2𝑣

𝑖𝑒1𝑣2𝑒2 … 𝑣𝑘𝑒𝑘 (𝑚𝑜𝑑 𝑛)

Contoh :

Jika n=35 (bilangan pengali yang prima 5 dan 7), kemudian bilangan kuadrat yang mungkin adalah:

1: x2≡1 (mod 35) mempunyai penyelesaian: x = 1, 6, 29,or 34.

4:x2≡ 4 (mod 35) mempunyai penyelesaian: x = 2,12, 23,or33. 9: x2≡9 (mod 35) mempunyai penyelesaian :x = 3,17,18, or32. 11:x2≡11(mod 35)mempunyai penyelesaian: x = 9,16,19,or26. 14: x2≡14 (mod 35) mempunyai penyelesaian: x = 7 or 28. 15: x2≡15 (mod 35) mempunyai penyelesaian: x = 15 or 20. 16: x2≡16(mod 35)mempunyai penyelesaian:x=4,11, 24, or31. 21: x2≡21 (mod 35) mempunyai penyelesaian: x = 14 or 21. 25: x2≡25 (mod 35) mempunyai penyelesaian: x = 5 or 30. 29: x2≡29(mod 35)mempunyai penyelesaian:x= 8,13,22 or 27. 30: x2≡30 (mod 35) mempunyai penyelesaian: x = 10 or 25.

Inversi (mod 35) dan akar pangkat duanya adalah:

Tabel 2.2 Inversi (mod 35)

v v-1 S=sqrt(v-1)

1 1 1

4 9 3

9 4 2

11 16 4

Catatan bahwa 14, 15, 21, 25 dan 30 tidak mempunyai inversi dengan (mod 35) karena angka-angka tersebut tidak relatif prima dengan 35. Maka Tian mendapat kunci publik k = 4 dengan nilai:{4,11,16,29}. Kunci privat yang berhubungan adalah {3,4,9,8}. Kemudian langkah-langkah protokol Feige Fiat

(15)

a. Tian memilih sebuah bilangan acak r= 16, hitung 162(mod35)=11, dan kemudian angka tersebut dikirim ke Tika.

b. Tika mengirim Tian bilangan biner acak {1,1,0,1}.

c. Tian menghitung 16*((31)*(41)*(90)*(81))mod 35=31 dan dikirim ke Tika

d. Tika memeriksa bahwa 312*((41)*(111)*(160)*(291)) mod 35=11

Tian dan tika mengulang protokol ini sampai t kali, dengan bilangan acak yang berbeda setiap pengulangan, sampai Tika percaya. Dengan angka yang kecil seperti contoh di atas, maka tidak terlihat keamanan data yang sebenarnya. Tetapi dengan angka sepanjang 512 bit atau lebih, maka Tika tidak akan dapat mempelajari apa-apa tentang kunci rahasia Tian.

Gambar

Gambar 2.3 Hubungan Kriptologi, kriptanalisi, dan kriptografi
Gambar 2.4 Kriptografi Simetri
Gambar 2.5 Skema kriptografi kunci asimetri
Tabel 2.1 Contoh QLCG  X
+2

Referensi

Dokumen terkait

Koordinator pelayanan klinis, administrasi dan manajemen dan koordinator upaya Puskesmas Melakukan tindakan perbaikan sesuai dengan tindakan perbaikan yang sudah

bahwa Unit Pelaksana Teknis Dinas sebagai unsur pelaksana teknis Dinas dalam rangka melaksanakan kewenangan Pemerintah Provinsi Jawa Tengah yang berada di Kabupaten/Kota,

Hasil analisis ekstrak kasar pigmen bakteri simbion karang (5.A.4) menggunakan KCKT diperoleh 6 puncak dominan dengan waktu retensi yang berbeda yang disajikan

Penelitian yang dilakukan oleh Quing-Yong, BAO., et.al [2], membahas sebuah arsiteketur berbasis perilaku dengan menggunakan logika fuzzy (fuzzy behavior-based)

Pola agroforestry merupakan suatu sistem pola tanam yang memadukan berbagai jenis pohon dengan tanaman semusim, pola ini telah diterapkan oleh petani di berbagai

Tanaman yang memiliki pertumbuhan generatif terbaik terdapat pada perlakuan pemupukan 1.5 g NPK/polybag, karena tanaman tersebut memiliki jumlah bunga dan buah terbanyak,

Secara umum output pelaksanaan kegiatan pengawasan kedatangan kapal laut dari luar negeri di Kantor Kesehatan Pelabuhan Kelas II Padang belum seuai dengan SOP karena masih

cash flow para konsumen untuk hal-hal lain dengan lebih bijaksana. Dan biasanya marketing menjalankan strategi persuade nya dengan menjelaskan kepada para konsumen, ketika