Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
1
FAKULTAS MIPA JURUSAN MATEMATIKA
ENKRIPSI DAN DEKRIPSI DATA MENGGUNAKAN ALGORITMA ElGamal ECC (ElGamal ELLIPTIC CURVE CRYPTOGRAPHY) WAN KHUDRI M FAKULTAS MIPA JURUSAN MATEMATIKA
2
Seni dan ilmu pengetahuan untuk menjaga keamanan informasi
LATAR BELAKANG Seni dan ilmu pengetahuan untuk menjaga keamanan informasi CRYPTOGRAPHY CRYPTOGRAPHY ENKRIPSI DEKRIPSI Teknik untuk membuat informasi yang dapat dibaca (plaintext) menjadi kode-kode tertentu (chipertext) Teknik untuk mengembalikan chipertext menjadi plaintext
3
ALGORITMA CRYPTOGRAPHY
LATAR BELAKANG ALGORITMA CRYPTOGRAPHY Jenis Kuncinya ALGORITMA SIMETRI ( KONVENSIONAL ) ALGORITMA ASIMETRI ( PUBLIC KEY ALGORITHM ) = Kunci Enkripsi Kunci Dekripsi Kunci Enkripsi Kunci Dekripsi Secret Key Public Key Private Key
4
ALGORITMA CRYPTOGRAPHY
LATAR BELAKANG ALGORITMA CRYPTOGRAPHY Jenis Kuncinya ALGORITMA SIMETRI ( KONVENSIONAL ) ALGORITMA ASIMETRI ( PUBLIC KEY ALGORITHM ) = Kunci Enkripsi Kunci Dekripsi Kunci Enkripsi Kunci Dekripsi Secret Key Public Key Private Key
5
ALGORITMA CRYPTOGRAPHY
Jenis Kuncinya ALGORITMA SIMETRI ( KONVENSIONAL ) DEKRIPSI ENKRIPSI PENGIRIM PENERIMA SECRET KEY
6
ALGORITMA CRYPTOGRAPHY
Jenis Kuncinya ALGORITMA ASIMETRI ( PUBLIC KEY ALGORITHM ) DEKRIPSI ENKRIPSI PENGIRIM PENERIMA PUBLIC KEY PRIVATE KEY
7
Permasalahan Matematis
LATAR BELAKANG PUBLIC KEY ALGORITHM Permasalahan Matematis I F P D L P E C D L P Diketahui n: Bilangan Bulat n = p.q p dan q: Bilangan prima Find p dan q Aritmetika Modular Diketahui p: Bilangan Prima g : 0 < g < p-1 y = gx ( mod p ) Find x Aritmetika Kurva Elliptic Diketahui p: Bilangan Prima P(xp,yp) titik kurva elliptic Q(xq,yq) titik kurva elliptic Q = V.P Find V Contohnya RSA Contohnya ElGamal, DSA Contohnya ElGamal ECC, ECDSA
8
DEFINISI ARITMETIKA KURVA ELLIPTIC
PEMBAHASAN DEFINISI 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 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 ).
9
Parameter Domain Kriptografi Kurva Elliptic
PEMBAHASAN Parameter 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
10
PEMBAHASAN ALGORITMA 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
11
PEMBAHASAN Algoritma Penentuan Kunci
Menentukan bilangan bulat V [ 1 , NG -1 ] secara random Menghitung = V.GE V adalah private key dan adalah public key
12
Algoritma Representasi Plaintext ke Titik
PEMBAHASAN Algoritma Representasi Plaintext ke Titik Diasumsikan Sj sebagai suatu bilangan bulat dalam Fp dan peluang sebuah 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 perlu dilakukan adalah 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 Merepresentasikan plaintext bilangan bulat m > 0 Sedemikian sehingga m.e < p Titik PM = ( xj , yj ) adalah representasi dari plaintext
13
Algoritma Enkripsi ElGamal ECC
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
14
Algoritma Dekripsi ElGamal ECC
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
15
Algoritma Representasi Titik menjadi Plaintext
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
16
PEMBAHASAN IMPLEMENTASI ElGamal ECC
Algoritma Perkalian Skalar Kurva Elliptic Binary Algorithm Addition-Subtraction Algorithm Repeated-Doubling Algorithm Algoritma perkalian skalar yang paling efisien Menurut Doraiswamy et.al serta Dahab dan Lopez
17
IMPLEMENTASI ElGamal ECC pada Software Matlab
PROGRAM PENENTUAN KUNCI Ada 44 Function 13 Function telah disediakan dalam Matlab 31 Function dibuat sendiri 7 Function aritmetika modulo 5 Function aritmetika kurva elliptic 19 Function ElGamal ECC PROGRAM ENKRIPSI ElGamal ECC PROGRAM DEKRIPSI ElGamal ECC
18
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
19
PROGRAM ENKRIPSI ElGamal ECC
( p,A,B,GE,NG ) Input parameter domain Input Public key e Banyaknya percobaan representasi pesan Plaintext For i <= ipesan Yes If ipesan>bpesan lpesan Panjang pesan nkunci panjang kunci bpesan ceil((nkunci/8)-1) ipesan ceil(lpesan/bpesan) No i <= ipesan m eccplain2num m eccplain2num PM eccnum2titik PC Enkripsi ElGamal ECC i > ipesan PM eccnum2titik Output PC PC eccenk
20
PROGRAM DEKRIPSI ElGamal ECC
(p,A) Input parameter domain V Input Private key e Banyaknya percobaan representasi PC Chipertext pair of points PM Dekripsi ElGamal ECC m Titik ke numerik psn Numerik ke plaintext PM eccdek m ecctitik2num psneccnum2plain Output psn
21
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.
22
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.
Presentasi serupa
© 2024 SlidePlayer.info Inc.
All rights reserved.