ANALISIS KEAMANAN SKEMA FEIGE-FIAT-SHAMIR SIGNATURE PADA ... · Feige-Fiat-Shamir Signature pada...

30
ANALISIS KEAMANAN SKEMA FEIGE-FIAT-SHAMIR SIGNATURE PADA TANDA TANGAN DIGITAL ANGGA DWI INDRIANTO DEPARTEMEN MATEMATIKA FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR BOGOR 2016

Transcript of ANALISIS KEAMANAN SKEMA FEIGE-FIAT-SHAMIR SIGNATURE PADA ... · Feige-Fiat-Shamir Signature pada...

ANALISIS KEAMANAN SKEMA FEIGE-FIAT-SHAMIR

SIGNATURE PADA TANDA TANGAN DIGITAL

ANGGA DWI INDRIANTO

DEPARTEMEN MATEMATIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

INSTITUT PERTANIAN BOGOR

BOGOR

2016

PERNYATAAN MENGENAI DISERTASI DAN

SUMBER INFORMASI SERTA PELIMPAHAN HAK CIPTA*

Dengan ini saya menyatakan bahwa skripsi berjudul Analisis Keamanan

Skema Feige-Fiat-Shamir Signature pada Tanda Tangan Digital adalah benar

karya saya dengan arahan dari komisi pembimbing dan belum diajukan dalam

bentuk apa pun kepada perguruan tinggi mana pun. Sumber informasi yang

berasal atau dikutip dari karya yang diterbitkan maupun tidak diterbitkan dari

penulis lain telah disebutkan dalam teks dan dicantumkan dalam Daftar Pustaka di

bagian akhir disertasi ini.

Dengan ini saya melimpahkan hak cipta dari karya tulis saya kepada Institut

Pertanian Bogor.

Bogor, Desember 2016

Angga Dwi Indrianto

NIM G54120040

ABSTRAK

ANGGA DWI INDRIANTO. Analisis Keamanan Skema Feige-Fiat-Shamir

Signature pada Tanda Tangan Digital. Dibimbing oleh SUGI GURITMAN dan

TEDUH WULANDARI MAS’OED.

Digital Signature atau penanda digital adalah salah satu penerapan dari

kriptografi yang digunakan untuk menandatangani dokumen digital. Skema

penandaan digital secara umum dibagi dua, yaitu skema penandaan dengan

apendiks dan skema penandaan dengan pemulihan pesan. Salah satu skema

penandaan digital yang menggunakan apendiks adalah skema Feige-Fiat-Shamir

Signature. Tujuan dari penelitian ini adalah untuk menerangkan teori matematis

penandaan digital dengan skema Feige-Fiat-Shamir Signature, mengidentifikasi

tumpuan keamanan skema penandaan digital Feige-Fiat-Shamir Signature, serta

meninjau secara komputatif skema Feige-Fiat-Shamir Signature menggunakan

bantuan perangkat lunak komputasi. Peninjauan dilakukan menggunakan software

Maple 13, dan menggunakan fungsi hash Message Digest-5 (MD-5). Proses

penandatanganan dilakukan dalam tiga tahapan, yaitu tahap pembangkitan kunci,

tahap pembangkitan tanda tangan dan verifikasi. Berdasarkan peninjauan dengan

menggunakan software Maple 13, aspek keamanan skema Feige-Fiat Shamir

Signature terletak pada masalah faktorisasi integer, tepatnya pada langkah

pemilihan modulus dan kunci privat. Selama penyusun modulus yaitu bilangan

dan besar, maka penyerang akan kesulitan mendapatkan faktorisasi integer

. Skema ini cukup resisten (tahan) terhadap serangan aktif.

Kata kunci: Penanda digital, Feige-Fiat-Shamir Signature, fungsi hash,

faktorisasi integer

ABSTRACT

ANGGA DWI INDRIANTO. Security Analysis of Feige-Fiat-Shamir

Signature Scheme in Case of Digital Signature. Supervised by SUGI

GURITMAN and TEDUH WULANDARI MAS’OED.

Digital Signature is one of applied cryptography which is used to sign

digital documents. Digital Signature scheme is classified to two general classes,

namely digital signature with appendix and digital signature with message

recovery. One of digital signature with appendix is Feige-Fiat-Shamir Signature.

This research aims to describe mathematical theorems of Feige-Fiat-Shamir

Signature scheme, to identify its security aspect, and to observe the scheme

computatively using software. This observation using software Maple 13, and

using Message Digest-5 hash function (MD-5). Digital signature is generated in

three main proccesses, they are key generation algorithm, signature generation

algorithm, and verification. Based on computational observation using Maple 13,

security aspect of Feige-Fiat-Shamir Signature scheme is integer factorization,

exactly in modulus determination, and private key generation. As long as and

are big number, it will be hard for the attacker to crack the factorization .

This scheme is resistance enough against active attack.

Key word : Digital Signature, Feige-Fiat-Shamir Signature, hash function,

integer factorization

Skripsi

sebagai salah satu syarat untuk memperoleh gelar

Sarjana Sains

pada

Departemen Matematika

ANALISIS KEAMANAN SKEMA FEIGE-FIAT-SHAMIR

SIGNATURE PADA TANDA TANGAN DIGITAL

ANGGA DWI INDRIANTO

DEPARTEMEN MATEMATIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

INSTITUT PERTANIAN BOGOR

BOGOR

2016

PRAKATA

Puji dan syukur penulis panjatkan kepada Allah subhanahu wa ta’ala atas

segala karunia-Nya sehingga karya ilmiah ini berhasil diselesaikan. Topik yang

dipilih pada penelitian yang dilaksanakan mulai November 2015 adalah

kriptografi dengan permasalahan khusus tanda tangan digital.

Terima kasih penulis ucapkan kepada Bapak Dr Sugi Guritman, Ibu Teduh

Wulandari Mas’oed, M Si selaku pembimbing atas bimbingan dan sarannya, dan

Bapak Drs Siswandi, M Si selaku penguji atas masukan terhadap karya ilmiah ini.

Di samping itu, ucapan terima kasih tak lupa penulis ucapkan pada Dr Toni

Bakhtiar selaku ketua departemen Matematika, atas masukannya terhadap karya

ilmiah ini. Ucapan terima kasih penulis haturkan pada Bapak dan Ibu, kakak dan

adik yang memberikan dorongan semangat agar studi ini segera selesai. Tak lupa

juga Bu Pika dan Bu Markonah yang mau membantu mengurus nilai ADW saya

yang tidak muncul di KRS. Terima kasih untuk teman-teman IMAGORA, kelas

Q.02, Matematika 49, IGAF, Gumakusi, Gumatika, Family Boy, HIROSHIMA,

GGS, Jowo Study Club, Yayasan Mata Air Jepara, BKB Nurul Fikri, Katalis,

EtaBimbel atas dorongan semangat dan bantuan yang diberikan pada penulis.

Semoga karya ilmiah ini bermanfaat.

Bogor, Desember 2016

Angga Dwi Indrianto

DAFTAR ISI

DAFTAR TABEL vi

DAFTAR GAMBAR vi

DAFTAR LAMPIRAN vi

PENDAHULUAN 1

Latar Belakang 1

Tujuan Penelitian 1

Ruang Lingkup Penelitian 1

TINJAUAN PUSTAKA 2

Aljabar Abstrak 2

Aritmatika Modular 4

Teori Bilangan 5

Kriptografi 5

METODE 8

Algoritme Feige-Fiat-Shamir Signature 8

HASIL DAN PEMBAHASAN 9

Pembahasan 9

Skema Feige-Fiat-Shamir Signature 9

SIMPULAN DAN SARAN 15

Simpulan 15

Saran 16

DAFTAR PUSTAKA 16

LAMPIRAN 17

RIWAYAT HIDUP 20

DAFTAR TABEL

1 Hasil perhitungan 4

DAFTAR LAMPIRAN 1 Algoritme pembangkitan bilangan prima acak menggunakan Maple 13 17 2 Algoritme pembangkitan kunci privat 17 3 Pembangkitan kunci publik 18 4 Signature Generation Algorithm 18 5 Algoritme fungsi hash MD-5 18 6 Algoritme Verifikasi 18

PENDAHULUAN

Latar Belakang

Penanda atau tanda tangan merupakan salah satu bagian penting yang

dimiliki manusia. Tanda tangan digunakan untuk menunjukkan identitas

seseorang dan umumnya dibubuhkan pada dokumen. Penanda digunakan dalam

banyak hal dalam kehidupan sehari-hari. Tanda tangan yang paling umum dikenal

adalah tanda tangan kaligrafik. Setiap orang mempunyai tanda tangannya masing-

masing, dengan pola guratan yang unik. Artinya, tidak ada dua atau lebih orang di

dunia yang mempunyai pola guratan sama persis.

Pentingnya fungsi tanda tangan sebagai identitas membuat beberapa pihak

menyalahgunakan fungsi tanda tangan tersebut. Salah satu kasus yang sering

terjadi adalah pemalsuan tanda tangan, yang bertujuan untuk memperoleh akses

tertentu dengan menggunakan tanda tangan orang lain. Di sisi lain, tipe tanda

tangan konvensional kurang cocok digunakan untuk mengakses dokumen bertipe

digital. Perlu adanya suatu metode penandaan yang memiliki sifat yang sama

dengan penanda kaligrafik, yaitu rumit dan cepat namun dapat dengan mudah

diverifikasi serta konsisten dan dapat digunakan untuk dokumen digital. Penanda

yang memiliki kharakteristik tersebut adalah penanda digital (digital signature).

Penanda digital dijelaskan dalam KUHP pasal 263(1). Dalam pasal tersebut,

dijelaskan bahwa, “Orang yang membuat surat palsu atau memalsukan surat,

apabila mendatangkan kerugian maka akan menerima hukuman penjara selama-

lamanya enam tahun”. Selain itu, UU no.28 tahun 2007 tentang KUP pasal 3(1)

menyebutkan, “tanda tangan elektronik atau digital mempunyai kekuatan hukum

yang sama dengan tanda tangan biasa, atau stempel”. Untuk membuat tanda

tangan digital, dibutuhkan suatu teknik matematis yang mempelajari tentang

aspek keamanan suatu data, authentication (keaslian) maupun integritas data.

Teknik matematika tersebut dikenal dengan istilah kriptografi. Salah satu skema

yang dapat digunakan dalam pembuatan penanda digital adalah Feige-Fiat-

Shamir Signature. Skema ini merupakan salah satu skema penandaan digital yang

menggunakan apendiks. Penelitian ini akan mengkaji aspek matematis penanda

digital dengan menggunakan skema Feige-Fiat-Shamir Signature.

Tujuan Penelitian

Tujuan dilakukannya penelitian ini adalah untuk menerangkan teori

matematis penandaan digital dengan skema Feige-Fiat-Shamir Signature,

mengidentifikasi tumpuan keamanan skema penandaan digital Feige-Fiat-Shamir

Signature, serta meninjau secara komputatif skema Feige-Fiat-Shamir Signature

menggunakan bantuan perangkat lunak komputasi.

Ruang Lingkup Penelitian

Ruang lingkup penelitian ini ialah:

1. Algoritme yang digunakan dalam penelitian ini adalah Algoritme Feige-

Fiat-Shamir Signature.

2

2. Implementasi Algoritme dilakukan dengan menggunakan perangkat

lunak Maple 13.

3. Jenis fungsi hash yang digunakan adalah Message Digest-5 (MD-5)

TINJAUAN PUSTAKA

Aljabar Abstrak

Fungsi

Sebuah fungsi yang memetakan ke adalah suatu hubungan antara

dan dengan ketentuan bahwa setiap muncul sebagai anggota pertama dari

tepat satu pasangan terurut dalam . Fungsi seperti ini juga biasa disebut

peta atau pemetaan dari ke . Dapat dituliskan dan nyatakan

dengan . Domain dari adalah himpunan dan himpunan

adalah kodomain dari . Range dari adalah (Fraleigh,

2000).

Misalkan , dan f adalah suatu aturan yang

dinyatakan dengan . Sehingga diperoleh

dan , dengan adalah range dari fungsi .

Fungsi Injektif

Suatu fungsi dari ke disebut fungsi injektif atau fungsi satu-satu (1-

1) jika untuk setiap dua anggota, misalkan dengan , maka

(Buchmann 2000).

Fungsi Surjektif

Suatu fungsi dari ke disebut fungsi surjektif atau onto jika untuk

setiap ada sehingga (Buchmann 2000).

Fungsi Bijektif

Suatu fungsi yang mana merupakan fungsi injektif dan sekaligus

fungsi surjektif, maka f disebut bijektif (atau korespondensi 1:1) (Buchmann

2000).

Fungsi Invertibel

Jika f adalah suatu bijeksi dari A ke B, maka ada suatu bijeksi g dari B ke A

sehingga untuk setiap berlaku jika dan hanya jika .

Dalam hal demikian f disebut invertibel, g merupakan invers dari f dengan notasi

(Guritman 2003).

Operasi Biner

Operasi biner pada himpunan adalah pemetaan . Jadi,

adalah aturan yang memetakan setiap pasangan berurut unsur ke dalam

himpunan (Menezes 1996).

Fungsi- Euler

Untuk , didefiniskan sebagai banyaknya bilangan bulat pada

selang yang prima relatif dengan . Fungsi disebut fungsi- Euler

(Menezes 1996).

3

Teorema 2.1(Sifat-sifat Fungsi- Euler)

1. Jika prima, maka .

2. Fungsi- Euler bersifat multiplikatif. Artinya jika , maka

.

3. Jika adalah faktorisasi prima dari , maka

.

(Menezes 1996).

Grup

Struktur aljabar yang paling sederhana adalah grup. Diberikan sebarang

himpunan tidak kosong dan operasi biner “ ” pada , maka disebut grup

terhadap operasi biner “ ” dan ditulis jika dipenuhi : a) Operasi biner “ ”

pada bersifat asosiatif dan closure (tertutup), b) Terdapat dengan tunggal

elemen identitas yaitu sedemikian hingga untuk setiap berlaku

, dan c) Untuk setiap terdapat elemen inversnya, yaitu

sedemikian hingga berlaku

Suatu grup disebut Abelian jika operasi binernya bersifat komutatif.

Selanjutnya, grup dapat dituliskan dengan apabila operasi binernya telah

diketahui (Fraleigh 2000).

Order Grup

Order dari sebuah grup menyatakan banyaknya anggota himpunan dari grup

tersebut. Grup berhingga adalah suatu grup yang berorder atau memiliki jumlah

elemen berhingga (Menezes 1996). Sebagai contoh adalah grup yang

merupakan sebuah himpunan bilangan bulat . Penjumlahan

dihitung dalam modulo . Karena operasi penjumlahan pada bersifat asosiatif,

terdapat elemen identitas yaitu , serta karena penjumlahan di dihitung

dalam modulo dan setiap elemen dalam grup memiliki invers terhadap

operasi penjumlahan maka dikatakan sebagai grup (Menezes 1996).

Grup Multiplikatif

Grup multiplikatif dari adalah . Secara

khusus, jika prima maka . Unsur dari merupakan

bilangan-bilangan yang mempunyai invers yang berasal dari . Dengan

menghilangkan unsur-unsur yang tidak mempunyai invers dari maka akan

didapatkan unsur-unsur dari . Secara umum bukan merupakan siklik. Jika

bilangan merupakan bilangan prima, maka unsur dari adalah semua unsur

tak nol dari . Order dari sebuah grup dinotasikan dengan , yaitu

fungsi- Euler (Menezes 1996).

Ring

Ring adalah struktur aljabar yang mempunyai dua operator untuk satu

himpunan simbol. Himpunan dengan dua sembarang operasi biner, dinotasikan

+ (penjumlahan) dan (perkalian) pada , yang memenuhi beberapa aksioma

berikut:

1. ( ,+) merupakan grup abelian,

2. Operasi bersifat asosiatif dan closure,

3. Untuk setiap berlaku sifat distributif kiri, yaitu

dan sifat distributif kanan yaitu

4

Ring dapat dituliskan dengan apabila operasi binernya diketahui

(Fraleigh 2000). Unsur identitas tehadap operasi penjumlahan dinotasikan dengan

“ ” dan disebut unsur nol. Ring komutatif yaitu ring yang operasi pergandaannya

bersifat komutatif. Jika ada unsur identitas dibawah operasi perkalian, maka unsur

disebut unsur kesatuan, dinotasikan dengan “ ” dan disingkat unkes.

sehingga maka disebut ring dengan unkes.

Fungsi Satu Arah/One Way Function

Suatu fungsi disebut dengan fungsi satu arah jika untuk setiap

adalah mudah dihitung. Tetapi untuk kebanyakan , secara

perhitungan tak-layak (computationally infeasible) untuk dapat menentukan

atau (Guritman 2003).

Sebagai contoh, misalkan dan untuk setiap

didefinisikan fungsi dimana adalah sisa dari dibagi 5 , maka

fungsi dapat ditabelkan

Tabel 1. Hasil perhitungan

1 2 3 4 5

2 4 3 1 2

Diberikan sembarang bilangan bulat dari sampai dengan adalah relatif

mudah untuk menghitung . Tetapi, bila diberikan suatu bilangan misalkan 4,

tanpa melihat tabel secara perhitungan sangat sulit menentukan sehingga

. Secara umum, apabila diberikan anggota kodomain dari f adalah tidak

mudah untuk menentukan domainnya.

Fungsi Satu Arah Pintu Jebakan/Trapdoor One Way Function

Fungsi satu arah pintu jebakan adalah fungsi satu arah yang

apabila diberikan informasi ekstra (yang disebut informasi pintu jebakan), maka

perhitungan mencari nilai dengan diketahui , sehingga

menjadi mudah (Guritman 2003).

Sebagai contoh pilih bilangan prima dan ,

dibentuk bilangan , dibuat

himpunan , dan didefinisikan fungsi pada dengan

, di mana adalah sisa dari dibagi n. Misalkan

,diperoleh karena

. Untuk menghitung akan

relatif mudah dilakukan, tetapi proses balikannya adalah jauh lebih sulit, yaitu

apabila diberikan bilangan untuk mencari nilai x sedemikian sehingga

dibagi n sisanya adalah . Jika faktor dari n adalah besar dan tidak diketahui,

maka perhitungannya menjadi sangat sulit. Apabila faktor n diberikan yaitu

bilangan prima dan , maka perhitungan menginversikan

menjadi lebih mudah. Faktor p dan q inilah yang disebut dengan informasi

ekstra.

Aritmatika Modular

Definisi Kongruen

Jika dan bilangan bulat, maka disebut kongruen terhadap modulo

ditulis dengan , jika membagi (Menezes 1996).

5

Contoh :

Ambil sebarang bilangan bulat dan , dapat dikatakan disebut

kongruen terhadap modulo ditulis dengan , jika membagi

. Dengan , maka dapat dikatakan disebut kongruen terhadap

modulo ditulis dengan , karena membagi .

Inverse Perkalian

Untuk , inverse perkalian dari modulo adalah bilangan bulat

sedemikian sehingga . Jika terdapat nilai , maka nilai

tersebut unik dan dikatakan invertible (Menezes 1996).

Teori Bilangan

Teorema Dasar Aritmatika

Setiap bilangan bulat positif n > 1 dapat dinyatakan sebagai suatu perkalian

bilangan-bilangan prima, dan representasi tersebut unik (Nurdin 2013).

Keterbagian

Suatu bilangan bulat dikatakan terbagi oleh , jika terdapat

sedemikian sehingga , dan dinotasikan dengan Untuk kasus

tidak terbagi oleh dinotasian (Niven 1991).

Pembagi Bersama Terbesar

Suatu bilangan bulat tak negatif disebut pembagi bersama terbesar

(greatest common divisor/gcd) dan , dinotasikan jika :

a. adalah pembagi bersama dan

b. Jika dan , maka .

(Menezes 1996).

Bilangan Prima

Suatu bilangan bulat dikatakan prima jika tidak ada pembagi dari

yang memenuhi . Jika bilangan bukan prima maka dikatakan

bilangan komposit (Niven 1991).

Bilangan Prima Relatif

Bilangan bulat dan dikatakan prima relatif atau disebut juga koprima

jika (Menezes 1996).

Bilangan Blum

Bilangan Blum merupakan suatu bilangan komposit , dengan

masing-masing dan kongruen dengan 3 (mod 4) (Hard 1997).

Kriptografi

Entitas

Entitas merupakan unsur-unsur yang menjadi komponen dalam pertukaran

informasi. Entitas dapat berupa orang, terminal komputer, dan lain-lain (Guritman

2003).

Penandaan

Penandaan merupakan alat yang memberikan ciri tertentu pada informasi

yang ditujukan pada satu entitas (Guritman 2003)

6

Penanda Digital

Penanda digital merupakan suatu string data yang menghubungkan pesan

(dalam bentuk digital) dengan beberapa entitas (Menezes 1996)

Skema penandaan Digital

Skema penandaan digital merupakan suatu algoritme yang memuat

algoritme pembangkitan penanda, dan algoritme verifikasi (Guritman 2003)

Skema penandaan digital dibagi menjadi dua bagian, yaitu :

1. Penandaan digital dengan apendiks yaitu suatu skema penandaan digital

yang memerlukan pesan asli sebagai input untuk algoritme verifikasi.

2. Penandaan digital dengan pemulihan pesan, yaitu suatu skema penandaan

digital yang tidak memerlukan pesan asli sebagai input untuk algoritme

verifikasi.

(Menezes 1996).

Algoritme pembangkitan tanda tangan digital (signing)

Algoritme signing dapat didefinisikan sebagai metode untuk menghasilkan

suatu penanda digital (Guritman 2003)

Konsep Zero Knowledge Proofs

Konsep Zero Knowledge Proofs merupakan suatu mekanisme atau protokol,

dimana seseorang dengan rahasia tertentu, yaitu Alpha dapat membuktikan pada

pengujinya, yaitu Beta, bahwa Alpha mempunyai rahasia tersebut tanpa membuka

rahasia tersebut pada Beta maupun orang lain (Nugroho 2014)

Kriptografi

Kriptografi adalah ilmu yang mempelajari teknik-teknik matematika yang

berkaitan dengan aspek keamanan informasi seperti kerahasiaan, integritas data,

autentikasi entitas, dan autentikasi asal data (Menezes 1996)

Tujuan Kiptografi

Ada empat tujuan mendasar dari kriptografi yang juga merupakan aspek

keamanan informasi, yaitu :

Kerahasiaan, adalah aspek yang berhubungan dengan penjagaan isi

informasi dari siapapun kecuali yang memiliki otoritas atau kunci rahasia untuk

membuka informasi yang telah dienkripsi.

Integritas data, adalah aspek yang berhubungan dengan penjagaan dari

perubahan data secara tidak sah. Untuk menjaga integritas data, sistem harus

memiliki kemampuan untuk mendeteksi manipulasi data oleh pihak-pihak yang

tidak berhak, antara lain penyisipan, penghapusan, dan pensubstitusian data lain

terhadap data yang sebenarnya.

Authentication (Otentik), adalah aspek yang berhubungan dengan

identifikasi atau pengenalan, baik secara kesatuan sistem maupun informasi itu

sendiri. Dua pihak yang saling berkomunikasi harus saling memperkenalkan diri.

Informasi yang dikirim harus diautentikasi keaslian, isi datanya, waktu

pengiriman, dan lain-lain.

Non-repudiation (menolak penyangkalan), adalah usaha untuk mencegah

terjadinya penyangkalan terhadap pengiriman suatu informasi oleh yang

mengirimkan, atau harus dapat membuktikan bahwa suatu pesan berasal dari

seseorang, apabila ia menyangkal mengirim informasi tersebut (Menezes 1996).

Teks Asli / Plaintext dan Teks Sandi /Chippertext

Teks asli / Plaintext adalah pesan atau data dalam bentuk aslinya yang dapat

terbaca dan dapat dimengerti. Teks asli ini merupakan masukan bagi Algoritme

7

enkripsi. Sedangkan teks sandi (chippertext) merupakan pesan dalam bentuk

bukan aslinya yang tidak dimengerti. Algoritme enkripsi yang baik akan

menghasilkan teks sandi yang terlihat acak (Sadikin 2012).

Kunci Rahasia / Secret Key

Kunci rahasia / Secret Key merupakan nilai yang bebas terhadap teks asli

dan menentukan hasil keluaran Algoritme enkripsi. Kunci rahasia merupakan

masukan bagi Algoritme enkripsi (Sadikin 2012).

Algoritme Enkripsi dan Dekripsi

Algoritme enkripsi memiliki dua masukan teks asli dan kunci rahasia.

Algoritme enkripsi melakukan transformasi terhadap teks asli sehingga

menghasilkan teks sandi. Algoritme dekripsi juga memiliki dua masukan berupa

teks dan kunci rahasia. Algoritme dekripsi akan memulihkan teks sandi menjadi

teks asli, jika kunci rahasia Algoritme dekripsi maupun enkripsi adalah sama

(Sadikin 2012).

Transformasi Enkripsi dan Dekripsi

Himpunan menyatakan ruang kunci dan anggota dari disebut kunci .

Himpunan menyatakan ruang plaintext dan anggota dari disebut pesan

Himpunan menyatakan ruang ciphertext dan anggota dari disebut sandi .

, adalah fungsi enkripsi yang bersifat bijektif yang memetakan

tepat satu ke .

, adalah fungsi enkripsi yang bersifat bijektif yang memetakan

tepat satu ke .

dan saling bersesuaian, sehingga

Jadi,

Pasangan kunci pada enkripsi dan dekripsi dinotasikan dengan

(Menezes 1996).

Fungsi hash

Fungsi hash merupakan fungsi yang secara komputasi efisien memetakan

bitstring dengan panjang sebarang menjadi bitstring dengan panjang tetap, yang

disebut nilai-hash (hash value) (Guritman, 2003).

Fungsi hash mempunyai tiga sifat, yaitu :

Preimage resistance, yaitu jika diketahui nilai hash , akan sulit

menentukan nilai m sehingga .

Secondary image resistance, yaitu jika diketahui , maka sulit menentukan

sedemikian sehingga

Collision resistance, yaitu sulit menentukan kedua pasangan dan

sedemikian sehingga .

Fungsi hash MD-5

Message Digest 5 (MD-5) adalah salah satu penggunaan fungsi hash satu

arah. MD-5 merupakan fungsi hash kelima yang dirancang oleh Ron Rivest dan

didefinisikan pada RFC 1321. MD-5 memproses teks masukan ke dalam blok-

blok bit sebanyak 512 bit, kemudian dibagi ke dalam 32 bit sub blok sebanyak 16

buah. Keluaran dari MD-5 berupa 4 buah blok yang masing-masing 32 bit yang

mana akan menjadi 128 bit yang biasa disebut nilai hash (Prihardhanto 2010).

8

Padding

Padding merupakan suatu proses penambahan bit ekstra, agar blok terakhir

pada bitstring mempunyai panjang yang sama (Guritman 2003).

Pembentukan Kunci / Key Establishment

Pembentukan kunci / Key establishment adalah suatu proses atau protokol

yang berkenaan dengan tersedianya kunci bersama bagi dua party atau lebih untuk

tujuan kriptografi (Menezes 1996).

Kunci Simetrik

Penyandian dengan kunci simetrik adalah penyandian yang kunci enkripsi

dan kunci dekripsinya bernilai sama. Kunci pada penyandian simetrik

diasumsikan bersifat rahasia, hanya pihak yang melakukan enkripsi dan dekripsi

yang mengetahui nilainya (Sadikin 2012).

Kunci Asimetrik / Kunci Publik

Penyandian dengan kunci asimetrik atau kunci publik adalah penyandian

dengan kunci enkripsi dan dekripsi berbeda nilai (Sadikin 2012).

METODE

Algoritme Feige-Fiat-Shamir Signature

Algoritme Feige-Fiat-Shamir merupakan salah satu skema penandaan

digital dengan menggunakan apendiks. Proses pembuatan penanda digital dengan

skema Feige-Fiat-Shamir Signature adalah sebagai berikut :

A. Key Generation Algorithm

1. Signer menentukan dua bilangan prima besar dan , kemudian

menghitung .

2. Menentukan kunci privat dari .

3. Menghitung kunci publik.

B. Signature Generation Algorithm

1. Mengambil bilangan integer acak .

2. Menghitung .

3. Menghitung = dengan

4. Menghitung .

C. Verification

1. Verifikator memperoleh kunci publik dari signer ,

serta penanda .

2. Menghitung .

3. Menghitung .

4. Penanda diterima apabila .

9

HASIL DAN PEMBAHASAN

Pembahasan

Skema Feige-Fiat-Shamir Signature

Skema Feige-Fiat-Shamir signature merupakan salah satu skema penandaan

digital yang menerapkan konsep ZKP (zero knowledge proofs). Skema ini

dikembangkan pada tahun 1988 oleh Uriel Feige, Amos Fiat dan Adi Shamir.

Berdasarkan prinsip ZKP, skema Feige-Fiat-Shamir melibatkan dua entitas, yaitu

Prover (Signer) dan Verifier. Prover (signer) mempunyai kunci rahasia dan kunci

publik yang kemudian digunakan untuk memetakan himpunan pesan ke dalam

himpunan penanda. Kemudian, verifier melakukan verifikasi terhadap penanda

yang dikirimkan dengan menggunakan kunci publik yang dikirimkan signer,

tanpa mengetahui kunci privat milik signer. Skema Feige-Fiat-Shamir signature

merupakan modifikasi dari skema penandaan sebelumnya dari Fiat-Shamir, yang

memerlukan fungsi hash untuk memetakan bit string dengan panjang berbeda

menjadi bit string dengan panjang , untuk suatu bilangan asli. Skema ini juga

menggunakan aritmetika modular dan proses verifikasi bertahap yang membatasi

nilai bilangan yang digunakan kedua entitas untuk berkomunikasi.

Skema Feige-Fiat-Shamir signature merupakan salah satu skema penandaan

dengan kunci asimetris atau kunci publik. Kedua entitas tidak perlu bertemu untuk

menyepakati suatu nilai sebagai kunci bersama. Salah satu entitas menentukan

kunci privat, kemudian dengan proses matematika dapat diperoleh kunci publik.

Kunci ini yang akan digunakan untuk berkomunikasi dengan entitas lain, atau

dapat digunakan untuk memeriksa keaslian chippertext yang dikirimkan

(authentication).

Proses pembuatan penanda digital dengan menggunakan skema Feige-Fiat-

Shamir signature dilakukan melalui beberapa tahapan, yaitu :

Key Generation Algorithm

Entitas A selaku signer harus melakukan beberapa langkah berikut :

1. Menentukan dua bilangan prima berbeda dan rahasia, p dan q, kemudian

diperoleh

Pada bagian ini, A selaku signer menentukan dua bilangan prima berukuran

besar, yaitu p dan q. Kemudian, didefinisikan . Artinya, A mengambil

atau mendefinisikan , dimana adalah suatu ring. Himpunan yang

digunakan dalam skema ini adalah suatu ring, karena ring mempunyai sifat

tertutup baik dengan operasi penjumlahan maupun perkalian, serta mempunyai

identitas, baik pada operasi penjumlahan maupun perkalian yang akan digunakan

pada tahapan selanjutnya. Nilai n ini akan menjadi modulus yang diketahui oleh

publik, sedangkan nilai p dan q hanya diketahui oleh A.

Contoh 3.1. Misal A memilih dua bilangan prima rahasia 17 dan 11. Akan

diperoleh nilai . Selama nilai p dan q besar dan prima, maka penyerang

akan kesulitan untuk menentukan pasangan bilangan sehingga .

2. Pemilihan kunci privat S ={ } dengan

Selanjutnya, signer akan mendefinisikan S dengan cara memilih sebanyak

bilangan intejer berbeda, dan merupakan elemen dari , yang merupakan suatu

10

grup multiplikatif. Bilangan-bilangan intejer tersebut akan menjadi kunci privat

yang hanya diketahui oleh A dan digunakan untuk membangkitkan kunci publik,

serta tanda tangan. Berdasarkan aksioma grup, dapat diketahui bahwa setiap

elemen suatu grup multiplikatif mempunyai invers terhadap operasi binernya,

yaitu operasi perkalian. Artinya, setiap elemen himpunan S mempunyai invers,

yang nantinya digunakan untuk pembangkitan kunci privat. Berdasarkan teorema

3.1, jika p dan q bilangan prima maka dapat diperoleh banyaknya elemen

, dan banyaknya elemen sehingga elemen dari

sebanyak . Artinya, banyaknya elemen S maksimal

adalah sebanyak .

Contoh 3.2. Misalkan diketahui dan , dan .

Kemudian dipilih 5 bilangan secara acak dari . Artinya, ada

elemen yang dapat dipilih. Misalkan dipilih himpunan S

={13,16,21,32,46}. Maka himpunan S tersebut menjadi kunci privat yang harus

dijaga kerahasiaannya oleh A.

3. Membangkitkan kunci publik V= { , dengan formula :

untuk

Langkah selanjutnya adalah pembangkitan kunci publik V. Berdasarkan

penjelasan sebelumnya telah didefinisikan dengan dan

suatu grup multiplikatif. Artinya, , atau

dengan kata lain mempunyai invers di . Nilai diperoleh dari invers nilai

Menentukan invers modular dari suatu bilangan dapat dilakukan

dengan Algoritme Euclidean diperluas (Extended Euclidean). Algoritme ini

didasarkan pada pernyataan berikut :

Diberikan bilangan bulat positif dan , > . Jika gcd( ) = 1, maka

ada. Algoritme Euclidean diperluas menggunakan rumus rekurensi

berikut ini.

Nilai diperoleh dari perhitungan gcd ( ) dengan Algoritme Euclid.

Kemudian akan diperoleh nilai , sehingga (Riyanto

2008)

Contoh 3.3. Akan ditentukan . Berikut tahapan

pengerjaannya:

Dihitung terlebih dahulu nilai , dengan membuat persamaan

rekursif , dengan . Variabel menunjukkan indeks dan

iterasi, menunjukkan pembagi, menunjukkan hasil bagi, dan menunjukkan

sisa bagi.

Pada iterasi pertama diperoleh sisa bagi yaitu 6. Iterasi dilanjutkan hingga

sisa bagi bernilai nol. Nilai sama dengan nilai ketika sisa bagi

bernilai nol.

11

Didapatkan . Artinya, invers 13 di ada,

sehingga dilanjutkan ke langkah selanjutnya, yaitu penghitungan nilai

.

Menghitung nilai invers dengan rumus rekurensi

Diperoleh nilai =72. Maka dapat disimpulkan

Bukti:

=

=

=

=

Karena 1 merupakan unsur identitas bagi , terbukti bahwa

.

Berdasarkan contoh 3.2, diperoleh kunci privat S ={13,16,21,32,46},

dengan persamaan dengan , diperoleh :

Formulasi mempunyai pengaruh yang signifikan terhadap keamanan

skema Feige-Fiat-Shamir signature. Sangat kecil peluang penyerang untuk

mengetahui nilai dengan diketahui . Permasalahan yang akan dihadapi

adalah masalah square root modular, yaitu menentukan akar kuadrat modular dari

suatu nilai. Dimisalkan akan dicari square root modular dari .

Artinya, harus dicari suatu nilai .

4. Diperoleh kunci publik milik A ( ) dan modulusnya n. Kunci

privat bagi A adalah ( ).

Setelah melalui tahapan 3, kemudian diperoleh ( ) sebagai

kunci publik. Artinya, kunci ini yang akan disebarluaskan ke publik, termasuk

verifikator. Himpunan ( ) menjadi kunci privat yang hanya boleh

diketahui oleh A selaku signer. Nilai v berguna sebagai informasi ekstra bagi B

untuk memeriksa keaslian penanda digital milik A.

Signature Generation Algorithm

Setelah kunci publik dan privat terbentuk, entitas A akan membuat penanda

yang kemudian dikirimkan kepada verifikator dalam bentuk pesan biner. Penanda

dibuat dengan langkah-langkah sebagai berikut :

1. A memilih bilangan integer acak .

Langkah pertama pada algoritme penandaan adalah memilih suatu bilangan

r, dengan .

Contoh 3.4. Diketahui dari contoh 3.1. bahwa , maka dapat dipilih

. Memilih suatu bilangan sama artinya dengan memilih elemen dari ,

12

dengan ≠ 0. Nilai inilah yang nantinya digunakan untuk menghitung nilai ,

dan kemudian nilai digunakan untuk menghitung nilai hash dari pesan.

2. Menghitung .

Tahapan selanjutnya adalah menghitung nilai yang nantinya akan

digunakan untuk menghitung nilai fungsi hash dari .

Contoh 3.5. Diketahui , dan diperoleh

. Akan dibuktikan

bahwa merupakan unsur tak nol. Andaikan = , didapatkan bahwa

atau , dengan k suatu bilangan bulat positif.

Diperoleh (kontradiksi dengan ) atau

. Jika , maka nilai k yang memenuhi adalah

, sehingga (kontradiksi dengan

). Terbukti unsur tak nol di .

3. Menghitung = dengan

Setelah mendapatkan nilai , A melakukan hashing terhadap nilai pesan

yang sebelumnya dikonversi menjadi bit string dan dibubuhi yang juga dalam

bentuk bit string, atau dapat disimbolkan sebagai .

Contoh 3.6. Diketahui , jika dikonversi ke dalam bentuk bit string

menjadi , kemudian dilakukan hashing ,

diperoleh hash value . Fungsi hash yang digunakan pada penelitian

ini adalah Message Digest 5 (MD-5) yang merupakan contoh algoritme fungsi

hash MDC. Fungsi ini merupakan pengembangan dari fungsi hash MD-4, dengan

jumlah putaran (looping) 4 kali dan total 64 operasi. Fungsi hash MD-5

mengubah pesan dengan bit berukuran tidak tetap menjadi sebuah message digest

(ringkasan pesan) berukuran tetap 128 bit. Fungsi ini dipilih karena waktu yang

dibutuhkan untuk melakukan checksum (pemeriksaan integritas data) relatif lebih

cepat dibandingkan fungsi hash lain. Checksum dilakukan untuk mengetahui

apakah dokumen masih asli atau sudah ada pengubahan (Prihardhanto 2010).

4. Menghitung

Setelah didapatkan hash value pada langkah 3, kemudian signer menghitung

nilai (tanda tangan), yang nantinya akan diberikan kepada B sebagai verifikator.

Nilai (nilai hash) akan digunakan sebagai informasi ekstra bagi verifikator

untuk memeriksa keaslian penanda, sedangkan nilai akan menjadi penanda yang

nantinya diperiksa keasliannya.

Contoh 3.7. Berdasarkan contoh nilai hash pada langkah sebelumnya, dan

kunci privat pada contoh 3.2, dapat diperoleh nilai (tanda tangan)

.

5. Diperoleh penanda A untuk m adalah .

Pasangan ini nantinya diperiksa oleh verifikator. Skema Feige-Fiat-

Shamir merupakan skema penandaan dengan apendiks, maka penanda yang

terbentuk mengandung pesan asli, yang telah dikomputasi menjadi himpunan .

Verification

Langkah selanjutnya adalah verifikasi. Untuk memeriksa keaslian penanda

milik A pada m, B perlu melakukan beberapa langkah, yaitu :

1. Memperoleh kunci publik dari A , serta penanda

13

Setelah melalui signature generation algorithm, kunci publik dan penanda

dari A dikirimkan ke B selaku verifikator. Misal, berdasarkan contoh sebelumnya,

B akan menerima kunci publik V = {104,103,67,166,168} dan penanda

({0,1,1,0,0},{61}). Tugas yang akan dilakukan B adalah memetakan

dengan memanfaatkan informasi tambahan yaitu kunci publik .

2. Menghitung

Setelah memperoleh kunci publik dari entitas A, verifikator kemudian

menghitung nilai , akan ditunjukkan bahwa jika tidak ada pengubahan nilai dari

penyerang aktif, maka nilai w akan selalu sama dengan nilai u.

Contoh 3.8. jika diketahui , V (kunci publik) =

{104,103,67,166,168} dan (nilai hash) = {0,1,1,0,0}. Dapat diperoleh nilai

Bukti

Diketahui , maka dapat diperoleh

, sedangkan ,

sehingga

Kemudian melakukan subtitusi

=

=

Kemudian melakukan subtitusi

=

Berdasarkan aksioma grup, , maka

=

=

3. Menghitung

Berdasarkan pembuktian pada langkah sebelumnya, diperoleh bahwa nilai

. Karena merupakan suatu fungsi. Berdasarkan definisinya, fungsi

memetakan satu anggota himpunan daerah asal (domain) dengan tepat satu

anggota daerah hasil (kodomain). Karena , maka

4. Penanda diterima apabila

Tahapan akhir adalah memeriksa nilai , apabila nilai sama dengan nilai

, maka tanda tangan dikatakan asli, namun apabila berbeda maka tanda tangan

dikatakan tidak asli. Berdasarkan pembuktian sebelumnya, dapat ditunjukkan

bahwa dan , sehingga nilai akan sama

dengan nilai . Hal yang berbeda akan terjadi apabila terjadi pengubahan nilai

sehingga tidak sesuai dengan yang diberikan signer, maka nilai yang

dihasilkan menjadi tidak sama dengan e sehingga tanda tangan menjadi tidak asli.

Dapat dikatakan bahwa skema ini resisten (tahan) terhadap penyerang aktif, yaitu

penyerang yang dapat menghapus, menambahkan, atau masuk melalui jalur lain

untuk mengubah pengiriman ke jalur komunikasi yang lain.

14

Implementasi Skema Feige-Fiat-Shamir Signature

Bab ini menjelaskan mengenai proses pembuatan tanda tangan digital

menggunakan skema Feige-Fiat-Shamir signature dengan bantuan perangkat

lunak Maple 13.

Awalnya, entitas A akan memilih dua bilangan prima acak besar dan

rahasia, p dan q untuk kemudian digunakan dalam proses pembangkitan kunci

privat dan publik. Berdasarkan komputasi menggunakan Algoritme pembangkitan

bilangan prima acak (Lampiran 1), diperoleh nilai 3065630569 dan

3142173961, didapatkan sebesar 9632744547957413809. Kemudian, dipilih

kunci privat sebanyak bilangan acak dari . Misalkan =5,

maka dapat diperoleh ={7407686288291686152, 7623866492689475299,

3138755540123636655, 5516532305365072951, 2796049711376393063}

(Lampiran 2). Selanjutnya, dari nilai akan ditentukan nilai kunci publik ,

dengan rumus , diperoleh

={3392888011141500760, 4937774006397703144, 6691860707790954398,

7974835316103774478, 3312140221196994589} (Lampiran 3). Nilai inilah

yang akan dikirimkan kepada verifikator.

Algoritme selanjutnya adalah algoritme penandaan. Entitas A memilih

suatu bilangan acak dengan . Hasil yang diperoleh adalah

= 6046801483005555257. Selanjutnya, entitas A menghitung nilai yaitu

, didapatkan nilai = 2269302898695163939. Kemudian, dihitung

nilai menggunakan fungsi hash , dengan merupakan dokumen

digital dalam bentuk bitstring. Diperoleh ={0,1,1,0,0}. Setelah diperoleh nilai ,

kemudian A menghitung nilai dengan rumus . Dengan

bantuan signature generation algorithm (Lampiran 4), diperoleh =

4447815266692797600. Hasil akhir algoritme ini adalah ({0,1,1,0,0},

4447815266692797600).

Penanda kemudian dikirimkan ke entitas B selaku verifikator. Penanda yang

diperoleh B adalah pasangan ({0,1,1,0,0}, 4447815266692797600) sedangkan

kunci publiknya adalah {3392888011141500760, 4937774006397703144,

6691860707790954398, 7974835316103774478, 3312140221196994589}.

Selanjutnya B menentukan nilai , dengan rumus

(Lampiran 6). Diperoleh nilai = 2269302898695163939. Dapat dilihat bahwa

nilai , sehingga pada fungsi hash akan menghasilkan nilai

yang sama dengan . Terbukti bahwa .

Analisis Keamanan Skema Feige-Fiat-Shamir Signature

Sub bab ini akan menjelaskan mengenai tumpuan keamanan skema Feige-

Fiat-Shamir signature pada kasus penanda digital. Suatu sistem dikatakan aman

apabila penyerang mempunyai peluang yang sangat kecil untuk mengakses,

menambah, maupun mengubah data-data yang dianggap penting dan rahasia dari

sistem tersebut. Semakin kecil peluang suatu sistem diserang, maka sistem

tersebut semakin aman. Pada kasus penanda digital, umumnya penyerang ingin

membuat tanda tangan palsu yang bernilai benar jika diverifikasi. Terdapat dua

kemungkinan bagi si penyerang untuk membuat tanda tangan palsu, yaitu

membuat algoritme signature generation sendiri yang menghasilkan penanda baru

dan bernilai benar jika diverifikasi, atau meretas kunci privat dari kunci publik

15

yang didapatkan dari pembuat tanda tangan. Sebagian besar penyerang

menggunakan pilihan kedua, karena lebih mudah.

Oleh karena itu, suatu skema penandaan digital yang berbasis kriptografi

mempunyai tumpuan keamanan. Inilah yang membuat suatu skema dapat

dikategorikan aman, kurang aman, maupun sangat aman. Tumpuan keamanan

pada skema Feige-Fiat-Shamir Signature terletak pada masalah faktorisasi intejer.

Hal ini diterapkan ketika pemilihan bilangan prima besar dan , serta .

Diketahui bahwa hanya mempunyai dua faktor prima, yaitu dan sehingga

sulit bagi penyerang untuk mendapatkan dan dari nilai yang diketahui. Nilai

dan yang besar (lebih besar dari 512 bit) akan semakin menyulitkan bagi

penyerang. Selain digunakan pada pemilihan nilai , faktorisasi prima juga

berpengaruh terhadap pemilihan kunci privat dan kunci publik. Diketahui bahwa

kunci publik mempunyai formula . Apabila pihak penyerang

ingin mengetahui nilai , maka harus dihitung dahulu .

Menghitung nilai ini relatif mudah, karena telah diketahui nilai sehingga

dengan bantuan perangkat lunak komputasi, nilai dapat diperoleh.

Permasalahan yang dihadapi adalah menghitung . Berdasarkan

sifat modular, jika maka dan .

Dimisalkan , maka dan

. Diperoleh dan Artinya, penyerang

harus melakukan faktorisasi prima terhadap untuk dapat memudahkan

menghitung , kecuali merupakan bilangan Blum. Jika bilangan merupakan

bilangan Blum, maka dapat diperoleh atau

. Hal yang berbeda akan terjadi apabila pihak penyerang dapat

mencari nilai dan . Penyerang tersebut akan lebih mudah untuk menentukan

kunci privat , meskipun tetap saja sulit menentukan beberapa bilangan acak

dalam semesta , dengan bilangan yang sangat besar.

SIMPULAN DAN SARAN

Simpulan

Penandaan digital dengan menggunakan skema Feige-Fiat-Shamir signature

cukup resisten (tahan) terhadap serangan yang dilakukan oleh penyerang aktif.

Selama kerahasiaan kunci privat masih terjaga, sangat kecil peluang pihak selain

signer (bahkan verifikator) membuat penanda digital yang bernilai benar ketika

diverifikasi. Selain itu, skema ini menggunakan sistem key establishment

sehingga pihak signer dan verifikator tidak perlu bertemu ataupun berkomunikasi

untuk menyepakati kunci bersama.

Keamanan skema Feige-Fiat-Shamir bertumpu pada masalah faktorisasi

intejer , dengan dan suatu bilangan prima. Jika dan bernilai

besar, maka juga akan besar sehingga solusi persamaan akan sulit

didapatkan. Selain itu, skema ini juga mempunyai permasalahan square root

modular, yaitu penentuan nilai sehingga . Beberapa cara dapat

16

digunakan untuk menentukan nilai square root modular, yaitu menggunkan

beberapa algoritme, diantaranya adalah Algoritme Shanks Tonelli dan Schnorr.

Saran

Penulis berharap agar karya ilmiah ini dapat dikembangkan, dengan

modifikasi pada Algoritme. Modifikasi dapat dilakukan dengan mengubah

algoritme pembangkitan kunci. Seiring perkembangan teknologi, akan semakin

mudah menemukan dua faktor prima dari suatu bilangan sehingga penulis

menyarankan agar nilai dapat dibangkitkan dari beberapa faktor prima. Selain

itu, modifikasi dapat dilakukan pada penggunaan fungsi hash, karena masih ada

banyak fungsi hash lain yang lebih baru dan dapat digunakan selain MD-5,

contohnya MD-6, SHA-1, CRC32.

DAFTAR PUSTAKA

Buchmann JA. 2000. Introduction to Cryptography. New York (US): Springer-

Verlag

Fraleigh, John B. 2000. A First Course in Abstract Algebra. Sixth Edition. New

York (US): Addison-Wesley Publishing Company.

Guritman S. 2003. Pengantar Kriptografi. Bogor (Indonesia): Institut Pertanian

Bogor.

Menezes AJ, Oorcshot PCV, dan Vanstone SA.1996. Handbook of Applied

Cryptoography. Florida (US): CRC Press.

Niven I, Zuckerman HS, dan Montgomery LH.1991. An Introduction to The

Theory of Numbers. New York (US): John Wiley & Sons.

Nugroho SC. 2014. Penerapan Konsep Zero Knowledge Pada Protokol E-Notary.

Bandung (Indonesia): Institut Teknologi Bandung

Nurdin N, Subkhi I. 2013. Representation of Positive Integers as Sums of Two

Perfect Squares. Lampung (Indonesia): Universitas Negeri Lampung

Prihardhanto MD. 2010. Studi Perbandingan Beberapa Fungsi Hash dalam

Melakukan Checksum Berkas. Bandung : Institut Teknologi Bandung.

Riyanto MZ. 2008. Kriptografi Kunci Publik : Sandi RSA. Yogyakarta

(Indonesia): Universitas Gadjah Mada.

Sadikin R. 2012. Kriptografi untuk Keamanan Jaringan.Yogyakarta (Indonesia):

ANDI OFFSET.

Schnorr CP, Ong H. 1991.Fast Signature Generation with Fiat Shamir-Like

Signature. Chicago (US): University of Chicago.

17

LAMPIRAN

Lampiran 1. Algoritme pembangkitan bilangan prima acak menggunakan Maple

13

Lampiran 2. Algoritme pembangkitan kunci privat

18

Lampiran 3.Pembangkitan kunci publik

Lampiran 4. Signature Generation Algorithm

19

Lampiran 5. Algoritme fungsi hash MD-5

Lampiran 6. Algoritme Verifikasi

20

RIWAYAT HIDUP

Penulis lahir di Jepara pada 26 Desember 1994. Penulis merupakan anak

kedua dari pasangan Priyadi Basuki dan Sholikhatun, dan memiliki dua saudara,

yaitu kakak perempuan bernama Novika Indriati dan adik perempuan bernama

Maulidya Tri Indriani. Penulis menempuh pendidikan dasar di SD N 06 Panggang

Jepara, kemudian melanjutkan pendidikan menengah pertama di SMP N 1 Jepara

dan melanjutkan ke jenjang atas di SMA N 1 Jepara. Penulis diterima di Institut

Pertanian Bogor melalui jalur SNMPTN undangan, dengan NIM G54120040, dan

menjalani tahun pertama di Asrama TPB IPB. Selama satu tahun di Asrama TPB

IPB, penulis mengikuti beberapa kegiatan, diantaranya menjadi koordinator

departemen di Paguyuban Bidikmisi IPB, delegasi Kabupaten Bogor pada

Raimuna Daerah Jawa Barat XXII di Jatinangor, anggota klub Asrama Tutor

Sebaya, panitia LES (Leadership and Entrepreneurship School), ketua pelaksana

seleksi Mahasiswa Asrama Berprestasi, panitia LCC Tutor Sebaya, panitia

Farewel Party 49, dan ketua pelaksana Dormitory Fair. Setelah tahun pertama,

penulis mengikuti beberapa kegiatan, baik organisasi, kepanitiaan, maupun

perlombaan, diantaranya menjadi pengurus Gumatika, anggota komunitas perkusi

Gumatika (Gumakusi), pengurus HROSHIMA, Head of Eco-Project IGAF

standing boards, representative member di UNEP TUNZA SEAYEN,

representative member di Global Youth Biodiversity Network (GYBN), panitia

math Night 2013, panitia Pesta Sains Nasional 2014. Beberapa perlombaan yang

diikuti penulis diantaranya adalah juara 3 lomba aerobik Semarak Bidikmisi 2013,

juara 3 lomba perkusi Semarak Bidikmisi 2013, juara 1 perkusi SPIRIT 2014,

2015, 2016, juara 1 perkusi Semarak Bidikmisi 2014, juara 2 perkusi IAC 2015,

juara 3 perkusi IAC 2016, juara 1 lomba debat G-Fest 2014, semifinalis Calculus

Cup UNJ tingkat Nasional, PKM lolos didanai dikti pada 2014, dan menjadi

perwakilan Indonesia pada UNEP TUNZA SEAYEN 7th

annual meeting 2014 di

Singapore serta perwakilan Asia Tenggara pada Singapore International Water

Week 2014 di Singapore.