Beruflich Dokumente
Kultur Dokumente
Curve
Cryptography
-8tract:
1he pro[ecL glves an lnLroducLlon Lo elllpLlc curve crypLography
(LCC) and how lL ls used ln Lhe lmplemenLaLlon of dlglLal slgnaLure
(LCuSA) and key agreemenL (LCuP) AlgorlLhms 1he pro[ecL dlscusses Lhe
lmplemenLaLlon of LCC on Lwo flnlLe flelds prlme fleld and blnary fleld lL
also glves an overvlew of LCC lmplemenLaLlon on dlfferenL coordlnaLe
sysLems called Lhe pro[ecLlve coordlnaLe sysLems 1he pro[ecL also dlscusses
Lhe baslcs of prlme and blnary fleld arlLhmeLlc
3troductio3
LlllpLlc Curve CrypLography (LCC) ls a publlc key crypLography ln publlc key
crypLography each user or Lhe devlce Laklng parL ln Lhe communlcaLlon generally have a
palr of keys a publlc key and a prlvaLe key and a seL of operaLlons assoclaLed wlLh Lhe
keys Lo do Lhe crypLographlc operaLlons Cnly Lhe parLlcular user knows Lhe prlvaLe key
whereas Lhe publlc key ls dlsLrlbuLed Lo all users Laklng parL ln Lhe communlcaLlon Some
publlc key algorlLhm may requlre a seL of predeflned consLanLs Lo be known by all Lhe
devlces Laklng parL ln Lhe communlcaLlon 'uomaln parameLers' ln LCC ls an example of
such consLanLs ubllc key crypLography unllke prlvaLe key crypLography does noL
requlre any shared secreL beLween Lhe communlcaLlng parLles buL lL ls much slower Lhan
Lhe prlvaLe key crypLography
1he maLhemaLlcal operaLlons of LCC ls deflned over Lhe elllpLlc curve y x + ax + b
where 4a + 27b 0 Lach value of Lhe 'a' and 'b' glves a dlfferenL elllpLlc curve All
polnLs (x y) whlch saLlsfles Lhe above equaLlon plus a polnL aL lnflnlLy lles on Lhe elllpLlc
curve 1he publlc key ls a polnL ln Lhe curve and Lhe prlvaLe key ls a random number 1he
publlc key ls obLalned by mulLlplylng Lhe prlvaLe key wlLh Lhe generaLor polnL C ln Lhe
curve 1he generaLor polnL C Lhe curve parameLers 'a' and 'b' LogeLher wlLh few more
consLanLs consLlLuLes Lhe domaln parameLer of LCC
Cne maln advanLage of LCC ls lLs small key slze A 160blL key ln LCC ls consldered Lo be
as secured as 1024blL key ln 8SA
i8crete Logarithm Pro-lem
1he securlLy of LCC depends on Lhe dlfflculLy of LlllpLlc Curve ulscreLe LogarlLhm
roblem LeL and C be Lwo polnLs on an elllpLlc curve such LhaL k C where k ls a
scalar Clven and C lL ls compuLaLlonally lnfeaslble Lo obLaln k lf k ls sufflclenLly large
k ls Lhe dlscreLe logarlLhm of C Lo Lhe base
Pence Lhe maln operaLlon lnvolved ln LCC ls polnL mulLlpllcaLlon le mulLlpllcaLlon of a
scalar k wlLh any polnL on Lhe curve Lo obLaln anoLher polnL C on Lhe curve
Poi3t multiplicatio3
ln polnL mulLlpllcaLlon a polnL on Lhe elllpLlc curve ls mulLlplled wlLh a scalar k uslng
elllpLlc curve equaLlon Lo obLaln anoLher polnL C on Lhe same elllpLlc curve
le kC
olnL mulLlpllcaLlon ls achleved by Lwo baslc elllpLlc curve operaLlons
- olnL addlLlon addlng Lwo polnLs ! and k Lo obLaln anoLher polnL L le L ! + k
- olnL doubllng addlng a polnL ! Lo lLself Lo obLaln anoLher polnL L le L 2!
Pere ls a slmple example of polnL mulLlpllcaLlon
LeL be a polnL on an elllpLlc curve LeL k be a scalar LhaL ls mulLlplled wlLh Lhe polnL Lo
obLaln anoLher polnL C on Lhe curve le Lo flnd C k
lf k 23 Lhen k 23 2(2(2(2) + ) + ) +
1hus polnL mulLlpllcaLlon uses polnL addlLlon and polnL doubllng repeaLedly Lo flnd Lhe
resulL 1he above meLhod ls called 'double and add' meLhod for polnL mulLlpllcaLlon 1here
are oLher efflclenL meLhods for polnL mulLlpllcaLlon such as nAl (non Ad[acenL lorm)
and wnAl (wlndowed nAl) meLhod for polnL mulLlpllcaLlon
Poi3t additio3
olnL addlLlon ls Lhe addlLlon of Lwo polnLs ! and k on an elllpLlc curve Lo obLaln anoLher
polnL L on Lhe same elllpLlc curve
GeometricaI expIanation
Conslder Lwo polnLs ! and k on an elllpLlc curve as shown ln flgure (a) lf k ! Lhen a
llne drawn Lhrough Lhe polnLs ! and k wlll lnLersecL Lhe elllpLlc curve aL exacLly one more
polnL L 1he reflecLlon of Lhe polnL L wlLh respecL Lo xaxls glves Lhe polnL L whlch ls
Lhe resulL of addlLlon of polnLs ! and k
1hus on an elllpLlc curve L ! + k
lf k ! Lhe llne Lhrough Lhls polnL lnLersecL aL a polnL aL lnflnlLy C Pence ! + (!) C
1hls ls shown ln flgure (b) C ls Lhe addlLlve ldenLlLy of Lhe elllpLlc curve group
A negaLlve of a polnL ls Lhe reflecLlon of LhaL polnL wlLh respecL Lo xaxls
a|yt|ca| exp|aat|o
Conslder Lwo dlsLlncL polnLs ! and k such LhaL ! (x! y!) and k (xk yk)
LeL L ! + k where L (xL yL) Lhen
xL s x! xk
yL y! + s (x! xL)
s (y! yk)/(x! xk) s ls Lhe slope of Lhe llne Lhrough ! and k
lf k ! le k (x! y!) Lhen ! + k C where C ls Lhe polnL aL lnflnlLy
lf k ! Lhen ! + k 2! Lhen polnL doubllng equaLlons are used
Also ! + k k + !
Poi3t dou-li3g
olnL doubllng ls Lhe addlLlon of a polnL ! on Lhe elllpLlc curve Lo lLself Lo obLaln anoLher
polnL L on Lhe same elllpLlc curve
eometr|ca| exp|aat|o
1o double a polnL ! Lo geL L le Lo flnd L 2! conslder a polnL ! on an elllpLlc curve as
shown ln flgure (a) lf y coordlnaLe of Lhe polnL ! ls noL zero Lhen Lhe LangenL llne aL ! wlll
lnLersecL Lhe elllpLlc curve aL exacLly one more polnL L 1he reflecLlon of Lhe polnL L
wlLh respecL Lo xaxls glves Lhe polnL L whlch ls Lhe resulL of doubllng Lhe polnL !
1hus L 2!
lf y coordlnaLe of Lhe polnL ! ls zero Lhen Lhe LangenL aL Lhls polnL lnLersecLs aL a polnL aL
lnflnlLy C Pence 2! C when y! 0 1hls ls shown ln flgure (b)
a|yt|ca| exp|aat|o
Conslder a polnL ! such LhaL ! (x! y!) where y! 0
LeL L 2! where L (xL yL) 1hen
xL s 2x!
yL y! + s(x! xL)
s (3x + a) / (2y!) s ls Lhe LangenL aL polnL ! and a ls one of Lhe parameLers chosen
wlLh Lhe elllpLlc curve
lf y! 0 Lhen 2! C where C ls Lhe polnL aL lnflnlLy
i3ite ield8
1he elllpLlc curve operaLlons deflned above are on real numbers CperaLlons over Lhe real
numbers are slow and lnaccuraLe due Lo roundoff error CrypLographlc operaLlons need
Lo be fasLer and accuraLe 1o make operaLlons on elllpLlc curve accuraLe and more
efflclenL Lhe curve crypLography ls deflned over Lwo flnlLe flelds
- rlme fleld lp and
- 8lnary fleld lm
1he fleld ls chosen wlLh flnlLely large number of polnLs sulLed for crypLographlc
operaLlons 1he operaLlons are deflned on afflne coordlnaLe sysLem Afflne coordlnaLe sysLem ls Lhe
normal coordlnaLe sysLem LhaL we are famlllar wlLh ln whlch each polnL ln Lhe coordlnaLe
sysLem ls represenLed by Lhe vecLor (x y)
c on Prime fie/d lp
1he equaLlon of Lhe elllpLlc curve on a prlme fleld lp ls y mod p x + ax + b mod p
where 4a + 27b mod p 0 Pere Lhe elemenLs of Lhe flnlLe fleld are lnLegers beLween
0 and p 1 All Lhe operaLlons such as addlLlon subsLaLlon dlvlslon mulLlpllcaLlon
lnvolves lnLegers beLween 0 and p 1 1hls ls modular arlLhmeLlc and ls deflned ln
sesslon 101 1he prlme number p ls chosen such LhaL Lhere ls flnlLely large number of
polnLs on Lhe elllpLlc curve Lo make Lhe crypLosysLem secure SLC speclfles curves wlLh p
ranglng beLween 112321 blLs
1he graph for Lhls elllpLlc curve equaLlon ls noL a smooLh curve Pence Lhe geomeLrlcal
explanaLlon of polnL addlLlon and doubllng as ln real numbers wlll noL work here
Powever Lhe algebralc rules for polnL addlLlon and polnL doubllng can be adapLed for
elllpLlc curves over lp
9o|t dd|t|o
Conslder Lwo dlsLlncL polnLs ! and k such LhaL ! (x! y!) and k (xk yk)
LeL L ! + k where L (xL yL) Lhen
xL s x! xk mod p
yL y! + s (x! xL) mod p
s (y! yk)/(x! xk) mod p s ls Lhe slope of Lhe llne Lhrough ! and k
lf k ! le k (x! y! mod p) Lhen ! + k C where C ls Lhe polnL aL lnflnlLy
lf k ! Lhen ! + k 2! Lhen polnL doubllng equaLlons are used
Also ! + k k + !
9o|t Subtract|o
Conslder Lwo dlsLlncL polnLs ! and k such LhaL ! (x! y!) and k (xk yk)
1hen ! k ! + (k) where k (xk yk mod p)
olnL subLracLlon ls used ln cerLaln lmplemenLaLlon of polnL mulLlpllcaLlon such as nAl
9o|t Doub||
Conslder a polnL ! such LhaL ! (x! y!) where y! 0
LeL L 2! where L (xL yL) 1hen
xL s 2x! mod p
yL y! + s(x! xL) mod p
s (3x[ + a) / (2y!) mod p s ls Lhe LangenL aL polnL ! and a ls one of Lhe parameLers
chosen wlLh Lhe elllpLlc curve
lf y! 0 Lhen 2! C where C ls Lhe polnL aL lnflnlLy
c on 8inory fie/d l
m
2
1he equaLlon of Lhe elllpLlc curve on a blnary fleld l2
m ls y
2
+ xy x
3
+ ax
2
+ b where
b 0 Pere Lhe elemenLs of Lhe flnlLe fleld are lnLegers of lengLh aL mosL m blLs 1hese
numbers can be consldered as a blnary polynomlal of degree m 1 ln blnary polynomlal
Lhe coefflclenLs can only be 0 or 1 All Lhe operaLlon such as addlLlon subsLaLlon dlvlslon
mulLlpllcaLlon lnvolves polynomlals of degree m 1 or lesser
1he m ls chosen such LhaL Lhere ls flnlLely large number of
polnLs on Lhe elllpLlc curve Lo make Lhe crypLosysLem secure SLC speclfles curves wlLh m
ranglng beLween 113371 blLs
1he graph for Lhls equaLlon ls noL a smooLh curve Pence Lhe geomeLrlcal explanaLlon of
polnL addlLlon and doubllng as ln real numbers wlll noL work here Powever Lhe algebralc
rules for polnL addlLlon and polnL doubllng can be adapLed for elllpLlc curves over l
m
2
9o|t dd|t|o
Conslder Lwo dlsLlncL polnLs ! and k such LhaL ! (x! y!) and k (xk yk)
LeL L ! + k where L (xL yL) Lhen
xL s
2
+ s + x! + xk + a
yL s (x! + xL) + xL + y!
s (y! + yk)/(x! + xk) s ls Lhe slope of Lhe llne Lhrough ! and k
lf k ! le k (x! x! + y!) Lhen ! + k C where C ls Lhe polnL aL lnflnlLy
lf k ! Lhen ! + k 2! Lhen polnL doubllng equaLlons are used
Also ! + k k + !
9o|t Subtract|o
Conslder Lwo dlsLlncL polnLs ! and k such LhaL ! (x! y!) and k (xk yk)
1hen ! k ! + (k) where k (xk xk + yk)
olnL subLracLlon ls used ln cerLaln lmplemenLaLlon of polnL mulLlpllcaLlon such as nAl
9o|t Doub||
Conslder a polnL ! such LhaL ! (x! y!) where x! 0
LeL L 2! where L (xL yL) 1hen
xL s
2
+ s + a
yL x!
2
+ (s + 1)*xL
s x! + y!/ x! s ls Lhe LangenL aL polnL ! and a ls one of Lhe parameLers chosen wlLh Lhe
elllpLlc curve
lf x! 0 Lhen 2! C where C ls Lhe polnL aL lnflnlLy
Elliptic Curve omai3 parameter8
AparL from Lhe curve parameLers a and b Lhere are oLher parameLers LhaL musL be
agreed by boLh parLles lnvolved ln secured and LrusLed communlcaLlon uslng LCC 1hese
are domaln parameLers 1he domaln parameLers for prlme flelds and blnary flelds are
descrlbed below 1he generaLlon of domaln parameLers ls ouL of scope of Lhls paper
1here are several sLandard domaln parameLers deflned by SLC
Cenerally Lhe proLocols lmplemenLlng Lhe LCC speclfy Lhe domaln parameLers Lo be used
Doma| parameters for LC over f|e|d Ip
1he domaln parameLers for LlllpLlc curve over lp are p a b C n and h
p ls Lhe prlme number deflned for flnlLe fleld lp a and b are Lhe parameLers deflnlng Lhe
curve y
2
mod p x
3
+ ax + b mod p C ls Lhe generaLor polnL (xC yC) a polnL on Lhe
elllpLlc curve chosen for crypLographlc operaLlons n ls Lhe order of Lhe elllpLlc curve 1he
scalar for polnL mulLlpllcaLlon ls chosen as a number beLween 0 and n 1 h ls Lhe
cofacLor where h #L(lp)/n #L(lp) ls Lhe number of polnLs on an elllpLlc curve
Doma| parameters for LC over f|e|d I
2
m
1he domaln parameLers for elllpLlc curve over I
2
m
are m f(x) a b C n and h
m ls an lnLeger deflned for flnlLe fleld I
2
m
1he elemenLs of Lhe flnlLe fleld I
2
m
are lnLegers of lengLh aL mosL m blLs f(x) ls Lhe lrreduclble
polynomlal of degree m used for elllpLlc curve operaLlons whlch ls dlscussed ln secLlon 102 a and b
are Lhe parameLers deflnlng Lhe curve y
2
+ xy x
3
+ ax
2
+ b C ls Lhe generaLor polnL (xC yC) a polnL
on Lhe elllpLlc curve chosen for crypLographlc operaLlons n ls Lhe order of Lhe elllpLlc curve 1he
scalar for polnL mulLlpllcaLlon ls chosen as a number beLween 0 and n 1 h ls Lhe cofacLor
where h #L (I
2
m
)/n #L(I
2
m
) ls Lhe number of polnLs on an elllpLlc curve
ield rithmetic
LCC uses modular arlLhmeLlc or polynomlal arlLhmeLlc for lLs operaLlons dependlng on Lhe
fleld chosen 1he arlLhmeLlc lnvolves blg numbers ln Lhe range of 100s of blLs 1hls
secLlon glves a brlef overvlew for Lhese Lwo flnlLe fleld operaLlons
,odu|ar r|thmet|c
,odular arlLhmeLlc over a number p lnvolves arlLhmeLlc beLween numbers 0 and p 1 lf
Lhe number happens Lo be ouL of Lhls range ln any of Lhe operaLlon Lhe resulL ls wrapped
around ln Lo Lhe range 0 and p 1
dd|t|o
LeL p 23 a 13 b 20
a + b (mod p) 13 + 20 (mod 23) 33 mod 23 12
Slnce Lhe resulL of a + b 33 whlch ls ouL of Lhe range 0 22 1he resulL ls wrapped
around ln Lo Lhe range 0 22 by subLracLlng 33 wlLh 23 Llll Lhe resulL ls ln range 0 22
a mod b ls Lhus explalned as remalnder of dlvlslon a/b
Subtract|o
LeL p 23 a 13 b 20
a b (mod p) 13 20 (mod 23) 3 mod 23 18
Slnce Lhe resulL of a b 3 whlch ls negaLlve and ouL of Lhe range 0 22 1he resulL ls
wrapped around ln Lo Lhe range 0 22 by addlng 3 wlLh 23 Llll Lhe resulL ls ln range
0 22
,u|t|p||cat|o
LeL p 23 a 13 b 20
a * b (mod p) 13 * 20 (mod 23) 300 mod 23 1
Slnce Lhe resulL of a * b 300 whlch ls ouL of Lhe range 0 22 1he resulL ls wrapped
around ln Lo Lhe range 0 22 by subLracLlng 300 wlLh 23 Llll Lhe resulL ls ln range 0 22
D|v|s|o
1he dlvlslon a/b (mod p) ls deflned as a * b
1
(mod p) 8
1
ls Lhe mulLlpllcaLlve lnverse of
b over p
,u|t|p||cat|ve Iverse
,ulLlpllcaLlve lnverse of number b wlLh respecL Lo mod p ls deflned as a number b
1
such
LhaL b*b
1
(mod p) 1 ,ulLlpllcaLlve lnverse exlsLs only lf b and n are relaLlvely prlme
1he algorlLhm such as exLended Luclldean algorlLhm 7 can be used Lo flnd Lhe
mulLlpllcaLlve lnverse of a number efflclenLly llndlng mulLlpllcaLlve lnverse ls a cosLly
operaLlon
I|d| x mod y
x mod y ls Lhe remalnder of Lhe dlvlslon x/y llndlng x mod y by repeaLedly subLracLlng y
wlLh x Llll Lhe resulL ls ln range 0 y1 ls a cosLly operaLlon ,eLhods such as 8arreLL
8educLlon 7 can be used Lo flnd modulus of a number ln efflclenL manner
!oIynomiaI Arithmetic
LlllpLlc curve over fleld l2
m
lnvolves arlLhmeLlc of lnLeger of lengLh m blLs 1hese numbers
can be consldered as blnary polynomlal of degree m 1 1he blnary sLrlng (am1 a1 a0)
can be expressed as polynomlal a
m
1x
m1
+ a
m2
x
m2
+ + ax + a0 where al 0 or
lor eg a 4 blL number 1101
2
can be represenLed by polynomlal as x
3
+ x
2
+ 1
Slmllar Lo Lhe modulus p on modular arlLhmeLlc Lhere ls an lrreduclble polynomlal of
degree m ln polynomlal arlLhmeLlc lf ln any operaLlon Lhe degree of polynomlal ls greaLer
Lhan or equal Lo m Lhe resulL ls reduced Lo a degree less Lhan m uslng lrreduclble
polynomlal also called as reducLlon polynomlal
ln blnary polynomlal Lhe coefflclenLs of Lhe polynomlal can be elLher 0 or 1 lf ln any
operaLlon Lhe coefflclenL becomes greaLer Lhan 1 lL can be reduced Lo 0 or 1 by modulo 2
operaLlon on Lhe coefflclenL
All Lhe operaLlons below are deflned ln fleld l2
4 are on lrreduclble polynomlal f(x) x
4
+ x
+ 1 Slnce m 4 Lhe operaLlon lnvolves polynomlal of degree 3 or lesser
EC Cryptography