IMPLEMENTASI ALGORITMA TANDA TANGAN DIGITAL PADA DATA
CITRA BERBASIS KRIPTOGRAFI KURVA ELIPTIK
SKRIPSI
M HANAFI HARAHAP
080803029
DEPARTEMEN MATEMATIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS SUMATERA UTARA
IMPLEMENTASI ALGORITMA TANDA TANGAN DIGITAL PADA DATA
CITRA BERBASIS KRIPTOGRAFI KURVA ELIPTIK
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat untuk mencapai gelar sarjana
sains
M HANAFI HARAHAP
080803029
DEPARTEMEN MATEMATIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS SUMATERA UTARA
Judul
: IMPLEMENTASI ALGORITMA TANDA TANGAN
DIGITAL
PADA
DATA
CITRA
BERBASIS
KRIPTOGRAFI KURVA ELIPTIK
Kategori
: SKRIPSI
Nama
: M. HANAFI HARAHAP
Nomor Induk Mahasiswa
: 080803029
Program Studi
: SARJANA (S1) MATEMATIKA
Departemen
: MATEMATIKA
Fakultas
: MATEMATIKA DAN ILMU PENGETAHUAN
ALAM (FMIPA) UNIVERSITAS SUMATERA
UTARA
Diluluskan di
Medan, Oktober 2013
Komisi Pembimbing
:
Pembimbing 2
Pembimbing 1
Drs. Marihat Situmorang, M.Kom. Dra. Normalina Napitupulu, M.Sc.
NIP. 196312141989031001 NIP : 196311061989022001
Diketahui/Disetujui oleh
Departemen Matematika FMIPA USU
Ketua.
IMPLEMENTASI ALGORITMA TANDA TANGAN DIGITAL PADA DATA
CITRA BERBASIS KRIPTOGRAFI KURVA ELIPTIK
SKRIPSI
Saya mengakui bahwa skripsi ini adalah hasil kerja saya sendiri, kecuali beberapa
kutipan dan ringkasan yang masing-masing disebutkan sumbernya.
Medan, Oktober 2013
Assalamu’alaikum Wr. Wb.
Puji syukur penulis ucapkan kehadirat Allah SWT atas rahmat dan hidayah-Nya
sehingga penulis berhasil menyelesaikan skripsi yang berjudul
Implementasi
Algoritma Tanda Tangan Digital pada Data Citra Berbasis Kriptografi Kurva
Eliptik
ini dalam waktu yang telah ditetapkan.
Ucapan terima kasih penulis sampaikan kepada Ibu Dra. Normalina
Napitupulu, M.Sc. dan Bapak Drs. Marihat Situmorang, M.Kom. selaku pembimbing
yang telah memberikan panduan dan penuh kepercayaan kepada penulis untuk
menyempurnakan kajian ini. Bapak Syahriol Sitorus S.Si.,M.IT. dan Bapak Drs.
James Piter Marbun M.Kom. selaku penguji yang telah memberikan kritikan dan
saran yang membangun dalam penyempurnaan skripsi ini. Dekan dan Pembantu
Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Sumatera Utara.
Ketua dan Sekretaris Departemen Matematika Bapak Prof. Dr. Tulus, M.Si. dan Ibu
Dra. Mardiningsih, M.Si.. Seluruh staf pengajar dan staf administrasi di lingkungan
Departemen Matematika, serta seluruh civitas akademika di lingkungan Fakultas
Matematika dan Ilmu Pengetahuan Alam Universitas Sumatera Utara.
Ucapan terima kasih juga ditujukan kepada kedua orang tua penulis yang
terspecial, Ayahanda Alm. Khairul Harahap dan Ibunda Juriah Siregar yang telah
memberikan banyak bantuan baik materi, moral maupun spiritual. Kepada
saudara-saudara penulis Ahmad Khairuddin Harahap, S.T. dan Rahmad Saleh Harahap S.E.
Tidak terlupakan, ucapan terima kasih kepada sahabat penulis, Ridho, Romi,
Isnaini, Wilya, Alan, Sherly, Lindo, Windy, Evi dan Ningrum. Khususnya untuk
Matematika Komputasi ’08 (Mifdhal dan
Iqbal), Bang Fathoni, Bang Radhi,, Bang
Mizwar serta adik-adik juniorku Departeman Matematika FMIPA USU.
Semoga segala bentuk bantuan yang telah diberikan kepada penulis
mendapatkan balasan yang lebih baik dari Allah SWT.Akhir kata penulis
mengharapkan saran dan kritik yang membangun demi penyempurnaan skripsi ini dan
berharap semoga skripsi ini dapat bermanfaat bagi para pembaca Amin.
Medan, Oktober 2013
Penulis,
ABSTRAK
Tanda tangan digital
(digital signature
) merupakan mekanisme keamanan jaringan
yang menyediakan cara bagi pengirim data untuk “menandatangani” secara elektronik
sebuah data dan penerima dapat memverifikasi “tanda tangan” itu secara elektronik.
IMPLEMENTATION OF DIGITAL SIGNATURE ALGORITHM ON IMAGE
DATA BASED ELLIPTIC CURVE CRYPTOGRAPHY
ABSTRACT
Digital signature is a network security mechanism that provides a way for sending the
data to "sign" an electronic data and the receiver can verify the "signature" that
electronically. Digital signatures are created by utilizing a public key cryptography
system. Including elliptic curve cryptography public key cryptography system that
bases its security on mathematical problems elliptic curve discrete logarithm. Image
is a was later or description of an object. In this paper, a digital signature is applied
to the image using the elliptic curve cryptography and its implementation using Java
programming. The results obtained show the digital signature can be applied to the
image so that when the digital signature verification shows can preserve the integrity
DAFTAR ISI
Halaman Judul
i
Halaman Persetujuan
ii
Pernyataan
iii
Penghargaan
iv
Abstrak
vi
Abstract
vii
Daftar Isi
viii
Daftar Tabel
x
Daftar Gambar
xi
Bab 1 Pendahuluan
1
1.1 Latar Belakang
1
1.2 Perumusan Masalah
2
1.3 Batasan Masalah
2
1.4 Tinjauan Pustaka
2
1.5 Tujuan Penelitian
4
1.6 Kontribusi Penelitian
5
1.7 Metode Penelitian
5
Bab 2 Landasan Teori
7
2.1 Kriptografi
7
2.2 Sistem Kriptografi
8
2.2.1 Karakteristik Sistem Kriptografi
8
2.3 Algoritma Kriptografi
9
2.3.1 Algoritma Simetri
10
2.3.2 Algoritma Asimetris
10
2.4 Aritmatika Modular
11
2.5 Grup
13
2.6
Ring
13
2.7
Field
14
.
2.8
Finine Finite
14
2.8.1
Finite Field
Bilangan Prima (GF(
p
))
14
2.8.2
Finite Field
dengan Elemen Polinomial (GF(
p
m))
15
2.8.3 Aritmatika Modular Polinomial
16
2.9 Fungsi
Hash
19
2.10.3 Kriptografi Kurva Eliptik pada GF(2
)
26
2.10.4 Permasalahan Logaritma Diskrit Kurva Eliptik
30
2.11 Tanda Tangan Digital
30
2.12 Pengertian Citra
32
2.12.1 Model Citra Sederhana
33
2.12.2 Representasi Citra Digital
34
2.12.3 Mode Warna
35
2.12.4 Penyimpanan Citra
35
Bab 3 Analisis dan Perancangan Aplikasi
38
3.1 Analisis Algoritma Tanda Tangan Digital
38
3.2 Analisis Algoritma Tanda Tangan Digital Berbasis Kriptografi Kurva
Eliptik
42
3.2.1 Domain Parameter Kurva Eliptik pada GF(2
m)
43
3.2.2 Pembangkit Pasangan Kunci
45
3.2.3 Pembangkit Tanda Tangan Digital
45
3.2.4 Verifikasi Tanda Tangan Digital
46
3.3 Analisis
Input
Citra
46
3.4 Analisis Perancangan Aplikasi
47
3.4.1 Domain Parameter Kurva Eliptik
49
3.4.2 Pengirim Pesan
50
3.4.3 Penerima Pesan
52
Bab 4 Hasil dan Pembahasan
53
4.1 Perancangan Perangkat Lunak
53
4.1.1 Java
53
4.1.2 Kebutuhan Perangkat Lunak (
software
) dan Perangkat Keras
(
hardware
)
55
4.2 Pengujian Aplikasi
56
4.2.1 Pemilihan Domain Parameter
56
4.2.2 Pengirim Pesan
61
4.2.3 Penerima Pesan
66
Bab 5 Kesimpulan dan Saran
69
5.1 Kesimpulan
69
5.2 Saran
69
Daftar Pustaka
70
Lampiran A :
72
DAFTAR TABEL
Halaman
Tabel 2.1 Penjumlahan pada GF(2)
16
Tabel 2.2 Perkalian pada GF(2)
17
Tabel 2.3 Representasi biner dari
g
27
Tabel 2.4 Titik kurva eliptik
2 3 3 21
y
xy
x
g x
pada GF(2
3)
28
Tabel 3.1 Notasi yang digunakan pada domain parameter kurva eliptik
44
DAFTAR GAMBAR
Halaman
Gambar 2.1 Algoritma simetris
10
Gambar 2.2 Algoritma asimetris
11
Gambar 2.3 Kurva eliptik
y
2
x
3
12
x
13
22
Gambar 2.4 Kurva eliptik
y
2
x
3
10
x
13
22
Gambar 2.5 Penjumlahan
P
Q
R
24
Gambar 2.6 Penjumlahan
P
(
P
)
O
24
Gambar 2.7 Penjumlahan
2
P
R
25
Gambar 2.8 Diagram Proses Tanda Tangan Digital
31
Gambar 3.1 Proses digital signature dengan kunci asimetris
39
Gambar 3.2 Proses pembentukan dan validasi tanda tangan digital
40
Gambar 3.3 Digram alur algoritma tanda tangan digital berbasis kriptografi kurva
eliptik
48
Gambar 3.4 Diagram alur domain parameter kurva eliptik
50
Gambar 3.5 Diagram alur pengirim pesan
51
Gambar 3.6 Diagram alur penerima pesan
52
Gambar 4.1 Tampilan NetBeans IDE 7.1.2
54
Gambar 4.2 Tampilan pemilihan domain parameter
61
Gambar 4.3 Tampilan pengirim pesan
66
ABSTRAK
Tanda tangan digital
(digital signature
) merupakan mekanisme keamanan jaringan
yang menyediakan cara bagi pengirim data untuk “menandatangani” secara elektronik
sebuah data dan penerima dapat memverifikasi “tanda tangan” itu secara elektronik.
IMPLEMENTATION OF DIGITAL SIGNATURE ALGORITHM ON IMAGE
DATA BASED ELLIPTIC CURVE CRYPTOGRAPHY
ABSTRACT
Digital signature is a network security mechanism that provides a way for sending the
data to "sign" an electronic data and the receiver can verify the "signature" that
electronically. Digital signatures are created by utilizing a public key cryptography
system. Including elliptic curve cryptography public key cryptography system that
bases its security on mathematical problems elliptic curve discrete logarithm. Image
is a was later or description of an object. In this paper, a digital signature is applied
to the image using the elliptic curve cryptography and its implementation using Java
programming. The results obtained show the digital signature can be applied to the
image so that when the digital signature verification shows can preserve the integrity
PENDAHULUAN
1.1
Latar Belakang
Data atau informasi tidak hanya disajikan dalam bentuk teks, tetapi juga dapat berupa
gambar, audio (bunyi, suara, musik), dan video. Keempat macam data atau informasi
ini sering disebut multimedia. Era teknologi informasi saat ini tidak dapat dipisahkan
dari multimedia. Citra (
image
) sebagai salah satu komponen multimedia memegang
peranan sangat penting sebagai bentuk informasi visual. Pengiriman data citra (
image
)
melalui jaringan komputer seperti jaringan internet dapat diubah atau dicuri. Oleh
karena itu dalam pengiriman data citra perlu dilakukan proses autentikasi pada data
citra. Salah satu proses autentikasi adalah dengan menggunakan tanda tangan digital
(digital signature).
Tanda tangan digital
(digital signature
) merupakan mekanisme keamanan
jari
ngan yang menyediakan cara bagi pengirim data untuk “menandatangani” secara
elektronik sebuah data dan penerima dapat memverifikasi “tanda tangan” itu secara
elektronik.
Digital Signature
ditambahkan pada data unit dan digunakan sebagai bukti
sumber pengirim dan menghindari pemalsuan (
forgency
) tanda tangan. Tanda tangan
digital dibuat dengan memanfaatkan sistem kriptografi kunci publik.
Sistem kriptografi kunci publik atau sering disebut sebagai kriptografi
asimetris pertama kali diusulkan oleh Deffie dan Helman pada tahun 1976. Sistem
kritografi kunci publik memiliki kunci untuk enkripsi
K
edan kunci untuk deskripsi
K
dyang berbeda. Kunci untuk enkripsi
K
edisebut juga sebagai kunci publik bersifat
tidak rahasia sehingga dapat didistribusikan melalui saluran tidak aman. Sedangkan
digunakan sebagai grup operasi matematis untuk melangsungkan proses enkripsi dan
dekripsi. Kelebihan algoritma asimetris ini adalah proses pendistribusian kunci pada
media yang tidak aman seperti internet, tidak memerlukan kerahasiaan. Karena kunci
yang didistribusi adalah kunci publik. Sehingga jika kunci ini sampai hilang atau
diketahui oleh orang lain yang tidak berhak, maka pesan sandi yang dikirim akan
tetap aman. Sedangkan kunci private tetap disimpan (tidak didistribusikan).
1.2 Perumusan Masalah
Perumusan masalah yang akan diteliti dalam penulisan tugas akhir ini adalah
menerapkan algoritma tanda tangan digital (
digital signature algorithm
) pada citra
digital berdasarkan kriptografi kurva eliptik.
1.3 BatasanMasalah
Dalam penelitian ini dilakukan beberapa batasan sebagai berikut:
1.
Finite field
yang digunakan adalah
finite field
GF(2
m).
2.
Domain parameter yang digunakan adalah domain parameter yang
direkomendasikan oleh NIST (
National Institute of Standard and Technology
).
3.
Implementasi dalam bahasa pemrograman java menggunakan netbeans IDE
7.1.2.
1.4
Tinjauan Pustaka
Kriptografi adalah ilmu yang mempelajari bagaimana supaya pesan atau dokumen kita
aman, tidak bisa dibaca oleh pihak yang tidak berhak. Dalam perkembangannya,
kriptografi juga digunakan untuk identifikasi pengiriman pesan dengan tanda tangan
elektronik.
Digital Signature
ditambahkan pada data unit dan digunakan sebagai bukti
sumber pengirim dan menghindari pemalsuan (
forgency
) tanda tangan. Cara kerja
digital signature
hampir sama dengan cara kerja “tanda tangan” dokumen biasa.
Terdapat dua algoritma pada sistem
digital signature,
yaitu algoritma
sign
untuk
menandatangani sebuah dokumen
M
dan menghasilkan sebuah tanda tangan (
sign
)
ρ
,
dan algoritma
verify
yang mengembalikan nilai
true
bila tanda tangan
ρ
memang
pemilik penandatangan dan untuk dokumen
M
. Sistem
digital signature
menggunakan
kunci asimetris dengan algoritma
sign
menggunakan kunci privat dan algoritma
verify
menggunakan kunci publik. (Rifki sadikin, 2012).
Lembaga standarisasi Amerika Serikat NIST (
National Institute of Standard
and Technology
) pada tahun 1994 mempublikasikan sebuah skema
digital signature
standar yang disebut
digital signature standard
(DSS). Pada implementasinya DSS
menggunakan fungsi
hash
SHA-1. Skema
digital signature
DSS dapat menggunakan
grup dari kurva eliptik sering disebut dengan ECDSS (
Elliptic Curve Digital
Signature
). Skema
digital signature
ECDSS bersandar pada persoalan logaritma
diskrit pada grup kurva eliptik dan terdiri dari tiga algoritma yaitu algoritma
pembangkit kunci,
sign
dan
verify
(Rifki sadikin, 2012).
Fungsi
hash
adalah sebuah fungsi yang masukannya adalah sebuah pesan dan
keluaran sebuah sidik pesan (
message fingerprint
). Sidik pesan sering juga disebut
message digest.
Fungsi
hash
dapat digunakan untuk mewujudkan beberapa layanan
keamanan jaringan misalnya untuk keutuhan data dan otentikasi pesan (Rifki sadikin,
2012).
Kriptografi kurva eliptik adalah sebuah algoritma kriptografi kunci asimetris,
yaitu, algoritma di mana setiap pihaknya memiliki sepasang kunci privat dan kunci
publik. Kunci privat hanya dimiliki oleh pribadi-pribadi yang berkepentingan,
Kurva Eliptik adalah sehimpunan solusi yang memenuhi persamaan kubik
yang melibatkan dua variabel. Kurva eliptik dapat didefenisikan pada sembarang
medan (
field
). Kurva eliptik yang terdefenisi pada GF(
p
) dan GF(2
n) dapat dipakai
pada sistem kriptografi (Hankerson et al., 2003).
Struktur aljabar
field
merupakan pengkhususan terhadap struktur aljabar
ring
.
Kondisi operator untuk
field
adalah kondisi operator untuk
ring
dengan tambahan
operator perkalian
x
memiliki invers untuk semua simbol yang bukan identitas
penjumlahan (0).
Finite field
atau dikenal juga sebagai
Galois field
(untuk
menghormati Evariste Galois) adalah
field
yang jumlah elemennya terbatas. (Rifki
sadikin, 2012).
Citra adalah suatu reprentasi atau deskripsi tentang suatu objek. Citra juga
dapat diartikan sebagai objek pada bidang dua dimensi. Citra digital adalah
representasi numerik dari objek-objek. Citra digital dibentuk dari sekumpulan array
dua dimensi. Tiap angka menggambarkan warna dari tiap titik dalam gambar sesuai
dengan mode warna yang digunakan. Titik-titik ini disebut pixel yang merupakan
singkatan dari
picture element
(elemen gambar).
1.5
Tujuan Penelitian
Adapun tujuan dari penulisan tugas akhir ini adalah untuk mengetahui penggunaan
algoritma tanda tangan digital pada citra digital berdasarkan kriptografi kurva eliptik
a.
Menambah pengetahuan dalam bidang
computer security
khususnya
kriptografi pada citra digital.
b.
Dengan penelitian ini penulis berharap dapat memperkaya
literature
dalam
bidang komputasi khususnya kriptografi dan pengolahan citra.
c.
Dapat membangun sebuah perangkat lunak dengan mengaplikasikan
algoritma tanda tangan digital pada citra digital.
1.7
Metode Penelitian
Metodologi penelitian ini bersifat literatur dan kepustakaan dengan langkah-langkah
sebagai berikut:
a.
Studi Literatur dan Pemahaman.
Penulisan ini dimulai dengan studi kepustakaan yaitu mengumpulkan
bahan-bahan referensi dan catatan kuliah yang membahas tentang tanda tangan
digital, kriptografi kurva eliptik, dan citra digital.
b.
Analisis.
Pada tahap ini dilakukan pengumpulan fakta-fakta yang mendukung
perancangan sistem dengan mengadakan konsultasi dengan dosen
pembimbing maupun dosen yang berkemampuan dalam bidang ini dan
membandingkan dengan yang ada pada buku penuntun.
c.
Perancangan dan Implementasi.
Perancangan dan implementasi dilakukan dengan metode yang terdapat dalam
d.
Pengujian.
Pada tahap ini sistem yang sudah dirancang diuji oleh
user
.
e.
Penyusunan laporan dan kesimpulan akhir
Pada tahap ini dilakukan penyusun laporan hasil analisis ke dalam format
Bab 2
LANDASAN TEORI
2.1 Kriptografi
Kriptografi (
cryptography
) berasal dari bahasa Yunani yaitu dari kata
Crypto
(tersembunyi) dan
Graphia
(tulisan). Kriptografi adalah suatu ilmu yang mempelajari
penulisan secara rahasia. Kriptografi merupakan bagian dari suatu cabang ilmu
matematika yang disebut
cryptology.
Kriptografi bertujuan menjaga kerahasiaan
informasi yang terkandung dalam data sehingga informasi tersebut tidak dapat
diketahui oleh pihak yang tidak sah.
Kriptografi merupakan seni dan ilmu untuk menjaga keamanan data dengan
metode tertentu, dan pelakunya disebut
cyptograper.
Kriptografi disebut ilmu karena
didalamnya terdapat rumusan (metode) yang digunakan, dan dikatakan sebagai seni
karena dalam membuat suatu teknik kriptografi itu sendiri merupakan ciri tersendiri
dari si pembuat dan memerlukan teknik khusus dalam mendesainnya. (Munir,2006)
.
Kriptografi pada awalnya dijabarkan sebagai ilmu yang mempelajari
bagaimana menyembunyikan pesan. Namun pada pengertian modern kriptografi
adalah ilmu yang bersandarkan pada teknik matematika untuk berususan dengan
keamanan informasi seperti kerahasian, keutuhan data, dan otentikasi entitas. Jadi
pengetian kriptografi modern adalah tidak hanya berurusan dengan penyembunyian
2.2 Sistem Kriptografi
Sistem kriptografi terdiri dari 5 bagian yaitu, (Stinson,2002):
1.
Plaintext
: pesan atau data dalam bentuk aslinya yang dapat terbaca.
Plaintext
adalah masukan bagi algoritma enkripsi.
2.
Secret Key
:
secret key
yang juga merupakan masukan bagi algoritma enkripsi
merupakan nilai yang bebas terhadap teks asli dan menentukan hasil keluaran
algoritma enkripsi.
3.
Chipertext
:
chipertext
adalah keluaran algoritma enkripsi.
Chipertext
dapat
dianggap sebagai pesan dalam bentuk tersembunyi. Algoritma enkripsi yang
baik akan menghasilkan
chipertext
yang terlihat acak.
4.
Algoritma Enkripsi : Algoritma enkripsi memiliki dua masukan yaitu teks asli
dan kunci rahasia. Algoritma enkripsi melakukan transformasi terhadap teks
asli sehingga menghasilkan teks sandi.
5.
Algoritma Deskripsi : Algoritma deskripsi memiliki dua masukan yaitu teks
sandi dan kunci rahasia. Algoritma deskripsi memulihkan kembali teks sandi
menjadi teks asli bila kunci rahasia yang dipakai algoritma deskripsi sama
dengan kunci rahasia yang dipakai algoritma enkripsi.
2.2.1 Karakteristik Sistem Kriptografi
Sistem Kriptografi dapat dikarakteristikan berdasarkan :
1.
Tipe operasi yang dipakai dalam enkripsi dan deskripsi. Dua tipe operasi yang
dipakai dalam enkripsi dan deskripsi : subsitusi, elemen pada pesan (karakter,
byte atau bit) ditukar atau disubsitusikan dengan elemen yang lain dari ruang
pesan. Misalnya subsitusi sederhana Aditukar B, B ditukar D, dan C ditukar Z,
pesan “BACA” menjadi “DBZB”. Tipe operasi lainnya adalah transposisi,
elemen pada pesan berpindah posisi misalnya posisi 1 menjadi posisi 4 dan
2, pesan “KAMI” menjadi “MAIK”. Sistem kriptografi modern mencakup
kedua tipe operasi ini.
2.
Tipe kunci yang dipakai. Umumnya sistem kriptografi klasik dan beberapa
sistem kriptografi modern menggunakan kunci yang sama pada sisi penyandi
dan penyulih sandi. Sistem kriptografi seperti ini disebut dengan kriptografi
dengan kunci simetri. Baru pada tahun 1976 sistem kriptografi yang
memperbolehkan kunci yang tidak sama diusulkan oleh Whitfield Deffie dan
Martin Hellman, (Deffie & Hellman, 1976). Sistem Kriptografi ini disebut
dengan kriptografi dengan kunci asimetri.
3.
Tipe pengolahan pesan. Ketika melakukan penyandian pesan yang akan
dienkripsi ataupun dideskripsi diolah pesatuan blok elemen yang disebut
blok
cipher
. Cara lain adalah dengan menganggap masukan untuk enkripsi dan
deskripsi sebagai aliran elemen secara terus menerus disebut dengan
stream
cipher
.
2.3 Algoritma Kriptografi
Defenisi terminologi algoritma adalah urutan langkah-langkah logis untuk
menyelesaikan masalah yang disusun secara matematis. Algoritma kriptografi
merupakan langkah-langkah logis bagaimana menyembunyikan pesan dari
orang-orang yang tidak berhak atas pesan tersebut.
Berdasarkan jenis kunci yang digunakan, algoritma kriptografi dikelompokkan
menjadi dua bagian, yaitu :
1.
Algoritma Simetris (Algoritma Konvensional).
2.3.1 Algoritma Simetris
Algoritma ini disebut algoritma konvensional, yaitu algoritma yang menggunakan
kunci yang sama pada proses enkripsi dan deskripsinya. Algoritma ini mengharuskan
pengirim dan penerima menyetujui satu kunci tertentu.
Kelompok algoritma simetris adalah OTP, DES, RC2, RC4, RC5, RC6, IDEA,
Twofish, Magenta, FEAL, SAFER, LOKI, CAST, Rijndael (AES), Blowfish, GOST,
A5 Kasumi dan lain-lain.
Chipertext
Plaintext Plaintext
Gambar 2.1 Algoritma simetris
2.3.2 Algoritma Asimetris
Masalah distribusi kunci pada algoritma simestris dapat diatasi dengan metode
kriptografi asimetris atau disebut juga dengan kriptografi kunci publik (
publik key
algorithm
). Sebutan asimetris (tidak simetris) memperlihatkan adanya perbedaan
kunci yang digunakan antara proses enkripsi dan deskripsi. Kunci publik digunakan
untuk proses enkripsi data sedangkan proses deskripsi menggunakan kunci yang biasa
disebut dengan kunci rahasia (
private key
).
Algoritma yang memakai kunci umum diantaranya adalah
Digital Signature
Algorithm
(DSA), RSA, Diffie-Hellman (DH),
Elliptic Curve Cryptography
(ECC),
Crytography Quantum
dan lain-lain.
Enkripsi
Kunci
Kunci Publik
Kunci Privat
Plaintext
Ciphertext
Plaintext
Gambar 2.2 Algoritma asimetris
2.4 Aritmatika Modular
Aritmatika adalah matematika pertambahan dan perkalian dengan kemungkinan
operasi
inverse
(pembalikan). Aritmatika modular digunakan agar operasi aritmatika
selalu menghasilkan integer pada lingkup yang sama.
Aritmatika yang banyak digunakan dalam kriptografi adalah apa yang disebut
aritmatika modular (
modular arithmetic
). Dalam aritmatika modular,
domain
yang
digunakan adalah
subset
dari bilangan bulat dan bersifat
finite
(terbatas, besarnya
domain
merupakan bilangan bulat). Setiap bilangan mempunyai
inverse
pertambahan,
dan jika setiap bilangan kecuali 0 mempunyai
inverse
perkalian maka struktur
aritmatika disebut
finite field
.
Digunakannya aritmatika modular dalam kriptografi adalah karena adanya
inverse
perkalian (terutama jika struktur berupa
field
) dan
domain
yang bersifat
finite
.
Karena
finite field
juga berupa
field
, konsep gcd tidak ada artinya dalam struktur
finite
field
. Tetapi gcd dengan bilangan bulat (yang mempunyai struktur
ring
) banyak
digunakan dalam membahas struktur
finite field
.
Domain
dari aritmatika modular
adalah
{0,1,2,3,…
,
n
−
1}, dimana
n
adalah besarnya
domain
. Aritmatika disebut
aritmatika modulo
n
, dengan pertambahan dan perkalian seperti aritmatika biasa jika
menghasilkan bilangan yang termasuk dalam
domain
. Jika hasil merupakan bilangan
diluar
domain
, maka bilangan harus dikurangi dengan kelipatan
n
sampai
menghasilkan bilangan dalam
domain
Operator modular
Operator modular memerlukan 2 masukan yaitu sebuah integer
a
dan sebuah bilangan
positif yang disebut modulus
n.
Operasi modular mengembalikan
r
yang merupakan
sisa bagi atas operasi
a
dibagi
n.
Notasi operasi modulus diberikan oleh persamaan :
a
mod
n
=
r
Kongruen
Hasil operasi modular sembarang bilangan integer
a
dengan sebuah bilangan integer
positif
n
selalu pada kisaran 0 sampai
n
−
1. Dengan begitu operasi modular
n
terhadap
sembarang bilangan integer
a
merupakan pemetaan dari himpunan bilangan integer
(
ℤ) ke himpunan bilangan { , , , ,…,
n
−
1}
(dinotasikan sebagai
ℤ
n) atau dikenal
dengan sebagai himpunan residu modular
n.
Dua buah integer
a
dan
b
disebut kongruen pada modulus
n
apabila memiliki
sisa bagi yang sama, definisi kongruen diberikan oleh 2.1.
Definisi 2.1
Misal
a
dan
b
adalah integer dan
n
adalah integer positif.
a
≡
b (mod n)
jika
n
membagi habis
b
–
a.
Simbol “
≡
” digunakan untuk menandakan kongruen.
Pernyataan
a
≡
b (mod n)
dapat dibaca
a
kongruen dengan
b
pada modulus
n
.
Kelas Residu
Sembarang bilangan
x
∈ ℤ
dapat dipetakan ke satu anggota
a
pada himpunan residu
modular
n
(
ℤ
n), himpunan ini disebut dengan kelas residu dan dinotasikan
dengan [
a
]. Contohnya pada operasi modular 5, {…,
-8,-
3,3,8,13,18,23,…} dapat
dipetakan ke 3
∈ ℤ
5, karena 3 mod 5
=
3, 8 mod 5 = 3, 13 mod 5 = 3, dan seterusnya.
2.5 Grup
Struktur aljabar yang paling sederhana adalah grup.Grup terdiri dari himpunan simbol
dan sebuah operasi biner
∗
.
Sebuah grup harus memenuhi kondisi seperti yang
diberikan oleh definsi 2.2.
Definisi 2.2
Sebuah grup (
G
,
∗
) dengan
G
adalah himpunan simbol, dan
∗
adalah
sebuah operator biner yang memenuhi kondisi berikut ini :
1.
∀
a, b
∈
G
:
a
∗
b
∈
G
(
Closure
).
2.
∀
a, b, c
∈
G
:
a
∗
(
b
∗
c
)
∈
G
: (
a
∗
b
)
∗
c
(Asosiatif).
3.
∃
yang unik
e
∈
G
:
∀
a
∈
G
:
a
∗
e
=
e
∗
a
=
a.
Elemen
e
disebut elemen
identitas.
4.
∀
a
∈
G
:
∃
1a
∈
G
:
a
∗
1a
=
1a
∗
a
=
e
(Invers).
Grup yang operator
∗
bersifat komutatif ( yaitu
∀
a, b
∈
G
:
a
∗
b
=
b
∗
a
)
disebut Grup Abel.
2.6
Ring
Ring
adalah struktur aljabar yang memiliki 2 operator untuk satu himpunan simbol.
Untuk dapat disebut
ring
2 operator itu harus memenuhi kondisi seperti yang disebut
pada definisi 2.3.
Definisi 2.3
(
Ring
) Sebuah
ring
adalah satu himpunan simbol
R
dan dua operasi :
+
(disebut penjumlahan) dan
×
(disebut perkalian) yang memenuhi kondisi berikut ini :
1.
R
dengan operasi
+
adalah grup Abel. Notasi 0 dipakai untuk
merepresentasikan identitas penjumlahan.
2.
Operasi
×
memenuhi aksioma
closure
, asosiatif, dan identitas. Identitas untuk
3.
∀
a, b
∈
R
:
a
×
b
=
b
×
a
(Komutatif).
4.
∀
a, b, c
∈
R :
a
×
(
b
+
c
)
=
(
a
×
b
)
+(
a
×
c
) (Distributif).
2.7
Field
Struktur aljabar
field
merupakan pengkhususan terhadap struktur aljabar
ring
. Kondisi
operator untuk
field
adalah kondisi operator untuk
ring
dengan tambahan operator
perkalian
x
memiliki invers untuk semua simbol yang bukan identitas penjumlahan
(0). Secara formal sebuah field didefinisikan oleh definisi 2.4.
Definisi 2.4
Jika elemen non-zero (yang bukan identitas penjumlahan membentuk
sebuah grup dengan operasi perkalian maka
ring
itu disebut
field.
2.8
Finite Field
Finite field
atau dikenal juga sebagai
Galois field
(untuk menghormati Evariste
Galois) adalah
field
yang jumlah elemennya terbatas.
2.8.1
Finite Field
Bilangan Prima (GF(
p
))
Finite field
dengan struktur tersederhana adalah
finite field
yang nilai
order
nya adalah
bilangan prima dinotasikan dengan GF(
p
). GF(
p
) terdiri dari himpunan bilangan Z
pdengan
p
bilangan prima yaitu himpunan integer
{
0, 1, 2,
…
,
� −
1
dan 2 operasi
2.8.2
Finite Field
dengan Elemen Polinomial (GF(
p
m))
Selain GF(
p
) yang berbasis bilangan prima
p
, tipe
Galois field
lain yang sering dipakai
pada sistem kriptografi adalah GF(
p
m). GF(
p
m) berbasis aritmatika modular polinomial
f
(
x
) :
1 0
1 1 0
( )
n n n n...
f x
a x
a
x
a x
a
Polinomial
f x
( )
disebut dengan
irreducible polynomial
.
f x
( )
adalah
polinomial berderajat
n
yang koefisiennya adalah pada GF(
p
). Koefisien
a
iadalah
elemen GF(
p
) dan
a
n≠
0. Karakteristik
irreducible polynomial
m x
( )
mirip dengan
bilangan prima, yaitu tidak bisa dibagi habis kecuali oleh dirinya sendiri dan 1.
Elemen pada GF(
p
m) merupakan semua polinomial yang berderajat antara 0
sampai dengan
m
1
dengan koefisien merupakan elemen pada GF(
p
m) ditulis
sebagai
g x
( )
maka
g x
( )
adalah :
1 2 0
1 2 1 0
( )
n n n n...
g x
a
x
a
x
a x
a
dengan koefisien
a
iberada pada GF(
p
).
Variabel
x
dalam
g
(
x
) bersifat tidak ditentukan tapi nilai pangkat
i
pada
x
imenunjukkan posisi koefisien
a
i.
Jika
p
= 2 maka terbentuk GF(2
m) yang merupakan struktur aljabar yang sering
dipakai di kriptografi karena elemen GF(2
m) dapat direpresentasikan secara langsung
2.8.3 Aritmatika Modular Polinomial
Finite field
GF(2
m) terdiri dari himpunan semua polinomial yang berderajat lebih kecil
dari n dan dua operator, yaitu operator penjumlahan (
+
) dan operator perkalian (
×
).
Penjumlahan polinomial pada GF(2
n)
Penjumlahan polinomial pada GF(2
m) sama dengan penjumlahan di polinomial biasa
namun operasi penjumlahan koefisiennya dilakukan pada GF(2). Penjumlahan pada
GF(2
m) dapat dilakukan dengan gerbang logika ekslusif-or (
xor
) seperti yang
[image:30.595.233.392.376.457.2]diberikan pada tabel 2.1.
Tabel 2.1 Penjumlahan pada GF(2)
+
0
1
0
0
1
1
1
0
Contoh 2.1 : Apakah hasil penjumlahan dua polinomial
f x
( )
x
3
x
2
1
dan
2
( )
g x
x
x
pada GF(2
4) ?
Jawab:
3 2 2
( )
( )
1
f x
g x
x
x
x
x
(1 0)
x
3
(1 1)
x
2
(0 1)
x
(1 0)
(1)
x
3
(0)
x
2
(1)
x
(1)
3
1
x
x
Perkalian Polinomial pada GF(2
m)
Perkalian polinomial pada GF(2
m) sama dengan perkalian pada polinomial biasa
namun operasi perkalian koefisiennya dilakukan pada GF(2) seperti yang diberikan
Tabel 2.2 Perkalian pada GF(2)
×
0
1
0
0
0
1
0
1
Perkalian dua polinomial
f x
( )
dan
g x
( )
dilakukan sama dengan perkalian
polinomial biasa yaitu jumlah perkalian tiap suku perkalian polinomial pertama
dengan polinomial kedua. Setiap perkalian
ix
dengan
jx
menghasilkan
i jx
.
Perkalian elemen GF(2
m) dapat menghasilkan polinomial yang derajatnya lebih dari
1
m
. Jika terjadi kasus derajat polinomial hasil perkalian lebih dari
m
1
maka
proses reduksi dengan modular polinomial irredusibel
f x
( )
dilakukan.
Contoh 2.2 : Jika
irreducible polynomial
adalah
8 4 3( )
1
f x
x
x
x
x
untuk
GF(2
8) hitung hasil perkalian berikut ini:
a.
3 4 2(
x
1) (
x
x
x
)
b.
6 4 7 5 2(
x
x
1) (
x
x
x
x
1)
Jawab:
a.
3 4 2 3 4 3 2 3 4 2(
x
1) (
x
x
x
)
x x
x x
x x
1.
x
1.
x
1.
x
x
7
x
5
x
4
x
4
x
2
x
7 5 2
x
x
x
x
b.
(
x
6
x
4
1) (
x
7
x
5
x
2
x
1)
13 11 7 6 11 9 6 5 4 7 5 2
1
x
x
x
x
x
x
x
x
x
x
x
x
x
13 9 4 2
1
x
x
x
x
x
Polinomial hasil perkalian terdapat
x
13dan
x
9(melebihi derajat yang boleh
pada GF(2
8) yaitu 7) diperlukan reduksi terhadap hasil perkalian.
Perhatikanlah nilai
irreducible polynomial
adalah
8 4 3( )
1
f x
x
x
x
x
karena
f x
( )
0
maka
8 4 30
x
x
x
x
1
sehingga
8 4 3
Oleh karena itu,
9x
dapat direduksi menjadi:
x
9
x x
.
84 3
.(
1)
x x
x
x
5 4 2
x
x
x
x
Hasil setelah reduksi
9x
dapat dihitung sebagai berikut:
13 9 4 21
x
x
x
x
x
13 5 4 2 4 2
1
x
x
x
x
x
x
x
x
13 5
1
x
x
Sedangkan
13x
dapat direduksi menjadi:
13 5 8.
x
x x
x
5.(
x
4
x
3
x
1)
x
9
x
8
x
6
x
5
x
5
x
4
x
2
x
x
4
x
3
x
1
x
6
x
56 3 2
1
x
x
x
Jadi hasil akhir didapatkan:
6 4 7 5 2 13 5
(
x
x
1) (
x
x
x
x
1)
x
x
1
6 3 2 5
1
1
x
x
x
x
x
6
x
5
x
3
x
2Invers Perkalian
Invers perkalian untuk
g x
( )
∈
GF(2
m) adalah
h x
( )
sehingga
g x
( )
h x
( ) mod
f x
( )
1
2.9 Fungsi
Hash
Fungsi
hash
adalah sebuah fungsi yang masukannya adalah sebuah pesan dan
keluaran sebuah sidik pesan (
message fingerprint
). Sidik pesan sering juga disebut
message digest.
Fungsi
hash
dapat digunakan untuk mewujudkan beberapa layanan
keamanan jaringan misalnya untuk keutuhan data dan otentikasi pesan.
Fungsi
hash
yang dipakai dalam sistem kriptografi harus memenuhi beberapa
syarat sehingga dapat dianggap aman, yaitu ketahanan terhadap serangan
preimage
,
ketahanan terhadap serangan
second preimage
, dan ketahanan terhadap serangan
collision
. Ketahanan terhadap serangan
preimage
adalah jika diberikan pesan
M
, maka
dapat dihitung dengan mudah
y
=
h
(
M
), namun jika diberikan
y
dan fungsi
hash
h
maka sulit bagi penyerang menemukan
M.
Ketahanan terhadap serangan
second
preimage
adalah jika diberikan sebuah pesan
M
dan fungsi
hash h
maka temukan
h
(
M
) =
h
(
M’
). Sebuah fungsi hash untuk sistem kriptografi harus tahan terhadap
serangan
second preimage
atau dalam kata lain sulit bagi penyerang untuk
menyelesaikan persoalan
second preimage
. Ketahanan terhadap serangan
collision
adalah jika diberikan sebuah fungsi
hash h
lalu penyerang berusaha menemukan
sepasang
M
dan
M’
dengan
M
≠
M’
sehingga
h
(
M
) =
h
(
M’
).
Fungsi
hash
menerima masukan sebuah pesan dengan panjang sembarang dan
membuat
digest
dengan panjang tetap. Salah satu cara untuk membuat
digest
adalah
membagi pesan menjadi beberapa blok dengan ukuran
n
bit menghitung
digest
dengan
ukuran
m
(
m
≤
n
) bit secara berulang dari blok awal sampai blok akhir pesan dengan
menggunakan fungsi kompresi. Cara seperti ini disebut dengan fungsi
hash
dengan
iterasi.
Merkle dan Damgard membuktikan fungsi
hash
dengan iterasi tahan terhadap
serangan
collision
jika fungsi kompresi juga tahan terhadap serangan
collision
. Fungsi
1996). Banyak fungsi hash yang berdasarkan skema Merkle dan Damgard diantaranya
adalah fungsi
hash
MD5 dan SHA. Fungsi
hash
MD5 menghasilkan digest dengan
ukuran 128 bit yang ternyata terlalu pendek sehingga bisa diserang dengan
collision
,
sedangkan fungsi
hash
SHA (
Secure Hash Algorithm
) terdiri dari beberapa versi dan
yang paling panjang memeliki
digest
berukuran 512 bit.
Fungsi
Hash
SHA-512
Fungsi
hash
SHA-512 merupakan versi SHA dengan ukuran digest 512 bit dan
berbasis pada skema Merkle dan Damgard. SHA merupakan singkatan dari
Secure
Hash Algorithm
merupakan fungsi
hash
standar yang dipublikasi oleh NIST (
National
Institute of Standard and Technology
). SHA diterbitkan dengan beberapa versi
diantaranya SHA-1 dengan ukuran
digest
160 bit, SHA-256 dengan ukuran
digest
256
bit dan SHA-512. Meskipun SHA terdiri dari beberapa versi, secara prinsip cara kerja
fungsi
hash
SHA adalah sama, yaitu menggunakan skema Merkle-Damgard.
2.10 Kriptografi Kurva Eliptik
Sistem Kriptografi RSA dan Elgamal merupakan sistem kriptografi asimetrik yang
banyak dipakai namun memiki kelemahan yaitu membutuhkan ukuran kunci yang
besar. Sistem kriptografi kurva eliptik diperkenalkan oleh Neal Koblity dan Victor
Miller pada tahun1985 dari universitas Washington. Sistem kriptografi kurva eliptik
memberikan alternative untuk mewujudkan sistem kriptografi asimetrik dengan
ukuran kunci yang kecil. Kriptografi kurva eliptik dengan panjang kunci 160 bit
dipercaya mempunyai tingkat keamanan setara dengan RSA dengan panjang kunci
1024 bit.
Kriptografi kurva eliptik termasuk sistem kriptografi kunci publik yang
mendasarkan keamanannya pada permasalahan matematika logaritma diskrit kurva
merupakan metode yang menggunakan titik-titik pada kurva eliptik. Kunci untuk
kriptografi kurva eliptik terletak pada kurva tersebut. Kriptografi kurva eliptik
menggunakan dua kunci yaitu kunci publik dan kunci privat. Kunci publik pada
kriptografi kurva eliptik adalah sebuah titik pada kurva eliptik dan kunci privatnya
sebuah angka random. Kunci publik diperoleh dengan melakukan operasi perkalian
terhadap kunci privat dengan titik generator G pada kurva eliptik.
Kurva Eliptik adalah sehimpunan solusi yang memenuhi persamaan kubik
yang melibatkan dua variabel. Kurva eliptik dapat didefenisikan pada sembarang
medan (
field
). Kurva eliptik yang terdefenisi pada GF(
p
) dan GF(2
m) dapat dipakai
pada sistem kriptografi (Hankerson et al., 2003).
2.10.1 Kurva Eliptik pada Bilangan Real
Untuk memperoleh gambaran yang lebih dalam tentang kurva eliptik dibahas terlebih
dahulu kurva eliptik pada bilangan real. Definisi kurva eliptik pada bilangan real
diberikan oleh definisi 2.5.
Definisi 2.5
Kurva eliptik pada bilangan real.
Misalkan
a,b
∈
ℝ
(
ℝ
adalah himpunan bilangan real) yang memenuhi
4
a
3
27
b
2
0
.
Sebuah kurva eliptik yang yang bersifat non singular adalah himpunan
E
yang terdiri
dari pasangan (
x
,
y
)
∈
R
×
R yang memenuhi :
2 3
y
x
ax b
bersama dengan titik khusus
O
yang disebut titik
infinity
.
Setiap perubahan nilai a dan b akan menghasilkan kurva eliptik yang berbeda.
Contohnya kurva eliptik pada saat a = -12 dan b = 13 berbeda dengan kurva eliptik
Gambar 2.3 Kurva eliptik
2 312
13
y
x
x
Gambar 2.4 Kurva eliptik
y
2
x
3
10
x
13
2.10.2 Grup Abelian pada kurva eliptik
Himpunan
solusi
persamaan
kurva
eliptik
dan
titik
infinite
,
0 0
{( ,
),..., (
n,
n), }
E
x y
x y
O
ternyata membentuk grup Abelian dengan sebuah operasi
khusus yang disebut operasi penjumlahan (menggunakan simbol +) dinotasikan
dengan
�
= (
E
, +). Identitas penjumlahan pada grup
�
= (
E
, +) adalah titik
infinity
O
.
[image:36.595.252.385.353.525.2]Jika
P,Q
∈
E
dengan
P
adalah titik
( ,
x y
1 1)
dan
Q
adalah titik
( ,
x y
2 2)
, maka
operasi penjumlahan
P
dan
Q
didefinisikan sebagai berikut :
1.
Jika
P
dan
Q
adalah titik berbeda dengan
x
1
x
2, maka operasi penjumlahan
dua titik pada kurva eliptik
P
Q
R
.
R
dapat dicari dengan menemukan
garis
L
yang melalui
P
dan
Q
, garis L ini akan berpotongan dengan sebuah
titik dikurva eliptik, titik ini adalah
R
.
R
adalah refleksi
R
pada sumbu
x
.
Berdasarkan cara ini rumus untuk menghitung
P
Q
R
jika
x
1
x
2adalah
1 1 2 2 3 3
( ,
x y
) ( ,
x y
)
( ,
x y
)
dengan
2 1 2 1
2
3 1 2
3
(
1 3)
1y
y
x
x
x
x
x
y
x
x
y
2.
Jika
x
1
x
2dan
y
1
y
2atau
Q
P
sehingga dapat ditulis
R
P P
dapat
dihitung sebagai berikut:
2 1
1 2
3 1 2
3 1 3 1
3
2
(
)
x
a
y
x
x
x
y
x
x
y
3.
Jika
x
1
x
2dan
y
1y
2atau
Q
P
maka menghasilkan titik
infinity
(
)
Gambar 2.5 Penjumlahan
P
Q
R
[image:38.595.247.384.402.590.2]Gambar 2.7 Penjumlahan
2
P
R
Jika diperhatikan operasi penjumlahan pada kurva eliptik memiliki sifat-sifat :
1.
Penjumlahan menghasilkan titik yang merupakan anggota
E
(himpunan titik
kurva eliptik dan titik
infinity
). Sifat ini disebut
clousure
.
2.
Penjumlahan bersifat asosiatif, yaitu
(
P
Q
)
R
P
(
Q
R
)
.
3.
Penjumlahan bersifat komutatif, yaitu
P
Q
Q
P
.
4.
Terdapat identitas, yaitu titik
infinity
.
5.
Terdapat invers penjumlahan untuk tiap titik
P
∈
E
.
Oleh karena itu himpunan titik-titik pada kurva eliptik dan titik infinity beserta
operasi penjumlahan membentuk grup Abelian.
2.10.3 Grup Siklik pada Kurva Eliptik
Titik di kurva eliptik
E
(kecuali titik
infinity
(
O
)) dapat bertindak sebagai pembangkit
(
generator
) sehingga membentuk grup siklik. Misalnya titik yang dipilih menjadi
pembangkit adalah
α
maka operasi penjumlahan dapat dikenakan yaitu 2
α
=
α
+
α
sebuah titik baru 2
α.
Operasi penjumlahan ini dapat dilakukan secara berulang
sehingga mendapatkan 3
α
,4
α
,…
n
�
dengan
n
�
=
O
sehingga (n + 1)
α
=
O
+ α =
α .
Order dari titik kurva eliptik adalah bilangan positif integer terkecil
n
sedemikian sehingga
n
�
=
O.
2.10.4 Kriptografi Kurva Eliptik pada GF(
2
m).
Kurva eliptik dapat didefinisikan pada GF(2
m). GF(2
m) merupakan medan terbatas
yang elemennya merupakan polinomial yang bisa direpresentasikan sebagai rangkaian
bit. Dengan begitu operasi aritmatika pada GF(2
m) dapat diterapkan secara efesien
pada sebuah aplikasi komputer. Kurva eliptik pada GF(2
m) mempunyai persamaan :
2 3 2
y
xy
x
ax
b
dengan
2
,
ma b
F
dan
b
0
, bersama titik
O
yang disebut titik
infinity
. Parameter
x
,
y
,
a
dan
b
merupakan polinomial.
Titik-titik kurva eliptik pada GF(2
m) dapat ditemukan dengan menggunakan
konsep
generator
untuk polinomial. Elemen GF(2
m) dapat direpresentasikan sebagai
himpunan
2 2 2{0,1, ,
g g
, ...,
g
m}
kemudian dengan aritmatika polinomial dapat
ditemukan pasangan
x
dan
y
yang merupakan titik pada kurva eliptik.
Contoh 2.3 :
Temukan titik kurva eliptik pada GF(
2 ) yang menggunakan
3irreducible polynomial
3
( )
1
f x
x
x
dengan persamaan kurva eliptik
3a
g
dan
01
b
g
.
2 3 3 2
Jawab :
Jika
g
adalah generator maka himpunan elemen pada GF(
2 ) dapat direpresentasikan
3sebagai
2 6{0,1, ,
g g
,...,
g
}
.
Karena
nilai
irreducible
polynomial
adalah
3
( )
1
f x
x
x
maka dapat ditulis
31 0
g
g
. Sehingga nilai
g
lain dapat
[image:41.595.102.531.276.384.2]dihitung sebagai berikut :
Tabel 2.3 Representasi biner dari
g
generator
representasi biner
generator
representasi biner
0
000
g
3011
1
001
g
4110
g
010
g
5111
g
2100
g
6101
Untuk menemukan titik (
x
,
y
) pada kurva eliptik ditetapkan terlebih dahulu sebagai
salah satu elemen dari himpunan
2 6{0,1, ,
g g
,...,
g
}
. Setelah itu,
y
dapat dicari
sehingga memenuhi:
2 3 3 2
1
y
xy
x
g x
Misalnya dipilih
5x
g
. Hal pertama yang dihitung adalah nilai
3 3 2( )
1
f x
x
g x
yaitu
5 3 3 5 2 6 4
( )
(
)
(
)
1
1
f x
g
g g
g
g
g
Sekarang didapatkan persamaan berikut ini:
2 2 4
(
)
y
g
y
g
Maka nilai yang memenuhi adalah
y
1
sebab
2 41
g
g
dan
4y
g
. Jadi
didapatkan titik
5(
g
,1)
dan
5 4(
g g
,
)
.
Setelah dilakukan perhitungan untuk semua nilai
x
yang mungkin didapatkan semua
titik pada kurva eliptik
2 3 3 21
y
xy
x
g x
pada GF(2
3) dengan
irreducible
polynomial
3 2( )
1
Tabel 2.4 Titik kurva eliptik
y
2
xy
x
3
g x
3 2
1
pada GF(2
3)
(0,1)
(0,1)
(1,
g
2)
(1,
g
6)
(
g
,
g
6)
(
g
,
g
4)
(
g
2,1)
(
g
2,
g
6)
(
g
3,
g
2)
(
g
3,
g
5)
(
g
4,0)
(
g
4,
g
4)
(
g
5,1)
(
g
5,
g
4)
(
g
6,
g
)
(
g
6,
g
5)
Bersama titik
infinity O
.
Invers Titik Kurva Eliptik
Invers titik
P
( , )
x y
kurva eliptik pada GF(2
m) adalah
P
( ,
x x
y
)
.
Contoh 2.4 :
Temukan invers titik
P
(
g g
3,
2)
pada kurva eliptik pada contoh 2.3.
Jawab:
Invers
P
yaitu
P
adalah
(
g g
3,
3
g
2)
(
g g
3,
5)
.
Aturan Penjumlahan Titik
Aturan penjumlahan pada kurva eliptik
y
2
xy
x
3
ax
2
b
pada GF(2
m) memiliki
beberapa kasus, yaitu:
1.
Jika
P
( ,
x y
1 1)
dan
Q
( ,
x y
2 2)
dan
x
1
x
2maka
R
( ,
x y
3 3)
P Q
dapat
dihitung sebagai berikut:
2 1 2 1 2
3 1 2
3 1 3 3 1
(
) / (
)
(
)
y
y
x
x
x
x
x
a
y
x
x
x
y
2.
Jika
P
Q
maka
R
P
P
2
P
dapat dihitung sebagai berikut:
1 1 1 2 3
2
3 1 3
/
(
1)
x
y
x
x
a
y
x
x
Contoh 2.5 :
Dengan menggunakan kurva eliptik pada contoh 2.3, jika
P
(
g g
3,
5)
dan
6
( ,
)
Q
g g
temukan hasil penjumlahan:
1.
P Q
2.
2
P
Jawab :
Dengan menggunakan aturan penjumlahan titik kurva eliptik pada GF(2
m) dapat
dihitung, dengan
3 1x
g
,
5 1y
g
,
x
2
g
dan
6 2y
g
:
1.
R
( ,
x y
3 3)
P Q
6 5 3
(
g
g
) / (
g
g
)
=
g
×
11
g
2 3 3 4
3
3 4 4 5 3
( )
(
)
0
x
g
g
g
g
g
y
g g
g
g
g
Jadi
R
( ,
x y
3 3)
(
g
4, 0)
.
2.
R
( ,
x y
3 3)
2
P
3 5 3 3 2 5
/
g
g
g
g
g
g
5 2 5 3 5 3
(
)
x
g
g
g
g
3 2 5 5 3
(
)
(
1)
1
y
g
g
g
Jadi
52.10.5 Pemasalahan Logaritma Diskrit Kurva Eliptik
Kriptografi kurva eliptik menggunakan pemasalahan logaritma diskrit kurva eliptik
(
Eliptic Curve Disctrete Logarithm Problem
) sebagai dasar matematikanya.
Definisi 2.6
Jika kurva eliptik
E
pada
F
q, titik
P
E F
(
q)
dengan order
n
dan titik
(
q)
Q
E F
maka pemasalahan logaritma diskrit kurva eliptik adalah masalah untuk
mencari bilangan integer
k
dimana 1
k
n
1
sedemikian sehingga
Q
kP
2.11 Tanda Tangan Digital
Tanda tangan digital
(digital signature
) merupakan mekanisme keamanan jaringan
yang menyediakan cara bagi pengirim data untuk “menandatangani” secara elektronik
sebuah data dan penerima dapat memverifikasi “tanda tangan” itu secara elektronik.
Digital Signature
ditambahkan pada data unit dan digunakan sebagai bukti sumber
pengirim dan menghindari pemalsuan (
forgency
) tanda tangan.
Cara kerja
digital signature
hampir sama dengan cara kerja “tanda tangan”
dokumen biasa. Terdapat dua algoritma pada sistem
digital signature,
yaitu algoritma
sign
untuk menandatangani sebuah dokumen
M
dan menghasilkan sebuah tanda
tangan (
sign
)
ρ
,
dan algoritma
verify
yang mengembalikan nilai
true
bila tanda tangan
ρ
memang pemilik penandatangan dan untuk dokumen
M
. Sistem
digital signature
menggunakan kunci asimetris dengan algoritma
sign
menggunakan kunci privat dan
algoritma
verify
menggunakan kunci publik.
Tanda tangan digital merupakan kumpulan bit yang bisa melakukan fungsi
elektronik menggunakan fungsi
hash
satu arah. Pada dasarnya, tanda tangan digital
dari setiap dokumen berbeda dengan dokumen lainnya karena diambil dari dokumen
berbeda. Tanda tangan digital memanfaatkan fungsi
hash
satu arah untuk menjamin
bahwa tanda tangan itu hanya berlaku untuk dokumen yang bersangkutan saja.
Proses tanda tangan digital dapat ditunjukkan pada