BAB II TINJAUAN PUSTAKA

dokumen-dokumen yang mirip
BAB Kriptografi

Bab 2 Tinjauan Pustaka 2.1 Penelitian Terdahulu

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI

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

BAB I PENDAHULUAN. 1.1 Latar Belakang

ALGORITMA ELGAMAL DALAM PENGAMANAN PESAN RAHASIA

BAB II LANDASAN TEORI

BAB 2 TINJAUAN PUSTAKA

BAB 2 LANDASAN TEORI

BAB II LANDASAN TEORI

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

K i r p i t p o t g o ra r f a i

BAB II LANDASAN TEORI

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

Reference. William Stallings Cryptography and Network Security : Principles and Practie 6 th Edition (2014)

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

BAB 2 TINJAUAN PUSTAKA

Pengenalan Kriptografi

APLIKASI JAVA KRIPTOGRAFI MENGGUNAKAN ALGORITMA VIGENERE. Abstract

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI. 2.1 Kriptografi Definisi Kriptografi

BAB II TINJAUAN PUSTAKA

BAB II TINJAUAN PUSTAKA

BAB 2 LANDASAN TEORI

BAB I PENDAHULUAN. Universitas Sumatera Utara

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

BAB II LANDASAN TEORI

SISTEM KRIPTOGRAFI. Mata kuliah Jaringan Komputer Iskandar Ikbal, S.T., M.Kom

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

BAB 2 LANDASAN TEORI. 2.1 Kriptografi

BAB II TINJAUAN PUSTAKA

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

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

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

BAB 2 LANDASAN TEORI

APLIKASI KRIPTOGRAFI ENKRIPSI DEKRIPSI FILE TEKS MENGGUNAKAN METODE MCRYPT BLOWFISH

BAB 2 LANDASAN TEORI Keamanan Informasi

Universitas Sumatera Utara BAB 2 LANDASAN TEORI

+ Basic Cryptography

Bab 2: Kriptografi. Landasan Matematika. Fungsi

Kriptografi, Enkripsi dan Dekripsi. Ana Kurniawati Kemal Ade Sekarwati

Pengantar Kriptografi

KRIPTOGRAFI SISTEM KEAMANAN KOMPUTER

BAB II TINJAUAN PUSTAKA

BAB 1 PENDAHULUAN. 1.1 Latar Belakang Masalah

tidak boleh bocor ke publik atau segelintir orang yang tidak berkepentingan Pengirim informasi harus merahasiakan pesannya agar tidak mudah diketahui

TINJAUAN PUSTAKA. Protokol

Perhitungan dan Implementasi Algoritma RSA pada PHP

BAB 2 LANDASAN TEORI. 2.1 Pengertian Kriptografi

PEMODELAN BILANGAN ACAK DAN PEMBANGKITANNYA. Pemodelan & Simulasi

Percobaan Perancangan Fungsi Pembangkit Bilangan Acak Semu serta Analisisnya

PENERAPAN METODA FILE COMPRESSION PADA KRIPTOGRAFI KUNCI SIMETRI

KOMBINASI ALGORITMA ONE TIME PAD CIPHER DAN ALGORITMA BLUM BLUM SHUB DALAM PENGAMANAN FILE

Elliptic Curve Cryptography (Ecc) Pada Proses Pertukaran Kunci Publik Diffie-Hellman. Metrilitna Br Sembiring 1

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

ALGORITMA LOGICAL CIPHER

BAB II. Dasar-Dasar Kemanan Sistem Informasi

ERWIEN TJIPTA WIJAYA, ST.,M.KOM KEAMANAN INFORMASI

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI

BAB I PENDAHULUAN. dengan cepat mengirim informasi kepada pihak lain. Akan tetapi, seiring

VISUALISASI ALGORITMA RSA DENGAN MENGGUNAKAN BAHASA PEMROGRAMAN JAVA

Sistem Kriptografi Kunci Publik Multivariat

Berusaha melindungi data dan informasi dari orang yang tidak berada dalam ruang lingkupnya. b. Ketersediaan

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

Security Sistem Informasi.

APLIKASI TEORI BILANGAN UNTUK AUTENTIKASI DOKUMEN

KRIPTOGRAFI VERNAM CIPHER UNTUK MENCEGAH PENCURIAN DATA PADA SEMUA EKSTENSI FILE

BAB II TINJAUAN PUSTAKA

BAB II TINJAUAN PUSTAKA

BAB 2 TINJAUAN PUSTAKA

BAB II LANDASAN TEORI

BAB III ANALISIS. 3.1 Otentikasi Perangkat dengan Kriptografi Kunci-Publik

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

Tanda Tangan Digital Majemuk dengan Kunci Publik Tunggal dengan Algoritma RSA dan El Gamal

BAB 1 PENDAHULUAN. dalam bahasa sandi (ciphertext) disebut sebagai enkripsi (encryption). Sedangkan

Perbandingan Sistem Kriptografi Kunci Publik RSA dan ECC

ANALISIS WAKTU ENKRIPSI-DEKRIPSI FILE TEXT MENGGUNAKAN METODA ONE-TIME PAD (OTP) DAN RIVEST, SHAMIR, ADLEMAN (RSA)

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

BAB 2 LANDASAN TEORI. Universitas Sumatera Utara

PERANCANGAN PEMBANGKIT TANDA TANGAN DIGITAL MENGGUNAKAN DIGITAL SIGNATURE STANDARD (DSS) Sudimanto

BAB I. PENDAHULUAN A. Latar Belakang

ANALISIS KEMUNGKINAN PENGGUNAAN PERSAMAAN LINEAR MATEMATIKA SEBAGAI KUNCI PADA MONOALPHABETIC CIPHER

BAB III KUNCI PUBLIK

KEAMANAN DATA DENGAN METODE KRIPTOGRAFI KUNCI PUBLIK

BAB II LANDASAN TEORI. Kriptografi mempunyai peranan penting dalam dunia komputer. Hal ini

KRIPTOGRAFI MATERI KE-2

KRIPTOGRAFI HILL CIPHER DENGAN MENGGUNAKAN OPERASI MATRIKS

Studi dan Implementasi Algoritma RSA dan MD5 pada Aplikasi Digital Signature (Studi Kasus pada Sistem Akademik Terpadu (SIAP) STMIK Sumedang)

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

BAB III PENGERTIAN DAN SEJARAH SINGKAT KRIPTOGRAFI

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

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

Pertukaran kunci Diffie-Hellman dengan Pembangkit Bilangan Acak Linear Congruential Generator (LCG)

Algoritma Kriptografi Kunci Publik. Dengan Menggunakan Prinsip Binary tree. Dan Implementasinya

Implementasi Algoritma Vigenere Subtitusi dengan Shift Indeks Prima

Percobaan Pemanfaatan Graf pada Protokol Kriptografi

SISTEM PENGAMBILAN KEPUTUSAN PERMOHONAN KREDIT SEPEDA MOTOR DENGAN MENGGUNAKAN METODE DECISION TREE

Transkripsi:

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

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

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 Enkrips Dekripsi Gambar 2.1 Skema enkripsi dan dekripsi Plaintext 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.

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

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-bit, grup bitbit ini blok yang disebut sebagai algoritma blok atau kode rahasia blok (block cipher). Proses dari skema kriptografi simetri dapat dilihat pada Gambar2.4 Kunci Privat, K Enkripsi E K (P)=C Dekripsi D K (C)=P 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

dengan kunci publik, sedangkan kunci dekripsi disebut dengan kunci privat. Proses dari skema kriptografi asimetri dapat dilihat pada Gambar 2.5. Kunci Publik, K 1 Kunci Privat, K 2 Enkripsi E K1 (P)=C Dekripsi D K2 (C)=P 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.

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.

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 elemenelemennya 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: 2 X n = ax n 1 + bx n 1 + c mod m dimana X n adalah bilangan acak ke-n dari deretnya, X n 1 adalah bilangan acak sebelumnya, a dan b merupakan bilangan pengali (increment), c merupakan konstanta dan m merupakan modulus. (D. E. Knuth(1981)).

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: 2 X n = (7X n 1 + 11X n 1 + 5 )mod 17 dan X 0 adalah 0. Hasil perhitungan dapat dilihat pada Tabel 2.1. Tabel 2.1 Contoh QLCG X X n 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

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

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. Tika Tian 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.

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-Fiat-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 = s 2 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 nilainilai 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 = r 2 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 = rs e mod n dan mengirim y ke Tika. d. Jika y = 0 atau y 2 xv e (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 2 t. 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 x r 2 v -1 ( mod n)

kepada Tika. Ketika diminta untuk mengirim y = rs (mod n) maka Tian mengirim y = r. Jadi Tika terkelabui karena xv r 2 v -1 v(mod n) r 2 (mod n) y 2 (mod n): Dengan pengacakan, jika Tian mengirim x = r 2 (mod n) maka ia kadang harus menggunakan s, sedangkan jika ia mengirim x=r 2 v -1 (mod n) maka ia kadang harus mencari akar kuadrat modulo n karena ia harus mengirim y = (r 2 v -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 = r 2 (mod n) atau x = r 2 v -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 s 1, s 2,..., s k dimana gcd(s i, n) = 1 untuk setiap i, dan mempublikasikan k kunci publik v 1, v 2,..., v k dimana v i = s 2 i (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 = sr 2 mod n kepada Tika. b. Tika memilih secara acak e 1, e 2,..., e k, e i {0, 1} untuk setiap i, dan mengirimnya ke Tian. c. Tian mengkomputasi y = rs e1 1 s e2 2...s ek k (mod n) dan mengirim y ke Tika. d. Jika y 2 ± xv1 e1 v e2 2...v ek k (mod n) maka Tika menolak dan proses identifikasi gagal.

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 v i = 1=s 2 i mod n untuk kunci publik. Jika demikian, maka pada langkah 4, Tika harus memeriksa x ± y 2 v e1 e2 ek i v 2 v k (mod n) Contoh : Jika n=35 (bilangan pengali yang prima 5 dan 7), kemudian bilangan kuadrat yang mungkin adalah: 1: x 2 1 (mod 35) mempunyai penyelesaian: x = 1, 6, 29,or 34. 4:x 2 4 (mod 35) mempunyai penyelesaian: x = 2,12, 23,or33. 9: x 2 9 (mod 35) mempunyai penyelesaian :x = 3,17,18, or32. 11:x 2 11(mod 35)mempunyai penyelesaian: x = 9,16,19,or26. 14: x 2 14 (mod 35) mempunyai penyelesaian: x = 7 or 28. 15: x 2 15 (mod 35) mempunyai penyelesaian: x = 15 or 20. 16: x 2 16(mod 35)mempunyai penyelesaian:x=4,11, 24, or31. 21: x 2 21 (mod 35) mempunyai penyelesaian: x = 14 or 21. 25: x 2 25 (mod 35) mempunyai penyelesaian: x = 5 or 30. 29: x 2 29(mod 35)mempunyai penyelesaian:x= 8,13,22 or 27. 30: x 2 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 Shamir sebagai berikut:

a. Tian memilih sebuah bilangan acak r= 16, hitung 16 2 (mod35)=11, dan kemudian angka tersebut dikirim ke Tika. b. Tika mengirim Tian bilangan biner acak {1,1,0,1}. c. Tian menghitung 16*((3 1 )*(4 1 )*(9 0 )*(8 1 ))mod 35=31 dan dikirim ke Tika d. Tika memeriksa bahwa 3 12 *((4 1 )*(11 1 )*(16 0 )*(29 1 )) 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.