analisis keamanan skema feige-fiat-shamir signature pada ... · feige-fiat-shamir signature pada...
Post on 07-Mar-2019
232 Views
Preview:
TRANSCRIPT
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
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.
top related