• Tidak ada hasil yang ditemukan

Implementasi Algoritma Tanda Tangan Digital pada Data Citra Berbasis Kriptografi Kurva Eliptik

N/A
N/A
Protected

Academic year: 2016

Membagikan "Implementasi Algoritma Tanda Tangan Digital pada Data Citra Berbasis Kriptografi Kurva Eliptik"

Copied!
138
0
0

Teks penuh

(1)

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

(2)

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

(3)

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.

(4)

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

(5)

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.

(6)

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,

(7)

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.

(8)

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

(9)

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

(10)

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

(11)

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 2

1

y

xy

x

g x

pada GF(2

3

)

28

Tabel 3.1 Notasi yang digunakan pada domain parameter kurva eliptik

44

(12)

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

(13)

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.

(14)

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

(15)

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

e

dan kunci untuk deskripsi

K

d

yang berbeda. Kunci untuk enkripsi

K

e

disebut juga sebagai kunci publik bersifat

tidak rahasia sehingga dapat didistribusikan melalui saluran tidak aman. Sedangkan

(16)

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

(17)

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,

(18)

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

(19)

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

(20)

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

(21)

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

(22)

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

(23)

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

(24)

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

(25)

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

(26)

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.

(27)

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

:

1

a

G

:

a

1

a

=

1

a

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

(28)

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

p

dengan

p

bilangan prima yaitu himpunan integer

{

0, 1, 2,

,

� −

1

dan 2 operasi

(29)

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

i

adalah

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

i

berada pada GF(

p

).

Variabel

x

dalam

g

(

x

) bersifat tidak ditentukan tapi nilai pangkat

i

pada

x

i

menunjukkan 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

(30)

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

(31)
[image:31.595.238.395.143.230.2]

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

i

x

dengan

j

x

menghasilkan

i j

x

.

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

13

dan

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 3

0

x

x

x

 

x

1

sehingga

8 4 3
(32)

Oleh karena itu,

9

x

dapat direduksi menjadi:

x

9

x x

.

8

4 3

.(

1)

x x

x

x

 

5 4 2

x

x

x

x

Hasil setelah reduksi

9

x

dapat dihitung sebagai berikut:

13 9 4 2

1

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

13

x

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

5

6 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

2

Invers Perkalian

Invers perkalian untuk

g x

( )

GF(2

m

) adalah

h x

( )

sehingga

g x

( )

h x

( ) mod

f x

( )

1

(33)

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

(34)

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

(35)

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

(36)
[image:36.595.248.390.138.304.2]

Gambar 2.3 Kurva eliptik

2 3

12

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]
(37)

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

2

adalah

1 1 2 2 3 3

( ,

x y

) ( ,

x y

)

( ,

x y

)

dengan

2 1 2 1

2

3 1 2

3

(

1 3

)

1

y

y

x

x

x

x

x

y

x

x

y

 

2.

Jika

x

1

x

2

dan

y

1

y

2

atau

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

2

dan

 

y

1

y

2

atau

Q

 

P

maka menghasilkan titik

infinity

(

)

(38)
[image:38.595.242.393.144.324.2]

Gambar 2.5 Penjumlahan

P

 

Q

R

[image:38.595.247.384.402.590.2]
(39)
[image:39.595.250.380.141.345.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

α

=

α

+

α

(40)

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

,

m

a 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

3

irreducible polynomial

3

( )

1

f x

x

 

x

dengan persamaan kurva eliptik

3

a

g

dan

0

1

b

 

g

.

2 3 3 2

(41)

Jawab :

Jika

g

adalah generator maka himpunan elemen pada GF(

2 ) dapat direpresentasikan

3

sebagai

2 6

{0,1, ,

g g

,...,

g

}

.

Karena

nilai

irreducible

polynomial

adalah

3

( )

1

f x

x

 

x

maka dapat ditulis

3

1 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

3

011

1

001

g

4

110

g

010

g

5

111

g

2

100

g

6

101

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

5

x

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 4

1

g

g

dan

4

y

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 2

1

y

xy

x

g x

pada GF(2

3

) dengan

irreducible

polynomial

3 2

( )

1

(42)
[image:42.595.207.438.166.336.2]

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

2

maka

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

 

(43)

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 1

x

g

,

5 1

y

g

,

x

2

g

dan

6 2

y

g

:

1.

R

( ,

x y

3 3

)

 

P Q

6 5 3

(

g

g

) / (

g

g

)

=

g

×

1

1

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

5
(44)

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

(45)

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

Gambar

Gambar 2.1 Algoritma simetris
Gambar 2.2 Algoritma asimetris
Tabel 2.1 Penjumlahan pada GF(2)
Tabel 2.2 Perkalian pada GF(2)
+7

Referensi

Dokumen terkait

Penelitian ini bertujuan membuat sebuah aplikasi pengontrolan server dengan memanfaatkan sms gateway yang dapat membantu network administrator memantau computer

Perubahan aksesibilitas petani terhadap sumber teknologi, lokasi usahtani padi, jalan raya dan pasar input akan mempengaruhi peluang petani dalam mengadopsi

CREAM adalah salah satu metode human reliability analysis yang berfungsi untuk mendapatkan nilai Cognitive Failure Probability (CFP) yang dapat dilakukan dengan

Terdapat load cell yang terhubung dengan Weighing indicator XK3190-A12, Terdapat LCD sebagai penampil inputan berupa nomer plat truk, nama perusahaan, berat awal

(1) Pakaian Dinas Lapangan Tenaga Penunjang Medis sebagaimana dimaksud dalam Pasal 9 huruf d dipakai oleh petugas yang melaksanakan kegiatan yang berhubungan langsung dengan

Beberapa data yang diperoleh dalam penelitian ini adalah data aktivitas anak terhadap model pembelajaran dengan metode gambar untuk meningkatkan kemampuan anak

Dan hasil penelitian didapatkan kesimpulan bahwa opini pendengar terhadap lagu “Udin Sedunia” dari Sualudin mendapatkan respon netral karena masyarakat sudah menganggap biasa

Judul Skripsi : “ Pengaruh Kerja Sama Tim, Motivasi dan Komunikasi terhadap Kinerja Pegawai pada Puskesmas Desa Lampur ”.. Pembimbing Utama