Download - WAN KHUDRI M0198088

Transcript
Page 1: WAN KHUDRI M0198088

ENKRIPSI DAN DEKRIPSI DATA MENGGUNAKAN ALGORITMA ElGamal ECC(ElGamal ELLIPTIC CURVE CRYPTOGRAPHY)

WAN KHUDRIM0198088

FAKULTAS MIPA JURUSAN MATEMATIKA

Page 2: WAN KHUDRI M0198088

DEKRIPSIENKRIPSI

LATAR BELAKANG

CRYPTOGRAPHYSeni dan ilmu pengetahuan untuk menjaga keamanan informasi

CRYPTOGRAPHY

Teknik untuk membuat informasi yang dapat dibaca (plaintext) menjadi kode-kode tertentu (chipertext)

Teknik untuk mengembalikan chipertext menjadi plaintext

Page 3: WAN KHUDRI M0198088

LATAR BELAKANG

ALGORITMA CRYPTOGRAPHYJenis Kuncinya

ALGORITMA SIMETRI( KONVENSIONAL )

ALGORITMA ASIMETRI( PUBLIC KEY ALGORITHM )

=Kunci Enkripsi

Kunci Dekripsi

Secret Key

Kunci Enkripsi

Kunci Dekripsi

Public Key Private Key

Page 4: WAN KHUDRI M0198088

LATAR BELAKANG

ALGORITMA CRYPTOGRAPHYJenis Kuncinya

ALGORITMA SIMETRI( KONVENSIONAL )

ALGORITMA ASIMETRI( PUBLIC KEY ALGORITHM )

=Kunci Enkripsi

Kunci Dekripsi

Secret Key

Kunci Enkripsi

Kunci Dekripsi

Public Key Private Key

Page 5: WAN KHUDRI M0198088

ENKRIPSI DEKRIPSI

SECRET KEY

ALGORITMA CRYPTOGRAPHYJenis Kuncinya

ALGORITMA SIMETRI( KONVENSIONAL )

PENGIRIM PENERIMA

Page 6: WAN KHUDRI M0198088

ENKRIPSI DEKRIPSI

PUBLIC KEY

ALGORITMA CRYPTOGRAPHYJenis Kuncinya

ALGORITMA ASIMETRI( PUBLIC KEY ALGORITHM )

PENGIRIM PENERIMA

PRIVATE KEY

Page 7: WAN KHUDRI M0198088

LATAR BELAKANG

PUBLIC KEY ALGORITHMPermasalahan Matematis

I F P

Diketahuin: Bilangan Bulat

n = p.qp dan q: Bilangan prima

Find p dan q

Aritmetika Modular

Diketahuip: Bilangan Prima

g : 0 < g < p-1y = gx ( mod p )

Find x

Aritmetika Kurva Elliptic

Diketahuip: Bilangan Prima

P(xp,yp) titik kurva ellipticQ(xq,yq) titik kurva elliptic

Q = V.P

Find V

D L P E C D L P

Contohnya

RSA

Contohnya

ElGamal ECC,

ECDSA

Contohnya

ElGamal, DSA

Page 8: WAN KHUDRI M0198088

PEMBAHASANDEFINISI ARITMETIKA KURVA ELLIPTIC

Misalkan P(xp,yp) dan Q(xq,yq) adalah titik kurva elliptic dalam grup elliptic

Ep(A,B). O adalah point at infinity dan persamaan kurva elliptic-nya adalah

y2 = x3+Ax+B (mod p), dengan p prima.

1. P + O = O + P = P.

2. Jika xq = xp dan yq = - yp sehingga P = (xp,yp) dan Q = (xq,yq)=(xp,-yp),

maka P+Q=P+(-P)=O. Titik Q adalah negatif dari P atau ditulis –P.

3. Jika Q ≠ -P maka penjumlahan P+Q=R=(xR , yR) diperoleh dengan cara

xR = 2 – xp – xq (mod p) dan yR = .(xp – xR ) – yp (mod p)

ElGamal ECC merupakan algoritma kriptografi kurva elliptic yang menggunakan

operasi aritmetika kurva elliptic. Menurut Stalling, definisi aritmetika kurva

elliptic atas Fp adalah

Δ

q p

q p

2p

p

y - y , untuk P Q

x - x=

3x + A , untuk P = Q

2y

4. Operasi perkalian didefinisikan sebagai operasi penjumlahan secara

berulang. Misalkan k bilangan bulat, P titik kurva elliptic, maka perkalian

skalar k.P = P + P + … + P ( penjumlahan P sebanyak k kali ).

Page 9: WAN KHUDRI M0198088

PEMBAHASANParameter Domain Kriptografi Kurva Elliptic

Menurut Certicom, parameter-parameter domain kriptografi kurva elliptic

didefinisikan sebagai six-tuple T, yaitu T = ( p,Fp,A,B,GE,NG,h ).

p : bilangan prima

Fp : Lapangan berhingga prima yang memiliki p elemen. Fp={0,1,…,p-1}

A,B : koefisien persamaan kurva elliptic y2 = x3 + Ax + B (mod p)

GE : basic point, yaitu elemen pembangun grup elliptic Ep(A,B) atas Fp

NG : order basic point, yaitu bilangan bulat positip terkecil NG.GE = O

h: kofaktor, h= #E / NG, dengan #E adalah banyaknya titik dalam grup elliptic

Page 10: WAN KHUDRI M0198088

PEMBAHASANALGORITMA ElGamal ECC

Ada 5 algoritma dalam ElGamal ECC, yaitu

1. Algoritma penentuan kunci

2. Algoritma representasi plaintext menjadi titik

3. Algoritma enkripsi

4. Algoritma dekripsi

5. Algoritma representasi titik menjadi plaintext

Page 11: WAN KHUDRI M0198088

PEMBAHASAN

Algoritma Penentuan Kunci

Menentukan bilangan bulat V [ 1 , NG -1 ] secara random

Menghitung = V.GE

V adalah private key dan adalah public key

Page 12: WAN KHUDRI M0198088

PEMBAHASAN

Algoritma Representasi Plaintext ke Titik

Diasumsikan Sj sebagai suatu bilangan bulat dalam Fp dan peluangsebuah bilangan random menjadi bilangan kuadrat adalah ½. Sehingga kemungkinan tidak menemukan sebuah bilangan kuadrat untuk‘e’ percobaan adalah 2-e . Berdasarkan asumsi-asumsi tersebut, maka langkah-langkah yang perludilakukan adalah

Merepresentasikan plaintext bilangan bulat m > 0Sedemikian sehingga m.e < p

Menghitung xj = m.e + j, untuk j [0,e-1] dan menghitung Sj = xj3 +Axj+B

sampai diperoleh Sj(p-1)/2 = 1 (mod p)

Menghitung yj , yaitu akar dari Sj

Titik PM = ( xj , yj ) adalah representasi dari plaintext

Page 13: WAN KHUDRI M0198088

PEMBAHASAN

Algoritma Enkripsi ElGamal ECC

Misalnya titik PM adalah representasi dari plaintext.

Maka langkah-langkah yang perlu dilakukan dalam

proses enkripsi adalah

Mendapatkan public key Penerima ( )

Memilih bilangan bulat k [ 1 , NG-1 ]

Menghitung P1 = k.GE dan P2 = PM + k.

PC = ( P1 , P2 ) adalah chipertext pair of points

Page 14: WAN KHUDRI M0198088

PEMBAHASAN

Algoritma Dekripsi ElGamal ECC

Misalnya PC = ( P1,P2 ) adalah chipertext pair of points

Maka langkah-langkah yang perlu dilakukan dalam

proses dekripsi adalah

Mengalikan P1 dengan private key Penerima M1 = V.P1

Menghitung PM = P2 – M1 = P2 – V.P1

Titik PM adalah representasi dari plaintext

Page 15: WAN KHUDRI M0198088

PEMBAHASAN

Algoritma Representasi Titik menjadi Plaintext

Diasumsikan bahwa PM = (xj , yj ) adalah representasi plaintext.

Langkah-langkah untuk mendapatkan plaintext adalah

Menghitung

Mengubah m menjadi plaintext

jxm

e

Page 16: WAN KHUDRI M0198088

PEMBAHASAN

Algoritma Perkalian Skalar Kurva Elliptic

IMPLEMENTASI ElGamal ECC

Binary Algorithm Addition-SubtractionAlgorithm

Repeated-DoublingAlgorithm

Algoritma perkalian skalar yang paling efisienMenurut Doraiswamy et.al serta Dahab dan Lopez

Page 17: WAN KHUDRI M0198088

IMPLEMENTASI ElGamal ECCpada Software Matlab

Ada 44 Function

13 Function telah disediakan dalam Matlab

31 Function dibuat sendiri

Ada 44 Function

13 Function telah disediakan dalam Matlab

31 Function dibuat sendiri

PROGRAMPENENTUAN KUNCI

PROGRAM ENKRIPSIElGamal ECC

PROGRAM DEKRIPSIElGamal ECC

7 Function aritmetika modulo

5 Function aritmetika kurva elliptic

19 Function ElGamal ECC

7 Function aritmetika modulo

5 Function aritmetika kurva elliptic

19 Function ElGamal ECC

Page 18: WAN KHUDRI M0198088

PROGRAM PENENTUAN KUNCI

nkunci Input panjang kunci

T Parameter domain ECC

V Private key

Public key

T eccparameter

V eccprivkey

eccpubkey

OUTPUT: T, V dan

Page 19: WAN KHUDRI M0198088

PROGRAM ENKRIPSI ElGamal ECC

( p,A,B,GE,NG ) Input parameter domain Input Public keye Banyaknya percobaan representasipesan Plaintext

m eccplain2numPM eccnum2titik

PC Enkripsi ElGamal ECCPM eccnum2titik

PC eccenk

m eccplain2num

lpesan Panjang pesannkunci panjang kunci

bpesan ceil((nkunci/8)-1)ipesan ceil(lpesan/bpesan)

If ipesan>bpesan

Output PC

For i <= ipesan

No

Yes

i > ipesan

i <= ipesan

Page 20: WAN KHUDRI M0198088

PROGRAM DEKRIPSI ElGamal ECC

(p,A) Input parameter domainV Input Private keye Banyaknya percobaan representasiPC Chipertext pair of points

PM Dekripsi ElGamal ECC

m Titik ke numerik

psn Numerik ke plaintext

m ecctitik2num

psneccnum2plain

PM eccdek

Output psn

Page 21: WAN KHUDRI M0198088

PENUTUP

Kesimpulan

Jika panjang kunci ’nkunci’ bit maka plaintext dipotong untuk setiap

karakter. Setiap potongan plaintext direpresentasikan menjadi titik kurva elliptic

(PM) dan dienkripsi menggunakan public key penerima ( ) dengan memilih bilangan bulat k, sehingga menghasilkan chipertext pair of points (PC).

Untuk mendapatkan plaintext, penerima perlu mendekripsi chipertext pair of points (PC) menggunakan private key miliknya (V) dan dihasilkan titik kurva elliptic PM.

PM = P2 – V.P1. Kemudian mengembalikan representasi titik kurva elliptic menjadi

plaintext.

18

nkunci

11 2

2

. .( , ) ( . , . )

. E

C E MM

P k GP P P k G P k

P P k

Page 22: WAN KHUDRI M0198088

PENUTUP

Saran Implementasi ElGamal ECC pada kurva elliptic,lapangan

dan software yang berbeda. Melakukan penelitian tentang algoritma yang paling

efisien untuk memecahkan ECDLP seperti pollard’s rho atau yang lainnya.

Melakukan penelitian tentang tanda tangan digital dan protokol pertukaran kunci, seperti ECDSA, Diffie-Hellman EC.

Implementasi gabungan skema enkripsi, tanda tangan digital dan protokol pertukaran kunci dalam skala sistem yang lebih luas, seperti internet banking, transaksi online, lembaga intelijen, militer dan sebagainya.