Algoritma ECC

on Selasa, 24 Juli 2018

Elliptic-curve cryptography (ECC) adalah pendekatan untuk kriptografi kunci publik berdasarkan struktur aljabar dari kurva elips di atas bidang terbatas. ECC membutuhkan kunci yang lebih kecil dibandingkan dengan kriptografi non-ECC untuk memberikan keamanan yang setara.

Kurva Elliptic berlaku untuk perjanjian kunci, tanda tangan digital, generator pseudo-random dan tugas lainnya. Secara tidak langsung, mereka dapat digunakan untuk enkripsi dengan menggabungkan perjanjian kunci dengan skema enkripsi simetris.

Sumber : https://en.wikipedia.org/wiki/Elliptic-curve_cryptography

Pembuatan Kunci
1. Tentukan nilai P, n, dan d. 
P = titik pada kurva
n = batas maximum kurva (bil prima)
d = Private key (bilangan acak antara 1 s/d n-1)

cth:
P = 7
n = 23
d = 17

2. Menghitung nilai Q (public key)
Q = d * P
Q = 17 * 7
Q = 119

public key = Q = 119
private key = d = 17

Enkripsi
cth:
plaintext = "A"

1.  Tentukan M (nilai ASCII dari plaintext)
M=65

2. Tentukan nilai k (bil acak antara 1 s/d n-1)
cth: k = 5

3. Hitung C1
C1 = k * P
C1 = 5 * 7
C1 = 35

4. Hitung C2
C2 = M + k * Q
C2 = 65 + 5 * 119
C2 = 660

nilai yang dikirimkan adalah C1 dan C2 : 35, 660

Dekripsi
Nilai yang diterima: C1=35, C2=660

Masukkan ke rumus M
M = C2 - d * C1
M = 660 - 17 * 35
M = 65