1. RANCANGAN UNIT ARITMETIKA FINITE FIELD BERBASIS COMPOSITE FIELD
Marisa Paryasto1, Budi Rahardjo2, Intan Muchtadi-Alamsyah3,Kuspriyanto4
1,2,4
Sekolah Teknik Elektro dan Informatika, Institut Teknologi Bandung
4
Program Studi Matematika, Fakultas Matematika dan Ilmu Pengetahuan Alam, Institut Teknologi Bandung
1
marisa@stei.itb.ac.id, 2br@paume.itb.ac.id, 3ntan@math.itb.ac.id, 4kuspriyanto@yahoo.com
Abstrak
Elliptic Curve Cryptography (ECC) adalah salah satu kriptografi kunci publik yang membutuhkan komputasi
tinggi karena membutuhkan perhitungan aritmetika khusus yang kompleks. Di sisi lain, semakin panjang
jumlah bit yang digunakan sebagai kunci, semakin tinggi tingkat keamanannya. Hal ini berimplikasi dalam
implementasi ECC dalam bentuk perangkat keras. Semakin panjang jumlah bit yang digunakan, semakin
besar area (semakin banyak jumlah komponen) yang dibutuhkan. Dalam implementasi perangkat lunak,
semakin panjang jumlah bit yang digunakan semakin besar memori yang dibutuhkan. Optimasi yang perlu
dilakukan adalah memperkecil luas area dan/atau meningkatkan kecepatan. Salah satu solusi yang
ditawarkan adalah mengimplementasikan perhitungan aritmetika dengan menggunakan composite field
(lapangan composite). Pendekatan ini dapat memperkecil kebutuhan area (dalam implementasi perangkat
keras) atau memori (dalam implementasi perangkat lunak). Pada makalah ini akan disampaikan rancangan
arsitektur unit aritmetika composite field.
Kata kunci: security, cryptography, elliptic curve, finite field
1. Pendahuluan menarik.
Sejak ditemukan pada tahun 1986 oleh Koblitz [13] Dalam operasi dalam GF(2k), penjumlahan dapat
dan Miller [18], kriptografi kurva eliptik (ECC - dilakukan dengan operasi XOR untuk bit sepanjang
Elliptic Curve Cryptography) telah menjadi alternatif k, karena itu operasi penjumlahan sangat cepat dan
kriptografi kunci publik karena menawarkan tingkat tidak mahal. Sebaliknya, operasi perkalian sangat
keamanan yang lebih tinggi dengan bit kunci yang mahal dalam jumlah gate dan delay. Pengali dapat
lebih pendek dibandingkan dengan skema dibedakan menjadi arsitektur bit paralel dan
konvensional seperti RSA dengan jumlah bit kunci arsitektur bit serial. Pengali dengan arsitektur bit
yang jauh lebih panjang. paralel menghitung hasil perkalian dalam satu siklus
Lapangan hingga (finite field) memegang peranan clock tapi membutuhkan area sebesar O(k2). Pengali
penting pada kriptografi kunci publik. Banyak dengan arsitektur bit serial mengitung perkalian
algoritma kunci publik yang menggunakan aritmetika dalam k siklus clock tapi membutuhkan area sebesar
pada lapangan prima (prime field) atau pada lapangan O(k). Kedua jenis arsitektur ini adalah contoh yang
perluasana (extension field) dari GF(2) yaitu GF(2k). menjelaskan paradigma trade-off dari area dan waktu.
Contoh skema yang bisa menggunakan lapangan Christopher Paar [20] membuat arsitektur baru yang
Galois dengan karakteristik dua adalah protokol lebih cepat dari bit serial tetapi dengan kompleksitas
klasik pertukaran kunci Diffie-Hellman [5], enkripsi area lebih rendah dari k2pada bit paralel. Terbukti
ElGamal dan skema tandatangan digital [7], dan bahwa menghindari dua pilihan ekstrim dari
sistem yang menggunakan kurva eliptik [18] dan arsitektur bit paralel dengan bit serial (sangat cepat
kurva hipereliptik [14]. tapi besar dengan agak lambat tapi kecil) dapat
Algoritma kunci publik yang memanfaatkan kesulitan menghasilkan arsitektur dengan kinerja/biaya
dari logaritma diskrit (discrete logarithm - DL) karakteristik yang teroptimasi untuk banyak aplikasi.
membutuhkan derajat k sebesar 1000 bit untuk Nama dan prinsip seperti ini pertama kali
memperoleh tingkat keamanan yang cukup [9]. diperkenalkan oleh Mastrovito [6] yang hanya
Skema menggunakan problem DL pada kurva eliptik menjelaskan mengenai pengali hybrid dan tidak
non-supersingular harus memiliki derajat k ≥ 140 membahas mengenai optimasi, hybrid squaring,
[16]. Kriteria yang dibutuhkan oleh algoritma kunci perpangkatan dan aplikasi pada kriptografi.
publik ini mengakibatkan rendahnya kinerja yang Rancangan arsitektur ini akan digunakan pada kurva
menjadi masalah besar pada implementasi. Karena itu eliptik. Sudah banyak badan-badan standar seperti
perancangan arsitektur perangkat keras untuk NIST [15]dan SECG [1] yang menstandarkan kurva-
lapangan Galois GF(2k) menjadi penting dan kurva eliptik dalam bentuk F2pmaupun dalam Fp,
2. dimana p adalah bilangan prima. akan dapat diturunkan.
Salah satu alternatif implementasi adalah dengan Terdapat banyak cara untuk merepresentasikan
menggunakan lapangan composite. Lapangan elemen- element dari GF (2k) tergantung dari pilihan
composite digunakan karena dapat memecah basis atau metoda konstruksi dari GF(2k). Jika k
komputasi menjadi komputasi dalam subfield dari adalah hasil perkalian dari dua buah bilangan integer
GF(2k) menjadi GF((2n)m dimana k = nm, sehingga dimana k = n.m, maka dapat diturunkan metoda
implementasi pada perangkat keras dapat dilakukan representasi yang berbeda dengan mendefinisikan
dengan menggunakan teknik serial yang hemat area GF(2k) atas GF(2n). Suatu lapangan perluasan yang
dan paralel yang hemat waktu. Arsitektur dari tidak didefinisikan pada lapangan prima tapi salah
pendekatan inilah yang akan dibahas pada makalah satu dari subfield-nya disebut dengan lapangan
ini. composite. Lapangan composite dinyatakan dengan
GF((2n)m) dimana GF(2n) diketahui sebagai ground
2. Penelitian Sebelumnya field sebagai dasar lapangan composite didefinisikan.
Implementasi ECC dengan lapangan composite pada Hanya ada satu lapangan hingga dengan karakteristik
perangkat lunak yang paling awal dilakukan oleh 2 untuk suatu derajat tertentu, dan baik binary dan
[12]. Implementasi yang efisien pada perangkat keras lapangan composite mengacu pada lapangan yang
dan perangkat lunak juga dilakukan oleh [21], [20], sama walaupun metode representasinya berbeda.
[22], [11], [10]. Berbeda dengan implementasi yang Untuk merepresentasikan elemen-elemen dari
banyak dilakukan pada GF(216) sehingga jumlah lapangan composite GF((2n)m), dapat menggunakan
koefisien dari elemen pada representasi lapangan basis:
composite seukuran dengan word komputer, pada
[22], n yang dipilih bukan kelipatan 8, misalnya 13,
14 dan 15 sehingga kombinasi n dan m yang
diperoleh lebih banyak dan hasil implementasi- nya
lebih cepat karena penggunaan LUT (Look Up Table) dimana β adalah akar dari polinom tak tereduksi
yang lebih sedikit. Pada penelitian yang dilakukan dengan derajat m, yang memiliki koefisien-koefisien
[12], [11] juga menggunakan LUT. Implementasi dan di dalam basis dasar GF(2n). Karena itu, suatu
rancangan perangkat keras untuk lapangan composite elemen
secara hybrid yang dimulai oleh Mastrovito [6] dan
dilanjutkan oleh Christopher Paar [19] dimana
operasi untuk GF(2n) dilakukan secara serial dan
operasi pada lapangan perluasanGF((2n)m) dilakukan
secara paralel. Hal ini memberikan kompromi yang dimana a’0, a’1, ... , a’m−1∈GF (2n). Karena koefisien-
sangat baik untuk luas area dan kecepatan. koefisien dari representasi lapangan composite tidak
lagi termasuk dalam lapangan prima, perlu diketahui
3. Composite Field (Lapangan Composite) cara menghitung pada ground field GF(2n). Operasi
Pada bagian ini akan dijelaskan sifat-sifat dari pada ground field dilakukan dengan menggunakan
lapangan composite. GF(2k) menyatakan suatu look-up table logaritmik yang sudah dihitung
lapangan perluasan biner (binary extention field) yang sebelumnya. Setelah itu pemilihan basis di ground
didefinisikan atas lapangan prima GF(2). Jika elemen- field tidak penting lagi. Untuk membuat tabel
element dari suatu himpunan logaritmik, perlu dihitung elemen primitif dari GF(2 n).
4. Metodologi
4.1 Pemilihan Parameter
Pada rancangan ini dipilih GF(2299) yang dipecah
adalah bebas linier, maka B1akan membentuk suatu menjadi GF((213)23) karena menurut Menezes-Teske
basis polinom untuk GF(2k). Karena itu untuk [17] dan N.P. Smart [24], implementasi ECC
suatu elemen A∈ GF(2k), dapat dituliskan seperti menggunakan lapangan composite dengan n dan m
dibawah ini: dengan kelipatan 4 atau 5 tidak aman. Panjang bit
299 juga memberikan tingkat keamanan yang cukup
tinggi untuk masa yang cukup panjang [8].
Tidak banyak publikasi yang membuat arsitektur
lapangan Galois yang dirancang khusus untuk
dimana koefisien-koefisiennya adalah a0, a1, ... , aplikasi kriptografi. Perlu dicatat bahwa kompleksitas
ak−1∈GF(2). Setelah basis dipilih, aturan untuk O(k2) dari arsitektur pengali paralel akan
operasi lapangan (penjumlahan, perkalian dan invers) menghasilkan unit aritmetika yang sangat besar dan
3. sulit diimplementasikan untuk hampir semua log diurutkan menurut i. Jadi misalnya i = 3 dan A =
algoritma kunci publik. Sejauh ini, basis polinomial g3maka diperoleh log [A] = 3 dan alog[3] = A. Tabel
dan basis normal banyak digunakan untuk ini kemudian digunakan untuk melakukan operasi
implementasi di bidang kriptografi. Pada penelitian perkalian, squaring dan invers.
ini dipilih polinomial basis karena polinomial basis Jika diberikan dua elemen A, B ∈ GF (2n), maka
tidak membutuhkan konversi pada proses perkalian algoritma untuk melakukan perkalian C = A.B
seperti normal basis atau dual basis. Sehingga pengali dilakukan sebagai berikut:
dengan polinomial basis cocok untuk input dan
output sistem mana saja [2]. Pada [3] dibuat desain 1. i = log[A]
operator aritmetika field untuk PB dan ONB di 2. j = log[B]
GF(2233) dan hasil analisanya adalah pengali polinom 3. k= i +jmod(2n−1)
hybrid dapat diimplementasikan pada area yang lebih 4. C = alog[k]
kecil jika dibandingkan dengan pengali ONB hybrid.
Sedangkan untuk operasi invers, ONB lebih efisien karena C = AB = gigj= gi+j mod 2^n−1. Perkalian pada
dalam penggunaan area dan lebih tinggi kinerjanya. lapangan GF(2n) memerlukan tiga kali akses ke
Polinom lapangan biner untuk skema kurva eliptik, memori dan sebuah operasi penjumlahan modulo 2 n−
derajat extension m dapat dipilih sehingga gcd(n,m) = 1. Pengkuadratan dari elemen A lebih mudah karena
1 sehingga polinomial P(x) yang tidak tereduksi di hanya memerlukan dua kali akses memori untuk
GF(2) juga tidak tereduksi di GF(2n). Polinom tidak menghitung C = A2, seperti algoritma berikut ini:
tereduksi dalam bentuk trinomial ataupun
pentanomial yang digunakan dilihat dari [23]. 1. i = log[A]
Polinom tidak tereduksi dengan weight kecil berguna 2. k=2i(mod2n−1)
untuk operasi aritmetika pada F2n, karena jumlah 3. C = alog[k]
operasi pada proses reduksi untuk hasil perkalian dari
dua buah polinom berderajat n − 1 modulo suatu Untuk menghitung inverse dari elemen A, digunakan
polinomial tidak tereduksi berderajat n dan weight w sifat C = A−1= g−i= g2^n−1−iyang membutuhkan dua
proporsional dengan (w − 1)n. kali akses ke memori:
Representasi koordinat juga memegang peranan
penting, pada implementasi dengan koordinat afin 1. i = log[A]
dimana banyak dibutuhkan operasi invers, ONB 2. k = 2n− 1 − i
memberikan hasil terbaik dibandingkan dengan basis 3. C = alog[k]
lain. Tapi, jika yang menggunakan koordinat
projektif, dimana invers hanya dilakukan sekali, E. Savas dan C. K. Koc [22] memberikan perbaikan
kinerja PB dan ONB bisa dikatakan hampir sama, algoritma untuk mempercepat operasi di GF(2n),
dengan efisiensi area PB lebih baik daripada ONB. terutama untuk perkalian dan penjumlahan, yaitu
Pada [4] juga dikatakan bahwa polinom memberikan penggunaan tabel anti-log dengan panjang 2n+1− 1
desainer kebebasan memilih polinom tak tereduksi yang hampir dua kali dari panjang tabel anti-log yang
dan optimasi perangkat keras. biasa. Dengan algoritma ini, langkah 1 dan langkah 2
dari proses pengkuadratan dapat dihilangkan. Tabel
4.2 Operasi Aritmetika tersebut berisi nilai (k, gk) yang diurutkan menurut
Metoda look-up logaritmik untuk operasi aritmetika indeks k, dimana k = 0, 1, 2, ..., 2 n+1−2. Karena nilai i
pada GF(2n) untuk nilai n yang kecil adalah metoda dan j adalah [0, 2n+1− 2] sehingga tidak perlu lagi
yang sudah dikenal seperti yang dilakukan pada menghitung modulo dari operasi penjumlahan, dan
[12][11]. Suatu elemen primitif g∈ GF(2n) dipilih perkalian di lapangan GF(2n) dapat disederhanakan
untuk menjadi generator dari field GF(2n), sehingga menjadi:
elemen A dalam lapangan tersebut dapat ditulis
dalam bentuk pangkatdarigsebagaiA=gidimana0≤ i 1. i = log[A]
≤2n−1. Kemudian dapat dihitung pangkat dari elemen 2. j = log[B]
primitif sebagai giuntuk i = 0, 1, ..., 2n−1 dan akan 3. k= i +j
diperoleh 2npasang (A, i). Pada penelitian yang 4. C=extended−alog[k]
disajikan dalam makalah ini, dipilih n = 13 dan m = 5.
23 dimana gcd(n, m) = 1 sehingga elemen manapun Begitu juga untuk operasi pengkuadratan dapat
di GF(2n) adalah generator. disederhanakan menjadi:
Kemudian dibuat dua buah table yang mengurutkan
pasangan tersebut dengan dua cara yang berbeda. 1. i = log[A]
Tabel logaritma diurutkan menurut A dan table anti- 2. k=2i
4. 3. C=extended−alog[k]
Ucapan terimakasih
Penyederhanaan algoritma ini berakibat meningkatnya Terimakasih kepada Fajar Yuliawan dari Kelompok
kinerja, tapi alokasi memori menjadi dua kali lebih Keahlian Aljabar, Program Studi Matematika FMIPA
besar. Pada ran- cangan yang dibuat pada makalah ini, ITB atas diskusi dan elaborasi di sisi matematika.
alokasi memori yang be- sar dihindari, karena itu akan
dipilih lapangan composite yang memiliki n < m Daftar Pustaka
sehingga alokasi memori yang digunakan untuk LUT
bisa lebih kecil sehingga kinerja bisa bertambah. [1] Standards for efficient cryptography - sec 2:
Recommended elliptic curve domain parameters.
5. Hasil Technical report, Certicom Corp., September 2000.
Rancangan unit aritmetika untuk lapangan composite [2] Che-Wun Chiou and Huey-Lin Jeng. Parallel
terlihat pada Gambar 1. Unit aritmetika dirancang algorithm for polynomial basis multiplier in GF(2m)
terpisah sehingga dapat menangani operasi pada fields. In Tamkang Journal of Science
lapangan composite dengan efisien. Aliran data ke andEngineering, volume 11, pages 211–218, 2008.
dan dari I/O serta register diatur oleh unit kontrol. [3] Yong-Je Choi, Moo-Seop Kim, Hang-Rok Lee,
Sinyal opcode yang masuk ke unit kontrol and Ho-Won Kim.Implementation and analysis of
memberikan instruksi yang harus dikerjakan, sinyal elliptic curve cryptosystems over polynomial basis
status melihat apakah proses sudah selesai, sinyal start and onb. In Proceedings of World Academy of
diberikan untuk memulai mengerjakan instruksi dan Science, Engineering and Technology, volume 10,
sinyal reset untuk mereset parameter-parameter ke December 2005.
nilai awal. [4] Jean-Pierre Deschamps, Jose Luis Imana, and
Gustavo D. Sutter. Hardware Implementation of
Finite Field Arithmetic. The McGraw-Hill
Companies, Inc., 2009.
[5]WhitfieldDiffieandMartinE.Hellman.Newdirection
sincryptography. IEEE International Symposium on
Information Theory, June 1976.
[6] Mastrovito Edoardo. VLSI Architecture for
Computations in GaloisFields. PhD thesis, Linkoping
University, 1991.
[7] T. ElGamal. A public-key cryptosystem and a
signature scheme basedon discrete logarithms. IEEE
Transactions on Information Theory, IT-31(4):469–
472, 1985.
[8] Damien Giry and Phillipe Bulens. Bluekrypt -
cryptographic key lengthrecommendation.
[9]
D.GordonandK.McCurley.Massivelyparallelcomputat
Gambar 1. Arsitektur ECC prosesor dengan
ionofdiscretelogarithms. Lecture Notes in Computer
lapangan composite
Science 453: Advances inCryptology CRYPTO ’92,
pages 312–323, August 1993.
6. Kesimpulan
[10] Jorge Guajardo. Efficient algorithms for elliptic
Implementasi ECC dengan menggunakan lapangan
curve cryptosystem.Master’s thesis, Worcester
composite memerlukan modifikasi algoritma yang
Polytechnic Institute, 1997.
cukup rumit. Namun hasil yang diperoleh akan dapat
[11] Jorge Guajardo and Christof Paar. Efficient
memberikan efisiensi area dan kecepatan yang lebih
algorithms for elliptic curve cryptosystems. In B. S.
baik dari implementasi dengan lapangan hingga
Kaliski Jr., editor, Advances In Cryptology -
biasa. Pemilihan parameter, representasi dan basis
CRYPTO 97, number 1294 in Lecture Notes in
juga menentukan kinerja sistem. Pada penelitian ini
Computer Science, pages342–356. Springer-Verlag,
dirancang suatu arsitektur yang bisa
1997.
mengkompromikan luas area dengan kecepatan
[12] Greg Harper, Alfred Menezes, and Scott
dengan menggunakan sifat lapangan composite yang
Vanstone. Public-key cryptography with very small
bisa dilakukan menggunakan operasi subfieldyang
key lengths. In Advances In Cryptology, number 658
dilakukan secara serial dan paralel.
in Lecture Notes in Computer Science, pages 163–
173. Springer- Verlag, 1992.
5. [13] Neal Koblitz. Elliptic curve cryptosystems. Bit-parallel Computation in Galois Fields. PhD
Mathematics of Computastion, 48(177):203–209, thesis, 1994.
January 1987. [20] Christof Paar. Fast Arithmetic Architectures for
[14] Neal Koblitz. Hyperelliptic cryptosystems. Public-Key Algorithms over Galois Fields
Journal of Cryptology, 1(3):129–150, 1989. GF((2n)m), pages 363–378. Number 1233 in Lecture
[15] Information Technology Laboratory. Federal Notes in Computer Science. Springer-Verlag, 1997.
information processing standards publication - digital [21] Christof Paar and Peter Fleischmann. Fast
signature standard (dss). Technical report, National arithmetic for public-key algorithms in galois fields
Institute of Standards and Technology, June 2009. with composite exponents. IEEE Transactions on
[16] Alfred J. Menezes. Elliptic Curve Public Key Computers, 48(10):1025–1034, October 1999.
Cryptosystems. Kluwer Academic Publishers, [22] E. Savas and C. K. Koc. Efficient methods for
Boston/Dordrecht/London, 1993. composite fields arithmetic. Technical report, Oregon
[17] Alfred J. Menezes, Edlyn Teske, and Annegret State University, 1999.
Weng. Weak fields for ecc. Technical report, [23] Gadiel Seroussi. Table of low-weight binary
University of Waterloo - Canada and University of irreducible polynomials. Technical Report HPL-98-
Essen - Germany. 135, Computer Systems Laboratory, Hewlett
[18] Victor S. Miller. Use of elliptic curve Packard, August 1998.
cryptography. Technical report, Exploratory [24] N.P. Smart. How secure are elliptic curves over
Computer Science, IBM Research, P.O. Box 218, composite fields? Technical report, University of
Yorktown Heights, NY 10598. Bristol.
[19] Christof Paar. Efficient VLSI Architectures for