Road to ECC (1) : Perkalian Pada Algoritma Elliptic Curve Cryptography - Elang Sakti
Download Ebook Belajar Arduino PDF, Arduino untuk pemula
Jasa Pembuatan Program Arduino, pemrograman Arduino
# Hack Your Skills! to be Professional Mechatronics

Road to ECC (1) : Perkalian Pada Algoritma Elliptic Curve Cryptography

Tidak ada komentar
Kurva-kurva eliptik ternyata perhitungannya bisa dijadikan algoritma enkripsi pesan dan tandatangan digital. Awalnya teori tersebut diajukan oleh si Fermat (Fermat's Last Theorem) sebagai ilmu sains hitunga matematika saja. Tapi belakangan (1985) malah diajukan sebagai teori untuk keamanan komputer oleh Victor Miller dan Neil Koblitz yang dikasi nama Elliptic Curve Public Key Cryptosystems (ECKP).

Dalam prosesnya, algoritma tersebut memiliki beberapa aturan untuk penggandaan kurva, yaitu aturan penjumlahan, perkalian, inversi, penggandaan, dan beberapa aturan untuk menjadikan kurva tersebut bisa diduplikasi. Pada artikel ini saya hanya bahas tentang cara menghitung aturan perkalian saja. Aturan tersebut berlaku untuk perkalian titik, jadi bukan perkalian matriks biasa.

Dalam referensi, aturan perkalian bisa dilakukan dengan cara berikut:
Misal point P = [x,y] dikalikan dengan 7, maka caranya yaitu menerapkan aturan penjumlahan. Nah, aturan penjumlahan nanti saja kita bahas. Perkalian tersebut buakn perkalian seperti 7P != 7*[x,y], bukan, yang benar adalah 7P = P+P+P+P+P+P+P = 2P+2P+2P+P = 2(2P)+2P+P. Nah, 2P itu mengikuti aturan penjumlahan. Untuk visualisasi proses perkaliannya adalah sebagai berikut:
P  P  P  P  P  P  P
|__|  |__|  |__|  |
 2P    2P    2P   |
 |______|____|____|
   2(2P)  +  2P + P

Di berbagai sumber, cara menghitungnya ada beberapa metode, diantaranya menggunakan algortima booth (kalo tidak salah ingat). Algoritma tersebut merupakan algoritma perkalian biner. Itu dibuatnya dulu, sebelum ada OOP kayaknya. Ada juga algoritma Addition-Substractin Algortihm dan Repeat Doubling Algorithm, semuanya bikin saya bingung. Daripada bingung, saya bikin prosesnya satu-satu kemudian mikir.

Nah, akhirnya dapet juga cara gampangnya. Kayaknya lebih simple dan lebih masuk di akal saya pribadi. Daripada make algoritma orang lain, kalo kita bisa bikin, kenapa ndak bikin saja sendiri? Hehhe.. Berikut contoh kode dalam java.
static int[] kali(int p, int a, int b, int k, int[] xy){
    int n = k%2;
    k = (int)Math.floor(k/2);
    if(k>1){
        R = kali(p, a, b, k, R);
    }
    if(n==1){
        R = jumlah(p,a,b,R[0],R[1],xy[0],xy[1]);
    }
    return R;
}

Nah, cara di atas kayaknya lebih enak dan masuk di kepala saya, hehe.

Written by ElangSakti
Road to ECC (1) : Perkalian Pada Algoritma Elliptic Curve Cryptography
Bahasan: Kurva-kurva eliptik ternyata perhitungannya bisa dijadikan algoritma enkripsi pesan dan tandatangan digital. Awalnya teori tersebut diajuk...
Published at Selasa, 02 Juli 2013, Updated at Selasa, 02 Juli 2013
Reviewed by dr. on
Rating: 4.7

Tidak ada komentar :

Posting Komentar