• Tidak ada hasil yang ditemukan

Bab 2 LANDASAN TEORI

N/A
N/A
Protected

Academic year: 2021

Membagikan "Bab 2 LANDASAN TEORI"

Copied!
31
0
0

Teks penuh

(1)

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 pesan namun lebih pada sekumpulan teknik yang menyediakan keamanan informasi.

(2)

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 posisi 2 menjadi posisi 3, posisi 3 menjadi posisi 1 dan posisi 4 menjadi posisi

(3)

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. Algoritma Asimetris (Algoritma Kunci Publik).

(4)

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

(5)

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

(6)

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 {0,1,2,3,…,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.

(7)

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 : ∃ a1 G : a a1 = a1 a =e (Invers).

Grup yang operator ∗ bersifat komutatif ( yaitu ∀ a, b G : a b = ba ) 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 perkalian dinotasikan sebagai 1.

(8)

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 Zp dengan p bilangan prima yaitu himpunan integer {0, 1, 2, … , 𝑝 − 1 dan 2 operasi aritmatika (penjumlahan dan perkalian) modular p.

(9)

2.8.2 Finite Field dengan Elemen Polinomial (GF(pm))

Selain GF(p) yang berbasis bilangan prima p, tipe Galois field lain yang sering dipakai pada sistem kriptografi adalah GF(pm). GF(pm) berbasis aritmatika modular polinomial

f(x) :

1 0

1 1 0

( ) n n n n ...

f xa xa x   a xa

Polinomial f x( ) disebut dengan irreducible polynomial. f x( ) adalah polinomial berderajat n yang koefisiennya adalah pada GF(p). Koefisien ai adalah elemen GF(p) dan an ≠ 0. Karakteristik irreducible polynomial m x( )mirip dengan bilangan prima, yaitu tidak bisa dibagi habis kecuali oleh dirinya sendiri dan 1.

Elemen pada GF(pm) merupakan semua polinomial yang berderajat antara 0 sampai dengan m1 dengan koefisien merupakan elemen pada GF(pm) ditulis sebagai g x( ) maka g x( ) adalah :

1 2 0

1 2 1 0

( ) n n n n ...

g xa x  a x   a xa

dengan koefisien aiberada pada GF(p).

Variabel x dalam g(x) bersifat tidak ditentukan tapi nilai pangkat i pada xi

menunjukkan posisi koefisien ai.

Jika p = 2 maka terbentuk GF(2m) yang merupakan struktur aljabar yang sering dipakai di kriptografi karena elemen GF(2m) dapat direpresentasikan secara langsung sebagai nilai biner.

(10)

2.8.3 Aritmatika Modular Polinomial

Finite field GF(2m) terdiri dari himpunan semua polinomial yang berderajat lebih kecil dari n dan dua operator, yaitu operator penjumlahan (+) dan operator perkalian (×).

Penjumlahan polinomial pada GF(2n)

Penjumlahan polinomial pada GF(2m) sama dengan penjumlahan di polinomial biasa namun operasi penjumlahan koefisiennya dilakukan pada GF(2). Penjumlahan pada GF(2m) dapat dilakukan dengan gerbang logika ekslusif-or (xor) seperti yang 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( )x3x21 dan 2 ( ) g xxx pada GF(24) ? Jawab: 3 2 2 ( ) ( ) 1 f xg xxx  xx  (1 0)x3 (1 1)x2 (0 1)x (1 0) (1)x3(0)x2(1)x(1) 3 1 x x   

Perkalian Polinomial pada GF(2m)

Perkalian polinomial pada GF(2m) sama dengan perkalian pada polinomial biasa namun operasi perkalian koefisiennya dilakukan pada GF(2) seperti yang diberikan pada tabel 2.2.

(11)

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(2m) 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 xxxx  x untuk GF(28) hitung hasil perkalian berikut ini:

a. 3 4 2 (x  1) (xxx) b. 6 4 7 5 2 (xx  1) (xxx  x 1) Jawab: a. 3 4 2 3 4 3 2 3 4 2 (x  1) (xxx)x xx xx x1.x 1.x 1.xx7x5x4x4x2x 7 5 2 x x x x     b. 6 4 7 5 2 (xx  1) (xxx  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 x13 dan x9 (melebihi derajat yang boleh pada GF(28) yaitu 7) diperlukan reduksi terhadap hasil perkalian.

Perhatikanlah nilai irreducible polynomial adalah 8 4 3

( ) 1 f xxxx  x karena f x( )0 maka 8 4 3 0xxx  x 1 sehingga 8 4 3 1 xxx  x

(12)

Oleh karena itu, 9

x dapat direduksi menjadi: x9 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 . xx xx5.(x4x3 x 1) 9 8 6 5 x x x x     x5x4x2 x x4x3  x 1 x6x5 6 3 2 1 x x x    

Jadi hasil akhir didapatkan:

6 4 7 5 2 13 5 (xx  1) (xxx   x 1) xx 1 6 3 2 5 1 1 x x x x       6 5 3 2 x x x x     Invers Perkalian

Invers perkalian untuk g x( )∈ GF(2m) adalah h x( )sehingga g x( )h x( ) mod f x( )1

(13)

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 (mn) 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 hash dengan iterasi disebut juga dengan skema Merkle dan Damgard (Menezes et al.,

(14)

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 eliptik (Elliptic curve discrete logarithm problem). Kriptografi kurva eliptik

(15)

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(2m) 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 4a327b2 0. Sebuah kurva eliptik yang yang bersifat non singular adalah himpunan E yang terdiri dari pasangan (x,y) ∈ R × R yang memenuhi :

2 3

yxax 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 pada saat a = -10 dan b = 13. Hal ini diperlihatkan oleh gambar 2.3 dan gambar 2.4.

(16)

Gambar 2.3 Kurva eliptik 2 3

12 13

yxx

Gambar 2.4 Kurva eliptik y2 x310x13

2.10.2 Grup Abelian pada kurva eliptik

Himpunan solusi persamaan kurva eliptik dan titik infinite,

0 0

{( , ),..., ( n, n), }

Ex 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 infinityO. Karena titik infinityO adalah identitas maka P O   O P P untuk semua P E.

(17)

Jika P,QE dengan P adalah titik ( ,x y1 1)dan Q adalah titik (x y2, 2), maka operasi penjumlahan P dan Q didefinisikan sebagai berikut :

1. Jika P dan Q adalah titik berbeda dengan x1x2, 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 x1x2 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 x1x2dan y1y2 atau QP 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 x1x2dan  y1 y2 atau Q P maka menghasilkan titik infinity

( )

(18)

Gambar 2.5 Penjumlahan P Q R

(19)

Gambar 2.7 Penjumlahan 2PR

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 (PQ)  R P (QR). 3. Penjumlahan bersifat komutatif, yaitu P  Q Q P.

4. Terdapat identitas, yaitu titik infinity.

5. Terdapat invers penjumlahan untuk tiap titik PE.

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α = α + α dengan aturan penjumlahan pada kurva eliptik dengan titik yang sama menghasilkan

(20)

sebuah titik baru 2α. Operasi penjumlahan ini dapat dilakukan secara berulang sehingga mendapatkan 3α,4α,…n𝛼 dengann𝛼 = 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(2m).

Kurva eliptik dapat didefinisikan pada GF(2m). GF(2m) merupakan medan terbatas yang elemennya merupakan polinomial yang bisa direpresentasikan sebagai rangkaian bit. Dengan begitu operasi aritmatika pada GF(2m) dapat diterapkan secara efesien pada sebuah aplikasi komputer. Kurva eliptik pada GF(2m) mempunyai persamaan :

2 3 2

yxyxaxb

dengan

2

, m

a bF dan b0, bersama titik O yang disebut titik infinity. Parameter x, y,

a dan b merupakan polinomial.

Titik-titik kurva eliptik pada GF(2m) dapat ditemukan dengan menggunakan konsep generator untuk polinomial. Elemen GF(2m) 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 xx  x dengan persamaan kurva eliptik ag3 dan b 1 g0.

2 3 3 2

1 yxyxg x

(21)

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 xx  x maka dapat ditulis 3

1 0

g   g . Sehingga nilai g lain dapat dihitung sebagai berikut :

Tabel 2.3 Representasi biner dari g

generator representasi biner generator representasi biner

0 000 g3 011

1 001 g4 110

g 010 g5 111

g2 100 g6 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 yxyxg x

Misalnya dipilih 5

xg . Hal pertama yang dihitung adalah nilai 3 3 2

( ) 1 f xxg x  yaitu 5 3 3 5 2 6 4 ( ) ( ) ( ) 1 1 f xgg g   g g  g

Sekarang didapatkan persamaan berikut ini:

2 2 4

( )

yg yg

Maka nilai yang memenuhi adalah y1 sebab 2 4

1gg dan 4

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

yxyxg x  pada GF(23) dengan irreducible

polynomial 3 2

( ) 1

(22)

Tabel 2.4 Titik kurva eliptik y2xyx3g x3 21 pada GF(23) (0,1) (0,1) (1,g2) (1,g6) (g,g6) (g,g4) (g2,1) (g2,g6) (g3,g2) (g3,g5) (g4,0) (g4,g4) (g5,1) (g5,g4) (g6,g) (g6,g5)

Bersama titik infinity O.

Invers Titik Kurva Eliptik

Invers titik P( , )x y kurva eliptik pada GF(2m) adalah  P ( ,x xy). Contoh 2.4 :

Temukan invers titik P(g g3, 2) pada kurva eliptik pada contoh 2.3. Jawab:

Invers P yaitu P adalah (g g3, 3g2)(g g3, 5).

Aturan Penjumlahan Titik

Aturan penjumlahan pada kurva eliptik y2xyx3ax2b pada GF(2m) memiliki beberapa kasus, yaitu:

1. Jika P( ,x y1 1) dan Q( ,x y2 2) dan x1x2 maka R( ,x y3 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              

(23)

2. Jika PQ maka R  P P 2P 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 g3, 5) dan 6

( , )

Qg g temukan hasil penjumlahan: 1. P Q

2. 2P

Jawab :

Dengan menggunakan aturan penjumlahan titik kurva eliptik pada GF(2m) dapat dihitung, dengan 3 1 xg , 5 1 yg , x2g dan 6 2 yg : 1. R( ,x y3 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 4 3 3 ( , ) ( , 0) Rx yg . 2. R( ,x y3 3)2P 3 5 3 3 2 5 / g g g g g g      5 2 5 3 5 3 ( ) xgggg 3 2 5 5 3 ( ) ( 1) 1 yggg  Jadi 5 2 ( ,1) RPg .

(24)

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 Fq, titik PE F( q) dengan order n dan titik ( q)

QE F maka pemasalahan logaritma diskrit kurva eliptik adalah masalah untuk mencari bilangan integer k dimana 1  k n 1 sedemikian sehingga

QkP

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 itu sendiri dan tentunya perubahan pada dokumen akan menciptakan tanda tangan

(25)

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 di bawah ini:

Signer Verify Publik Key Privat Key ? =

Gambar 2.8 Diagram Proses Tanda Tangan Digital

Message Message Signature Message Signature Message Signature Message Digest Message Digest Signature Message Digest Fungsi Hash Sign Verify Fungsi Hash

(26)

Mekanisme kerja untuk menghasilkan tanda tangan digital tersebut adalah sebagai berikut :

1. Proses hashing algorithm akan mengambil nilai hash dari pesan yang akan dikirim dan menghasilkan message digest. Kemudian message digest tersebut dienkripsi menggunakan kunci privat dan menghasilkan tanda tangan digital. 2. Kemudian tanda tangan digital tersebut dikrim bersama isi pesan tersebut. 3. Sesampainya di penerima, akan dilakukan proses hashing algorithm terhadap

pesan tersebut seperti yang dilakukan saat pengiriman. Dari proses tersebut menghasilkan message digest sekunder (MD’).

4. Secara parallel digital signature yang diterima tadi langsung didekripsi oleh kunci publik. Hasil deskripsi tersebut akan memunculkan message digest

sebelum dienkripsi oleh pengirim pesan. Message digest disebut message digest primer(MD).

5. Proses selanjutnya adalah membandingkan message digest primer dengan

message digest sekunder. Jika saja saat diperjalanan ada hacker yang mengubah isi pesan, maka message digest sekunder akan berbeda dengan

message digest primer. Segera mekanisme tanda tangan digital tersebut akan menyampaikan peringatan bahwa telah terjadi pengubahan isi pesan.

2.12 Pengertian Citra

Citra adalah representasi atau deskripsi tentang suatu objek. Citra juga dapat diartikan sebagai objek pada bidang dua dimensi. Citra dapat direpresentasikan ke dalam citra analog dan citra digital. Citra analog dihasilkan dari sistem optik, misalnya mata manusia, kamera, sedangkan citra digital dihasilkan dari hasil digitisasi citra analog.

Citra digital adalah representasi numerik dari objek-objek. Citra digital dibentuk oleh sekumpulan angka dalam array dua dimensi. Tiap angka menggambarkan warna dari tiap titik dalam gambar sesuai dengan mode warna yang

(27)

digunakan. Titik-titik ini disebut pixel yang merupakan singkatan dari picture element

(elemen gambar).

2.12.1 Model Citra Sederhana

Sensor optik yang terdapat didalam sistem pencitraan disusun sedemikian rupa sehingga membentuk bidang dua dimensi (x,y). Besarnya intensitas yang diterima sensor di setiap titik (x,y) disimbolkan oleh f(x,y) dan besarnya tergantung pada intensitas yang dipantulkan oleh objek. Ini berarti f(x,y) sebanding dengan energi yang dipancarkan oleh sumber cahaya. Konsekuensinya, besar intensitas f(x,y) tidak boleh nol dan harus berhingga, yaitu:

0 f x y( , ) 

Fungsi f(x,y) dapat dipisahkan menjadi dua komponen yaitu:

1. Jumlah cahaya yang berasal dari sumbernya disimbolkan oleh i(x,y) (illumination), nilainya antara 0 dan ∞.

2. Derajat kemampuan objek memantulkan cahaya r(x,y) (reflection), nilainya antara 0 dan 1.

Besar f(x,y) merupakan kombinasi perkalian dari keduanya, yaitu:

( , ) ( , ). ( , ) f x yi x y r x y dimana 0i x y( , )  dan 0r x y( , )1

Nilai i(x,y) ditentukan oleh sumber cahaya, sedangkan r(x,y) ditentukan oleh objek didalam gambar. Nilai r(x,y) = 0 mengindikasikan penyerapan total, sedangkan

r(x,y) = 0 menyatakan pemantulan total. Jika permukaan mempunyai derajat pemantulan nol maka fungsi intensitas cahaya f(x,y) juga nol. Sebaliknya, jika

(28)

permukaan mempunyai derajat pemantulan satu maka fungsi intensitas cahaya sama dengan iluminasi yang diterima oleh permukaan tersebut.

Intensitas f(x,y) dititik (x,y) disebut derajat keabuan (gray level), yang dalam hal ini derajat keabuan bergerak dari hitam ke puti, sedangkan citranya disebut citra skala keabuan (graysclale image). Derajat keabuan memiliki rentang nilai dari Imin <

f(x,y) < Imax atau biasa ditulis dalam bentuk (Imin, Imax). Rentang nilai ini sering digeser untuk alasan-alasan praktis menjadi selanjutnya [0, L] yang dalam hal ini nilai intensitas 0 menyatakan hitam, nilai intensitas L menyatakan putih.

2.12.2 Representasi Citra Digital

Sebuah citra digital dapat diwakili oleh sebuah matriks yang terdiri dari M kolom dan

N baris, dimana perpotongan antara kolom dan baris disebut piksel (picture element), yaitu elemen terkecil dari sebuah citra. Piksel mempunyai dua parameter, yaitu koordinat dan intensitas atau warna. Nilai yang terdapat pada (x,y) adalah f(x,y), yaitu besar intensitas atau warna dari piksel di titik itu. Oleh karena itu, sebuah citra digital dapat dituliskan dalam bentuk matriks berikut:

(0, 0) (0,1) ... (0, 1) (1, 0) ... ... (1, 1) ( , ) ... ... ... ... ( 1, 0) ( 1,1) ... ( 1, 1) f f f M f f M f x y f N f N f N M              

Berdasarkan gambaran tersebut, secara matematis citra digital dapat dituliskan sebagai fungsi intensitas f(x,y), dimana harga x (baris) dan y (kolom) merupakan koordinat posisi dan f(x,y) adalah nilai fungsi pada setiap titik (x,y) yang menyatakan besar intensitas citra atau tingkat keabuan atau warna dari piksel di titik tersebut. Pada proses digitalisasi (sampling dan kuantisasi) diperoleh besar baris M dan kolom N

(29)

hingga citra membentuk matriks M × N dan jumlah tingkat keabuan piksel G. Biasanya besar M, N, G adalah perpangkatan dari dua :

2m

M  , N2n, dan G2k

yang dalam hal ini m, n, dan k adalah bilangan bulat positif. Jika b menyatakan jumlah menyatakan bit yang diperlukan untuk menyimpan citra digital dalam memori, maka:

b  m n k

2.12.3 Mode Warna

Menampilkan sebuah citra pada layar monitor diperlukan lebih informasi mengenai letak dari pixel-pixel pembentuk citra. Untuk memperoleh gambaran yang tepat dibutuhkan juga informasi tentang warna-warna yang dipakai untuk menggambarkan sebuah citra digital. Beberapa mode warna yang sering digunakan:

1. Bitmap Mode, memerlukan 1-bit data untuk menampilkan warna dan warna yang dapat ditampilkan hanya warna hitam dan putih (monokrom).

2. Indexed Color Mode, mengurutkan warna dalam jangkauan 0-255 (8-bit). 3. Grayscale Mode, menampilkan citra dalam 256 tingkat keabuan.

4. RGB Mode, menampilkan citra dalam kombinasi tiga warna dasar (red, green, dan blue), tiap warna dasar memiliki intensitas warna 0-255 (8-bit).

5. CMYK Mode, menampilkan citra dalam kombinasi empat warna dasar (cyan,

magenta, yellow dan black), tiap warna memiliki intensitas 0-255 (8-bit).

2.12.4 Penyimpanan Citra

Menyimpan citra ke dalam media penyimpanan dalam bentuk digital memiliki bentuk yang beragam. Ada dua cara penyimpanan yang biasa dilakukan oleh perangkat lunak yaitu bitmap dan vector. Dalam hal ini sering juga digunakan istilah program paint

(30)

Program paint atau program berbasis bitmap menyimpan citra sebagaimana ditampilkan di layar yaitu sebagai array dari pixel-pixel. Perubahan yang dilakukan pada citra dengan menggunakan program ini akan mengubah langsung tiap titik atau

pixel pada citra. Kelebihan cara ini adalah kemudahannya untuk menampilkan gambar secara rinci dengan pola-pola yang kompleks atau gambar fotorealistik, yang tidak dapat dengan mudah direpresentasikan sebagai model matematika.

Program draw atau program berbasis vector menyimpan citra sebagai model matematika, dan setiap elemen citra disimpan secara terpisah. Perubahan yang dilakukan pada citra menggunakan program ini akan mengubah deskripsi matematika yang menyusun gambar dan program menghitung perubahan yang perlu pada warna-warna pixel secara tidak langsung. Kelebihan cara ini adalah kemampuannya untuk menciptakan gambar dalam resolusi yang berbeda tanpa kehilangan mutu gambar yang berarti.

Format File Citra BMP

Format file BMP merupakan format standar sistem operasi Windows dan IBM OS/2. Format ini mendukung mode warna dari Bitmap Mode hingga RGB Mode. BMP mudah dibuka dan disimpan, tetapi ada beberapa aturan khusus yang harus dicermati, diantaranya:

1. Format file ini menyimpan datanya secara terbalik, yaitu dari bawah ke atas. 2. Citra dengan resolusi warna 8-bit, lebar citra harus merupakan kelipatan dari 4,

bila tidak maka pada saat penyimpanan akan ditambahkan beberapa byte pada data hingga merupakan kelipatan dari 4.

3. Citra dengan resolusi warna 24-bit, urutan penyimpanan tiga warna dasar adalah biru, hijau, merah (B, G, R). Lebar citra dikalikan dengan 3 harus merupakan kelipatan dari 4, bila tidak maka pada saat penyimpanan akan ditambahkan beberapa byte pada data hingga merupakan kelipatan dari 4. 4. BMP mendukung pemampatan run length encoding (RLE).

(31)

Format File Citra GIF

Format file GIF ( Graphics Interchange Format) merupakan hasil rancangan

CompuServe Incorporated. Format ini dirancang untuk memudahkan pertukaran citra

bitmap antar komputer. GIF hanya mendukung resolusi warna sampai 256 warna

(8-bit).

Format file GIF memiliki dua versi yaitu GIF 87a dan GIF89a. Versi GIF89a diperkenalkan pada bulan Juli 1989 merupakan perbaikan dari versi GIF87a. Pada GIF89a ditambahkan kemampuan untuk menampilkan citra dengan latar belakang transparan (background transparency), penyimpanan data citra secara interlaced dan kemampuan untuk menampilkan citra animasi.

GIF menggunakan variable-length code yang merupakan modifikasi dari algoritma LZW (Lemple-Ziv Wetch) untuk memampatkan data citra. Teknik pemampatan data ini mampu menghasilkan pemampatan yang baik dan merupakan teknik pemampatan yang mampu mengembalikan data sama persis dengan aslinya (lossless data comperssion).

Format File Citra JPEG

Format file Joint Photographic Experts Group (JPEG) atau yang biasa disingkat JPG meningkat pesat penggunaannya. Format ini terkenal karena ukurannya yang mini dibandingkan dengan format-format lainnya.

JPEG mendukung mode warna RGB, CMYK dan Grayscale, tetapi tidak mampu menampilkan citra dengan latar belakang transparan. Format JPEG menterjemahkan informasi tersebut menjadi komponen luminance (komponen cahaya) dan dua komponen chromatic (komponen perubahan warna dari hijau ke merah dan dari biru ke kuning). Untuk kompresinya format file citra ini menggunakan kompresi JPEG

Gambar

Tabel 2.1 Penjumlahan pada GF(2)
Tabel 2.2 Perkalian pada GF(2)
Gambar 2.3 Kurva eliptik  2 3
Gambar 2.5 Penjumlahan  P   Q R
+5

Referensi

Dokumen terkait

Data yang digunakan pada penelitian tersebut ialah data citra anatomi epidermis daun dan stomata tumbuhan Freycinetia yang diperoleh dari Pasaribu

Berdasarkan hasil analisis diketahui bahwa nilai R Square mendekati satu artinya variabel yang diukur dengan labelisasi halal, pengetahuan konsumen, gaya hidup dan citra merek

Deposito merupakan pilihan terbaik selain tabungan, karena selain resikonya hampir tidak ada, deposito juga meberikan penghasilan bunga yang bisa diharapkan secara

Mengikut pemahaman saya, pentaksiran dalam Pendidikan Khas adalah untuk memberi maklumat dan gambaran tentang tahap penguasaan murid dalam pelbagai kemahiran seperti membaca,

Karena proses pendataan yang dipakai di PT.Kharisma Prima Abadi sela ma ini masih menggunakan proses manual dan menggunakan Microsoft Office Excel, maka penulis ingin membuat

N sedimen tersuspensi menunju tinggi (Gambar 7 dan Gamb kembali ke kolom perairan, sedimen tersuspensi lebih ting Hasil pengolahan data Kabupaten Pati adalah arus pa yang

Berdasarkan hasil penelitian dan pembahasan yang telah dilakukan, maka dapat disimpulkan bahwa gaya kepemimpinan dan ketidakapastian lingkungan memiliki pengaruh terhadap

Landasan pendidikan NU ini berikutnya diturunkan menjadi Anggaran Dasar NU sebagaimana terdapat pada Pasal IX Anggaran Dasar NU sebagai berikut “Di bidang pendidikan, pengajaran