bbcao

27

Upload: thuongnguyen

Post on 16-Jan-2016

4 views

Category:

Documents


0 download

DESCRIPTION

bao cao ecdsa (s.t)

TRANSCRIPT

Page 1: bbcao

��I HÅC QUÈC GIA TP. HCMTR×ÍNG ��I HÅC KHOA HÅC TÜ NHI�N

KHOA TO�N - TIN HÅC

C�C GIAO THÙC M�T M�DÒNG �×ÍNG CONG ELLIPTIC

SERMINAR TIN HÅC

GI�O VI�N H×ÎNG D�N:

Th.s NGUY�N TH�NH NHÜT

SINH VI�N THÜC HI�N:

TR�N THÀ Mß HUÝNH 0711104

N«m håc 2010 - 2011

Page 2: bbcao

Líi giîi thi»uMªt m¢ l  ng nh khoa håc nghi¶n cùu c¡c kÿ thuªt to¡n håc nh¬m cung c§p c¡c dàch

vö b£o v» thæng tin. Nâ câ nhi·u ùng döng trong �íi sèng v  x¢ hëi nh÷ trong l¾nh

vüc qu¥n sü, ch½nh trà ngo¤i giao, . . . cho �¸n c¡c l¾nh vüc th÷ìng m¤i �i»n tû, ng¥n

h ng, . . .

Còng vîi sü ph¡t triºn nhanh châng cõa Internet, c¡c nghi¶n cùu v  ùng döng cõa mªt

m¢ håc ng y c ng trð n¶n �a d¤ng v  phong phó hìn. Nâ khæng ch¿ �ìn thu¦n l  m¢

hâa v  gi£i m¢ thæng tin m  nâ cán bao gçm nhi·u v§n �· kh¡c nhau c¦n �÷ñc nghi¶n

cùu v  gi£i quy¸t v½ dö nh÷ chùng thüc nguçn gèc v«n b£n (chú kþ �i»n tû), chùng

nhªn t½nh x¡c thüc v· ng÷íi sð húu m¢ khâa (chùng nhªn khâa cæng khai), c¡c quy

tr¼nh trao �êi thæng tin v  thüc hi»n giao dàch �i»n tû an to n tr¶n m¤ng . . .

Trong thíi buêi sì khai, h» mªt m¢ dòng khâa b½ mªt �÷ñc sû döng phê bi¸n. Ng y

nay, h» m¢ hâa khâa cæng khai �÷ñc dòng �º thay th¸ h» m¢ khâa b½ mªt. Nâ kh­c

phöc �÷ñc nhúng nh÷ñc �iºm cõa h» m¢ khâa b½ mªt. Trong �â, h» mªt m¢ düa tr¶n

�÷íng cong Elliptic câ mùc �ë an to n v  tèc �ë xû lþ cao. H» mªt m¢ n y thüc hi»n

m¢ hâa v  gi£i m¢ düa tr¶n tåa �ë cõa c¡c �iºm tr¶n �÷íng cong Elliptic. Mùc �ë

b£o mªt cõa h» mªt m¢ n y düa v o mùc �ë khâ gi£i cõa b i to¡n logarit ríi r¤c tr¶n

�÷íng cong Elliptic. Thuªt to¡n chú kþ �i»n tû düa tr¶n �÷íng cong Elliptic v  m¢

hâa k¸t hñp vîi �÷íng cong Elliptic l  nhúng ùng döng cö thº cõa �÷íng cong Elliptic

v o l¾nh vüc mªt m¢.

Nhúng k¸t qu£ nghi¶n cùu v· mªt m¢ công �¢ �÷ñc �÷a v o c¡c h» thæng phùc t¤p

hìn, k¸t hñp vîi c¡c kÿ thuªt kh¡c �· �¡p ùng y¶u c¦u �a d¤ng cõa c¡c h» thèng ùng

döng kh¡c nhau trong thüc t¸, v½ dö h» thèng bä phi¸u b¦u cû qua m¤ng, h» thèng

� o t¤o tø xa, h» thèng qu£n lþ anh ninh cõa c¡c �ìn và vîi h÷îng ti¸p cªn sinh tr­c

håc, h» thèng cung c§p dàch vö �a ph÷ìng ti»n tr¶n m¤ng vîi y¶u c¦u cung c§p dàch

vö v  b£o v» b£n quy·n sð húu tr½ tu» �èi vîi thæng tin sè, . . .

3

Page 3: bbcao

Möc löc

1 C¡c ki¸n thùc li¶n quan 5

1.1. Tr÷íng húu h¤n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

1.2. �÷íng cong Elliptic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2 C¡c giao thùc mªt m¢ dòng �÷íng cong Elliptic 14

2.1. Thuªt to¡n chú kþ �i»n tû düa tr¶n �÷íng cong Elliptic . . . . . . . . . 14

2.2. M¢ hâa k¸t hñp vîi �÷íng cong Elliptic . . . . . . . . . . . . . . . . . . 16

3 C i �°t 19

3.1. Mët sè ph²p to¡n cì b£n cõa PARI/GP . . . . . . . . . . . . . . . . . 19

3.2. C i �°t c¡c giao thùc . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

3.3. K¸t qu£ thüc nghi»m . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

4 K¸t luªn 27

T i li»u tham kh£o 28

4

Page 4: bbcao

Ch֓ng 1

C¡c ki¸n thùc li¶n quan

1.1. Tr÷íng húu h¤n

�ành ngh¾a 1.1. Cho K l  tr÷íng vîi ph¦n tû �ìn và l  e. Khi �â, n¸u tçn t¤i sè

nguy¶n d÷ìng nhä nh§t p sao cho p ∗ e = 0 th¼ p �÷ñc gåi l  �°c sè cõa K. Ng÷ñc l¤i,

ta nâi K câ �°c sè l  O. K½ hi»u, Char (K).

Char (R) = Char (Q) =Char(C) = 0.

N¸u Char(K) = p 6= 0 th¼ p ph£i l  sè nguy¶n tè.

�ành ngh¾a 1.2. P �÷ñc gåi l  tr÷íng con nguy¶n tè cõa K n¸u nâ l  tr÷íng con

b² nh§t chùa trong måi tr÷íng con kh¡c cõa K. Khi K = P th¼ K �÷ñc gåi l  tr÷íng

nguy¶n tè.

�ành ngh¾a 1.3. K �÷ñc gåi l  tr÷íng húu h¤n n¸u nâ câ húu h¤n ph¦n tû. N¸u K

l  tr÷íng húu h¤n th¼ tr÷íng con nguy¶n tè cõa nâ �¯ng c§u vîi Zp.

M»nh �· 1.1. Sè ph¦n tû trong tr÷íng húu h¤n l  lôy thøa pr, vîi p = Char(K) .

M»nh �· 1.2. Vîi méi sè nguy¶n tè p v  vîi méi sè tü nhi¶n r > 1 �·u tçn t¤i tr÷íng

húu h¤n c§p pr.

M»nh �· 1.3. Trong tr÷íng húu h¤n K nhâm nh¥n c¡c ph¦n tû kh¡c 0 l  nhâm xyclic.

1.2. �÷íng cong Elliptic

�ành ngh¾a 1.4. �÷íng cong Elliptic tr¶n tr÷íng K l  tªp hñp t§t c£ c¡c �iºm thäa

m¢n ph÷ìng tr¼nh

5

Page 5: bbcao

y2 + a1xy + a3y = x3 + a2x2 + a4x+ a6 (1.1)

vîi mët �iºm 0 �÷ñc gåi l  �iºm t¤i væ còng. Trong �â, a1, a2, a3, a4, a6 ∈ K,∆ 6= 0

�÷ñc gåi l  bi»t thùc cõa �÷íng cong vîi

∆ = −b22b8 − 8b24 − 27b26 + 9b2b4b6,

b2 = a21 + 4a2,

b4 = 2a4 + a1a2,

b6 = a23 + 4a2,

b8 = a21a6 + 4a2a6 − a1a3a4 + a2a23 − a24.

Bi»t thùc ∆ 6= 0 t÷ìng �÷ìng vîi �i·u ki»n �÷íng cong khæng k¼ dà. Nâ công t÷ìng

�÷ìng vîi �i·u ki»n, n¸u x²t tªp hñp t§t c£ c¡c �iºm tr¶n �÷íng cong th¼ �÷íng cong

�â khæng câ �iºm bëi. Do �â, n¸u ta biºu di¹n y2 nh÷ mët �a thùc bªc 3 cõa x th¼ �a

thùc �â khæng câ nghi»m bëi.

�iºm t¤i væ còng nâi trong �ành ngh¾a l  �iºm t¤i væ còng trong �÷íng cong x¤ £nh

t÷ìng ùng:

y2z + a1xyz + a3yz2 = x3 + a2x

2z + a4xz2 + a6z

3.

Tùc l , khi ta x²t khæng gian x¤ £nh P 2 l  khæng gian m  t§t c£ c¡c �iºm l  c¡c lîp

t÷ìng �÷ìng cõa bë ba (x, y, z), trong �â x, y, z khæng �çng thíi b¬ng 0. Ta �ành

ngh¾a lîp t÷ìng �÷ìng nh÷ sau:

(x1, y1, z1) ∼ (x2, y2, z2)⇔ ∃λ 6= 0 : (x1, y1, z1) = (λx2, λy2, λz2)

N¸u z 6= 0 th¼ lîp t÷ìng d÷ìng cõa bë ba (x, y, z) chùa bë ba (xz, yz, 1). N¸u z = 0 th¼

ta �÷ñc

0 = x3

Do x, y, z khæng �çng thíi b¬ng 0 n¶n ta �÷ñc y 6= 0. Khi �â, (0, y, 0) = (0, 1, 0) l 

mët �iºm t¤i væ còng nâi trong �ành ngh¾a.

N¸u ∆ > 0 th¼ �ç thà cõa �÷íng cong khæng k¼ dà câ hai th nh ph¦n v  câ mët th nh

ph¦n n¸u ∆ < 0.

6

Page 6: bbcao

V½ dö 1.1. a. y2 = x3 − x, vîi ∆ = 64 > 0

H¼nh 1.1: y2 = x3 − x

b. y2 = x3 + 14x+ 5

4, vîi ∆ = −676 < 0

7

Page 7: bbcao

H¼nh 1.2: y2 = x3 + 14x+ 5

4

l  c¡c �÷íng cong tr¶n tr÷íng sè thüc.

Ph÷ìng tr¼nh (1.1) l  khæng duy nh§t trong nhi·u tr÷íng K ta câ thº t¼m �÷ñc "d¤ng

tèi tiºu" cõa ph÷ìng tr¼nh biºu di¹n �÷íng cong.

? "D¤ng tèi tiºu":

• N¸u Char(K) 6= 2, 3, ta câ ph²p bi¸n �êi

(x, y) 7→(x− 3a21 − 12a2

36,y − 3a1

216− a31 + 4a1a2 − 12a3

24

)th¼ ta �÷ñc �÷íng cong

y2 = x3 + ax+ b

vîi a, b ∈ K,∆ = −16(4a3 + 27b2)

• N¸u Char(K) = 2 th¼ ta câ 2 tr÷íng hñp sau:

- Tr÷íng hñp a1 6= 0, ta câ ph²p �êi bi¸n

(x, y) 7→(a21 +

a3a1, a31y +

a21a4 + a23a31

)th¼ ta �÷ñc �÷íng cong

y2 + xy = x3 + ax2 + b

vîi a, b, c ∈ K,∆ = b

8

Page 8: bbcao

- Tr÷íng hñp a1 = 0, ta câ ph²p �êi bi¸n

(x, y) 7→ (x+ a2, y)

th¼ ta �÷ñc �÷íng cong

y2 + cy = x3 + ax+ b

vîi a, b, c ∈ K,∆ = c4

• N¸u Char(K) = 3 th¼ ta công câ 2 tr÷íng hñp:

- Tr÷íng hñp a21 6= −a2, ta câ ph²p �êi bi¸n

(x, y) 7→(x+

d4d2, y + a1x+ a1

d4d2

)vîi d2 = a21 + a2, d4 = a4 − a1a3, th¼ ta �÷ñc �÷íng cong

y2 = x3 + ax2 + b

vîi a, b ∈ K, ∆ = −a3b.

- Tr÷íng hñp a21 = −a2 , ta câ ph²p �êi bi¸n

(x, y) 7→ (x, y + a1x+ a3)

th¼ ta �÷ñc �÷íng cong

y2 + cy = x3 + ax+ b

vîi a, b, c ∈ K,∆ = −a3.

1.2.1. Qui luªt nhâm cõa �÷íng cong Elliptic tr¶n tr÷íng câ

Char(K) 6= 2, 3

• Ph¦n tû 0 l  �iºm t¤i væ còng (0, 1, 0).

• Nghàch �£o cõa �iºm câ tåa �ë (x1, y1) l  (x1,−y1 − a1x1 − a3).

• N¸u P = (x1, y1) v  Q = (x2, y2) khæng l  nghàch �£o cõa nhau th¼ P + Q =

(x3, y3), v  x3, y3 �÷ñc x¡c �ành nh÷ sau:

x3 = −x1 − x2 − a2 +m(m+ a1),

y3 = −y1 − a3 − a1x3 +m(x1 − x3)Trong �â:

9

Page 9: bbcao

m =y1 − y2x1 − x2 , n¸u P 6= Q,

m =3x21 + 2a2x1 + a4 − a1y1

2y1 + a1x1 + a3, n¸u P = Q,

* Mæ t£ ph²p to¡n tr¶n v· m°t h¼nh håc:

Quy t­c chung: têng 3 �iºm P , Q, R th¯ng h ng tr¶n �÷íng cong l  b¬ng �iºm

t¤i væ còng, �i·u n y câ ngh¾a l  P +Q+R = ∅. �iºm t¤i væ còng trong tr÷íng

hñp n y l  �iºm 0 cõa ph²p cëng.

N¸u P v  Q l¦n l÷ñt l  2 �iºm ph¥n bi»t tr¶n �÷íng cong th¼ �÷íng th¯ng �i

qua P v  Q s³ c­t �÷íng cong t¤i �iºm thù ba. �iºm �èi xùng vîi �iºm n y qua

tröc �èi xùng cõa �÷íng cong ch½nh l  �iºm P +Q.

N¸u P v  Q l  2 �iºm �èi xùng qua tröc �èi xùng th¼ �÷íng th¯ng �i qua P v  Q

s³ c­t �÷íng cong t¤i �iºm væ còng, �â l  �iºm 0 cõa nhâm cëng c¡c �iºm tr¶n

�÷íng cong. Khi �â, P v  Q l  c¡c �iºm nghàch �£o cõa nhau.

N¸u P = Q th¼ �÷íng th¯ng �i qua P s³ ti¸p xóc vîi �÷íng cong v  c­t �÷íng

cong t¤i mët �iºm kh¡c, �iºm �èi xùng vîi �iºm �â qua tröc �èi xùng �÷ñc gåi

l  �iºm bëi 2 cõa �÷íng cong.

�º minh håa mæ t£ tr¶n, ta x²t v½ dö sau vîi tröc �èi xùng cö thº trong tr÷íng

hñp n y l  tröc Ox �÷ñc cho nh÷ trong h¼nh v³ sau:

H¼nh 1.3: Ph²p cëng tr¶n �÷íng cong

10

Page 10: bbcao

1.2.2. �÷íng cong Elliptic tr¶n tr÷íng sè thüc

�ành ngh¾a 1.5. �÷íng cong Elliptic tr¶n tr÷íng sè thüc l  �÷íng cong cho bði ph÷ìng

tr¼nh

y2 = x3 + a4x+ a6

gåi l  d¤ng Weierstrass cõa �÷íng cong. Bi»t thùc ∆ trong tr÷íng hñp n y l 

∆ = −16(4a34 + 27a26)

�i·u ki»n �º �÷íng cong khæng k¼ dà (hay khæng câ �iºm bëi) l :

4a34 + 27a26 6= 0

�ành ngh¾a 1.6. �iºm P �÷ñc gåi l  �iºm câ bªc húu h¤n n¸u tçn t¤i sè nguy¶n

d÷ìng N sao cho NP = 0, NP �º ch¿ ph¦n tû nhªn �÷ñc b¬ng c¡ch cëng li¶n ti¸p N

l¦n �iºm P. Sè N nhä nh§t thäa m¢n �i·u ki»n �â gåi l  bªc cõa P.

1.2.3. �÷íng cong Elliptic tr¶n tr÷íng sè húu t�

�ành ngh¾a 1.7. �÷íng cong tr¶n tr÷íng sè húu t� l  �÷íng cong cho bði ph÷ìng

tr¼nh

y2z + a1xyz + a3yz2 = x3 + a2x

2z + a4xz2 + a6z

3.

vîi a1, a2, a3, a4, a6 ∈ Q, tåa �ë c¡c �iºm thuëc �÷íng cong l  c¡c sè húu t�.

Ta kþ hi»u E(Q) l  tªp hñp t§t c£ c¡c �iºm câ tåa �ë húu t� v  tªp hñp n y câ c§u

tróc nhâm Aben nh÷ �ành ngh¾a ð 2.2. C¡c �iºm câ bªc húu h¤n cõa nhâm Aben E(Q)

lªp th nh nhâm con E(Q)tors, gåi l  nhâm con xo­n cõa E(Q). Khi �â, E(Q) l  têng

trüc ti¸p cõa E(Q)tors vîi nhâm con câ bªc væ h¤n.

�ành lþ 1.1 (Mordell). Gi£ sû E l  mët �÷íng cong Elliptic tr¶n Q. Khi �â, tªp hñp

t¡t c£ c¡c �iºm cõa E vîi tåa �ë húu t� E(Q) l  mët nhâm Aben húu h¤n sinh. Nâi

c¡ch kh¡c, ta câ

E(Q) = E(Q)tors⊕

Zr

trong �â r l  mët sè nguy¶n khæng ¥m.

Tø �ành lþ ta th§y nhâm con c¡c �iºm câ bªc væ h¤n ch¿ câ húu h¤n ph¦n tû sinh, nâ

�¯ng c§u vîi Zr. Sè r �÷ñc gåi l  h¤ng cõa �÷íng cong, v  l  mët �°c tr÷ng h¸t sùc

11

Page 11: bbcao

quan trång chùa nhi·u thæng tin sè håc v· �÷íng cong.

Nhâm con xo­n c¡c �iºm bªc húu h¤n cõa �÷íng cong câ thº �÷ñc t½nh khæng m§y

khâ kh«n nh÷ng vi»c t¼m r th¼ l¤i h¸t sùc khâ kh«n. Ngay c£ tr÷íng hñp ta bi¸t �÷ñc

�÷íng cong cö thº th¼ vi»c ch¿ ra r = 0 hay r 6= 0 công l  mët �i·u h¸t sùc khâ kh«n.

Trong tr÷íng hñp n y, n¸u r = 0 th¼ �÷íng cong câ húu h¤n �iºm húu t�. Cán tr÷íng

hñp r 6= 0 th¼ �÷íng cong câ væ h¤n �iºm húu t�. �i·u �â công t÷ìng �÷ìng vîi vi»c

gi£i ph÷ìng tr¼nh �¢ cho câ húu h¤n hay væ h¤n nghi»m húu t�. �¥y công l  mët b i

to¡n khâ cõa sè håc. Vi»c ch¿ ra t§t c£ c¡c kh£ n«ng cõa nhâm con xo­n l¤i l  b i to¡n

khâ v  mîi �÷ñc gi£i quy¸t n«m 1977 bði �ành lþ sau:

�ành lþ 1.2 (Mazur). Gi£ sû E l  �÷íng cong Elliptic tr¶n tr÷íng Q. Khi �â, nhâm

con xo­n cõa E(Q) �¯ng c§u vîi mët trong 15 nhâm sau �¥y:

Z/mZ, trong �â 1 ≤ m ≤ 10, ho°c m = 12

Z/2Z × Z/2nZ vîi 1 ≤ n ≤ 4.

Nh÷ vªy, nhâm con xo­n cõa �÷íng cong Elliptic s³ câ khæng qu¡ 16 ph¦n tû.

1.2.4. �÷íng cong Elliptic tr¶n tr÷íng húu h¤n

Câ hai tr÷íng húu h¤n th÷íng �÷ñc sû döng l : tr÷íng Fq vîi q l  sè nguy¶n tè v 

tr÷íng F2m vîi m l  sè nguy¶n.Tòy thuëc v o tr÷íng húu h¤n �÷ñc sû döng m  ta câ

nhi·u �÷íng cong Elliptic t÷ìng ùng. Trong b i n y, ta ch¿ x²t tr÷íng húu h¤n Fq vîi

q l  sè nguy¶n tè.

�ành ngh¾a 1.8. Cho q > 3 l  sè nguy¶n tè. �÷íng cong Elliptic y2 = x3 + a4x+ a6

tr¶n Fq l  tªp hñp c¡c c°p gi¡ trà (x, y) ∈ Fq × Fq thäa ph÷ìng tr¼nh �çng d÷

y2 ≡ x3 + a4x+ a6(modq),

vîi a4, a6 ∈ Fq l  h¬ng sè sao cho 4a34 + 27a26 6= 0(modq), còng vîi mët �iºm 0 gåi l 

�iºm t¤i væ còng.

Sè �iºm cõa �÷íng cong

#E(Fq) = 1 +

[x3 + a4x+ a6q

]N¸u q khæng ph£i l  sè nguy¶n tè th¼ kþ hi»u [.] l  kþ hi»u Legendre. Cán n¸u p l  sè

nguy¶n tè th¼ kþ hi»u [.] l  kþ hi»u Jacobi.

12

Page 12: bbcao

�ành lþ 1.3. Gi£ sû N l  sè �iºm cõa �÷íng cong Elliptic x¡c �ành tr¶n tr÷íng Fq.

Khi �â, ta câ

|N − (q + 1)| 6 2√q

13

Page 13: bbcao

Ch֓ng 2

C¡c giao thùc mªt m¢ dòng �÷íng

cong Elliptic

B i to¡n 1 (B i to¡n logarit ríi r¤c tr¶n �÷íng cong Elliptic - ECDLP). Cho E l 

mët �÷íng cong Elliptic v  P ∈ E l  mët �iºm câ bªc n. Cho Q ∈ E, t¼m sè nguy¶n

d÷ìng x (2 ≤ x ≤ n− 2) thäa Q = xP .

Hi»n nay v¨n ch÷a câ thuªt to¡n n o �÷ñc xem l  câ hi»u qu£ �º gi£i quy¸t b i to¡n

n y. �º gi£i b i to¡n logarit ríi r¤c tr¶n �÷íng cong Elliptic, ta c¦n ph£i kiºm tra t§t

c£ c¡c gi¡ trà x ∈ {2, . . . , n − 2}. Vi»c lüa chån P v  sè n r§t lîn th¼ �º gi£i b i to¡n

ECDLP �÷ñc xem nh÷ l  khæng kh£ thi. Vi»c gi£i b i to¡n ECDLP l  khâ kh«n hìn

nhi·u so vîi vi»c gi£i b i to¡n logarit tr¶n tr÷íng sè nguy¶n thæng th÷íng.

C¡c lþ thuy¸t to¡n håc n·n t£ng cõa �÷íng cong Elliptic �÷ñc c¡c nh  khoa håc ¡p

döng kh¡ hi»u qu£ v o l¾nh vüc mªt m¢ (Elliptic Curve Cryptography - ECC).

Trong ch÷ìng n y, chóng ta ch¿ x²t �¸n 2 giao thùc dòng d÷íng cong Elliptic nh÷ l :

chú kþ �i»n tû v  m¢ hâa.

2.1. Thuªt to¡n chú kþ �i»n tû düa tr¶n �÷íng cong

Elliptic

Chú kþ �i»n tû �÷ñc sû döng khæng nh¬m möc �½ch b£o mªt thæng tin m  nh¬m möc

�½ch b£o v» thæng tin ng«n khæng cho ng÷íi kh¡c cè t¼nh thay �êi �º t¤o ra thæng tin

sai l»ch. Nâi c¡ch kh¡c, chú kþ �i»n tû gióp chóng ta x¡c �ành �÷ìc ng÷íi �¢ t¤o ra

hay chàu tr¡ch nhi»m �èi vîi mët thæng �i»p.

Mët ph÷ìng ph¡p chú kþ �i»n tû bao gçm hai th nh ph¦n ch½nh: thuªt to¡n dòng �º

t¤o ra chú kþ �i»n tû v  thuªt to¡n t÷ìng ùng �º x¡c nhªn chú kþ �i»n tû.

14

Page 14: bbcao

�ành ngh¾a 2.9. Mët ph÷ìng ph¡p chú kþ �i»n tû �÷ñc �ành ngh¾a l  mët bë n«m (P,

A, K, S, V) thäa c¡c �i·u ki»n sau:

1. P l  tªp hñp húu h¤n c¡c thæng �i»p.

2. A l  tªp hñp húu h¤n c¡c chú kþ câ thº �÷ñc sû döng.

3. Khæng gian khâa K l  tªp hñp húu h¤n c¡c khâa câ thº sû döng.

4. Vîi méi khâa k ∈ K, tçn t¤i thuªt to¡n kþ sigk ∈ S v  thuªt to¡n x¡c nhªn chú kþ

t÷ìng ùng verk ∈ V . Méi thuªt to¡n sigk : P → A v  verk : P ×A→ true, false

l  c¡c h m thäa �i·u ki»n:

∀x ∈ P, ∀y ∈ A : ver(x, y) =

{true n¸u y = sig(x)

false n¸u y 6= sig(x)

Thuªt to¡n chú kþ �i»n tû tr¶n �÷íng cong Elliptic (ECDSA) l  mët bi¸n thº cõa

thuªt to¡n chú kþ �i»n tû.

Thuªt to¡n chú kþ �i»n tû düa tr¶n �÷íng cong Elliptic:

Cho p l  sè nguy¶n tè lîn, E l  mët �÷íng cong Elliptic �ành ngh¾a tr¶n tr÷íng Fp, v 

G l  mët �iºm thuëc E câ bªc q l  sè nguy¶n tè sao cho b i to¡n ECDLP trong nhâm

sinh bði < G > l  khâ. Cho P = {0, 1}∗, A = Zp × Zp, v  �ành ngh¾a

K = {(p, q, E,G, x,Q) : Q = xG}

vîi 0 ≤ x ≤ q − 1. C¡c gi¡ trà p, q, E,G,Q l  c¡c khâa cæng khai v  x l  khâa mªt. H

l  h m b«m.

Thuªt to¡n 2.1. Thi¸t lªp chú kþ

� Input: V«n b£n m v  khâa mªt x.

� Output: Chú kþ (r, s) trong v«n b£n m.

1. Chån k ng¨u nhi¶n thuëc 1, 2, . . . , q − 1.

2. T ← [k]G, r ← xT mod q.

3. N¸u r = 0 th¼ quay l¤i b÷îc 1.

4. e← H(m), s← k−1(e+ xr)(modq).

5. N¸u s = 0 th¼ quay l¤i b÷îc 1.

6. Output (r, s).

15

Page 15: bbcao

Thuªt to¡n 2.2. Kiºm tra chú kþ

� Input: V«n b£n m v  khâa cæng khai Y v  chú kþ (r, s).

� Output: " lo¤i bä" ho°c " ch§p nhªn" chú kþ.

1. N¸u r, s /∈ 1, 2, . . . , q − 1 th¼ lo¤i bä chú kþ.

2. e← H(m).

3. u1 ← e/s(modq), u2 ← r/s(modq).

4. T ← [u1]G+ [u2]Q.

5. N¸u r = xT th¼ "ch§p nhªn" chú kþ.

Nhªn x²t 2.1. - Vi»c chú kþ câ dung l÷ñng nhä s³ l m cho kho dú li»u nhä �i

g¦n mët núa.

- C¡c b£n quy·n v«n b£n câ thº ch¿ c¦n l÷u chú kþ m  khæng l÷u to n bë v«n b£n,

nh÷ng v¨n kh¯ng �ành �÷ñc to n bë v«n b£n �â cõa ai.

- Ch¿ quan t¥m �¸n t½nh to n vµn dú li»u cõa v«n b£n m  khæng quan t¥m �¸n

t½nh b£o mªt cõa v«n b£n.

2.2. M¢ hâa k¸t hñp vîi �÷íng cong Elliptic

Elliptic Curve Integrated Encryption Scheme - ECIES

L  thuªt to¡n m¢ hâa khâa cæng khai.

ECIES sû döng �÷íng cong Elliptic Diffie - Hellman trao �êi khâa �º sinh ra ng¨u

nhi¶n mët khâa �èi xùng, nâ �÷ñc dòng �º m¢ hâa v  MAC mët v«n b£n.

L  mët bi¸n thº cõa m¢ hâa khâa cæng khai ElGamal.

Trong ph¦n n y, ta ch¿ x²t ECIES trong tr÷íng hñp �ìn gi£n nh÷ sau:

Cho E l  �÷íng cong �ành ngh¾a tr¶n tr÷íng Zp (p > 3 l  sè nguy¶n tè) sao cho E

chùa mët nhâm con cycle H =< G > câ bªc q nguy¶n tè sao cho b i to¡n ECDLP l 

khâ.

Cho P = Z∗p , C = (Zp × Z2)× Z∗

p , v  �ành ngh¾a

K = {(E,G, x, Y, q) : Y = xG}

C¡c gi¡ trà G, Y v  q l  c¡c khâa cæng khai v  x ∈ Z∗q l  khâa mªt.

Thuªt to¡n 2.3. M¢ hâa

16

Page 16: bbcao

� Input: V«n b£n m v  khâa cæng khai q.

� Output: V«n b£n m¢ hâa y = (y1, y2)

1. Chån k ng¨u nhi¶n thuëc 1, 2, . . . , q − 1.

2. U ← [k]G, T ← [k]Y .

3. y1 ← POINT − COMPRESS(U).

4. y2 ← m× xT mod q.

5. Output y = (y1, y2).

Thuªt to¡n 2.4. Gi£i m¢

� Input: V«n b£n m¢ y = (y1, y2) v  khâa mªt x.

� Output: V«n b£n m ho°c væ hi»u v«n b£n m¢.

1. T ← x ∗ POINT −DECOMPRESS(y1).

2. m← y2 ∗ (xT )−1 mod q.

3. Xu§t v«n b£n m.

Trong �â,

* POINT − COMPRESS : E \ {O} → Zp × Z2

P = (x, y) 7→ (x, y mod 2)

* POINT - DECOMPRESS

Thuªt to¡n 2.5. POINT - DECOMPRESS

z ← x3 + ax+ b mod p.

if z is a quadratic non � residue modulo p

then return (�failure�)

else

y ←√z mod p

ify ≡ i mod 2

then return (x, y)

else return (x, p− y).

*√z câ thº �÷ñc t½nh nh÷ l  z(p+1)/2 mod p n¸u p ≡ 3(mod4) v  z l  th°ng d÷

b¼nh ph÷ìng modp (ho°c z = 0).

17

Page 17: bbcao

Nhªn x²t 2.2. - ECIES khæng t÷ìng ùng v«n b£n vîi mët �iºm tr¶n �÷íng cong

Elliptic nh÷ ElGamal.

- V¼ sû döng ph÷ìng ph¡p �èi xùng câ khâa �º gûi v«n b£n n¶n ECIES khæng ph£i

t½nh to¡n mîi tr¶n EC cho méi khèi v«n b£n.

18

Page 18: bbcao

Ch֓ng 3

C i �°t

3.1. Mët sè ph²p to¡n cì b£n cõa PARI/GP

PARI/GP l  ph¦n m·m mi¹n ph½ �÷ñc hé trñ bði GNU.

C¡c ph²p cì b£n l  +,−, ∗, / cõa PARI/GP công gièng nh÷ c¡c ngæn ngú kh¡c nh÷ng

ph²p / khæng cho ra k¸t qu£ l  mët sè thüc m  l  mët ph¥n sè.

C¡c l»nh cì b£n nh÷ sau:

• Cëng, trø, nh¥n: a+ b, a− b, a ∗ b

• Ph¦n nguy¶n cõa a khi chia cho b: a \ b

• Ph¦n d÷ cõa a khi chia cho b: a%b

• Lôy thøa: a ∧ b

• Ph²p to¡n so s¡nh: a = b, a < b, a > b, a ≤ b, a ≥ b, a ! = b, a == b

• Ph²p to¡n tr¶n b½t ( 'and', 'or', 'not'): a&&b, a | |b, !a

• Chuyºn �êi a th nh mët ph¦n tû cõa Zp: Mod(a, n)

• Chuyºn mët ph¦n tû x cõa Zp th nh mët sè nguy¶n: lift(x)

• Chuyºn a th nh sè nhà ph¥n: binary(a)

• Chån sè nguy¶n ng¨u nhi¶n giúa 0 v  n-1: random(n)

• ×îc chung lîn nh§t giúa a v  b: gcd(a, b), bezout(a, b)

• Phi h m Euler: eulerphi(n)

19

Page 19: bbcao

• Kþ hi»u Legendre: kronecker(a, b)

• �ành ngh¾a �÷íng cong Elliptic E: E = ellinit([a1, a2, a3, a4, a6])

• Cëng hai �iºm P v  Q tr¶n E: elladd(E,P,Q)

• Trø hai �iºm P v  Q tr¶n E: ellsub(E,P,Q)

• Cëng k �iºm P tr¶n E: ellpow(E,P, k)

• Kiºm tra mët �iºm thuëc E: ellisoncurve(E,P )

• Help: ?t¶n h m, hay ?sè t÷ìng ùng

C¡c sè t÷ìng ùng câ thº l :

0 : Ng÷íi dòng �ành ngh¾a (bi¸n, k½ hi»u, h m).

1 : C¡c ph²p to¡n 'monadic' ho°c 'dyadic'.

2 : Chuyºn �êi.

3 : C¡c h m têng qu¡t.

4 : C¡c h m trong lþ thuy¸t sè.

5 : C¡c h m li¶n quan �¸n �÷íng cong Elliptic.

6 : C¡c h m li¶n quan �¸n lþ thuy¸t tr÷íng.

7 : �a thùc v  chuéi lôy thøa.

8 : Vecto, ma trªn, �¤i sè tuy¸n t½nh v  tªp hñp.

9 : Têng, t½ch, t½ch ph¥n.

10 : C¡c h m v³ �ç thà.

11 : Ch÷ìng tr¼nh d÷îi d¤ng GP.

12 : 'The PARI community'.

20

Page 20: bbcao

3.2. C i �°t c¡c giao thùc

3.2.1. Thuªt to¡n chú kþ �i»n tû düa tr¶n �÷íng cong Elliptic

V½ dö 3.2. Cho p = 114973, E: y2 = x3 − 3x + 69424, G = (11570, 42257) câ bªc

q = 114467. Chån x = 86109, th¼ Q = xG = (6345, 28549). V«n b£n m = ıworldof câ

gi¡ trà H(m) = 1789679805.

> e = ellinit([0, 0, 0,Mod(−3, 114973),Mod(69424, 114973)])

> G = [11570, 42257]

> q = ellorder(e,G)

> Q = ellpow(e,G, 86109)

* Thi¸t lªp chú kþ

1. Chån k = 84430 sao cho 1 ≤ k < 114467 v  t½nh > k = 84430

> T = ellpow(e,G, k)

> r = Mod(T [1], q)

2. T½nh

> k1 = Mod(k, q) ∧ (−1)

> x = 86109

> h = Mod(1789679805, q)

> s = Mod(k1 ∗ (h+ x ∗ r), q)⇒ (r, s) = (31167, 4727)

* Kiºm tra chú kþ

1. (r, s) = (31167, 4727) ∈ {1, . . . , q − 1}.

2. T½nh > s1 = Mod(s, q) ∧ (−1)

> u1 = Mod(h ∗ s1, q)> u2 = Mod(r ∗ s1, q)

3. T½nh > T1 = ellpow(e,G, lift(u1))

> T2 = ellpow(e,Q, lift(u2))

> T3 = elladd(e, T1, T2)

> r1 = Mod(T3[1], q)

4. r1 = (31167) = r ⇒ ch§p nhªn.

21

Page 21: bbcao

3.2.2. M¢ hâa k¸t hñp vîi �÷íng cong Elliptic

V½ dö 3.3. Cho p = 150197, E: y2 = x3˘3x + 45624, G = (48640, 94626) câ bªc

q = 150033, chån x = 52414⇒ Y = [x]G = (15837, 75466), v«n b£n m = 59798,

> p = 150197

> x = 52414

> m = 59798

> e = ellinit([0, 0, 0,Mod(−3, p),Mod(45624, p)])

> G = [48640, 94626]

> q = ellorder(e,G)

> Y = ellpow(e,G, x)

* M¢ hâa

1. Chån k = 18506 thäa 1 < k < 150033.

> k = 18506

2. T½nh U, T

> U = ellpow(e,G, k)

> T = ellpow(e, Y, k)

3. > y1 = [U [1],Mod(U [2], 2)]

4. > y2 = Mod(m ∗ T [1], q)

⇒ V«n b£n m¢: y = ((78866, 1), 8410).

* Gi£i m¢

1. T½nh POINT-DECOMPRESS(y1)

> z = Mod(y1[1] ∧ 3− 3 ∗ y1[1] + 45624, p)

> kronecker(z, p)

> y3 = Mod(z ∧ ((p+ 1)/4), p)

Do y3 ≡ y1[2] mod 2

⇒ POINT −DECOMPRESS(y1) = (y1[1], y3)

> T1 = ellpow(e, [y1[1], y3], x)

2. > m1 = Mod(y2 ∗ T1[1] ∧ (−1), q)

⇒ m1 = 59798 = m.

22

Page 22: bbcao

3.3. K¸t qu£ thüc nghi»m

3.3.1. Ch¤y vîi Pari

a. Thuªt to¡n chú kþ �i»n tû düa tr¶n �÷íng cong Elliptic

H¼nh 3.1: K¸t qu£ ch¤y ch÷ìng tr¼nh vîi ECDSA.

b. M¢ hâa k¸t hñp vîi �÷íng cong Elliptic

3.3.2. So s¡nh vîi RSA

M¢ hâa khâa cæng khai düa tr¶n hai v§n �· lîn cõa to¡n håc l  b i to¡n logarit ríi r¤c

v  b i to¡n ph¥n t½ch thøa sè nguy¶n tè. Ph÷ìng ph¡p RSA düa tr¶n b i to¡n ph¥n

t½ch thøa sè nguy¶n tè, �÷ñc �÷a ra tø cuèi thªp ni¶n 70. Ph÷ìng ph¡p ECC düa tr¶n

23

Page 23: bbcao

b i to¡n logarit ríi r¤c tr¶n tr÷íng sè cõa �÷íng cong elliptic (ECDLP) ch¿ mîi �÷ñc

�÷a ra tø n«m 1985.

Mët ÷u �iºm cõa ECC l  kh£ n«ng b£o mªt cao vîi k½ch th÷îc khâa nhä düa v o mùc

�ë khâ gi£i quy¸t cõa ECDLP, mët t½nh ch§t r§t húu ½ch �èi vîi xu h÷îng ng y nay l 

t¼m ra ph÷ìng ph¡p t«ng �ë b£o mªt cõa m¢ hâa khâa cæng khai vîi k½ch th÷îc khâa

�÷ñc rót gån. K½ch th÷îc khâa nhä hìn gióp thu gån �÷ñc k½ch th÷îc cõa chùng nhªn

giao dàch tr¶n m¤ng v  gi£m k½ch th÷îc tham sè cõa h» thèng m¢ hâa. K½ch th÷îc

khâa nhä gióp c¡c h» thèng b£o mªt düa tr¶n ECC gi£m thíi gian t¤o khâa. Thíi gian

t¤o khâa th÷íng r§t lîn ð c¡c h» thèng RSA.

H¼nh 3.2: Nguçn: http: //www.certicom.com

Do câ k½ch th÷îc khâa nhä v  kh£ n«ng ph¡t sinh khâa r§t nhanh n¶n ECC r§t �÷ñc

quan t¥m �º ¡p döng cho c¡c ùng döng tr¶n mæi tr÷íng giîi h¤n v· thæng l÷ñng truy·n

dú li»u, giîi h¤n v· kh£ n«ng t½nh to¡n, kh£ n«ng l÷u trú. ECC th½ch hñp vîi c¡c thi¸t

bà di �ëng kÿ thuªt sè nh÷ handheld, PDA, �i»n tho¤i di �ëng v  th´ thæng minh

(smart card).

C¡c h» thèng ECC �¢ v  �ang �÷ñc mët sè cæng ty lîn v· vi¹n thæng v  b£o mªt tr¶n

th¸ giîi quan t¥m ph¡t triºn. Nêi bªt trong sè �â l  Certicom (Canada) k¸t hñp vîi

�¤i håc Waterloo �¢ nghi¶n cùu v  xem ECC nh÷ l  chi¸n l÷ñc ph¡t triºn b£o mªt

ch½nh cõa cæng ty. Certicom cung c§p dàch vö b£o mªt düa tr¶n ECC. Ngo i ra, mët sè

cæng ty kh¡c nh÷ Siemens (�ùc), Matsushita (Nhªt), Thompson (Ph¡p) công nghi¶n

cùu ph¡t triºn ECC. Mîi �¥y, RSA Security Laboratory � pháng th½ nghi»m ch½nh cõa

24

Page 24: bbcao

RSA � �¢ b­t �¦u nghi¶n cùu v  �÷a ECC v o s£n ph©m cõa m¼nh.

Tuy nhi¶n, ECC v¨n câ mët sè h¤n ch¸ nh§t �ành. H¤n ch¸ lîn nh§t hi»n nay l  vi»c

chån sû döng c¡c tham sè �÷íng cong v  �iºm quy ÷îc chung (hay �iºm cì sð) nh÷

th¸ n o �º thªt sü �¤t �÷ñc �ë b£o mªt c¦n thi¸t. H¦u h¸t c¡c �÷íng cong �÷ñc �÷a

ra �·u th§t b¤i khi ¡p döng v o thüc ti¹n. Do �â hi»n nay sè l÷ñng �÷íng cong thªt

sü �÷ñc sû döng khæng �÷ñc phong phó. NIST �· xu§t mët sè �÷íng cong elliptic �¢

�÷ñc kiºm �ành l  an to n �º �÷a v o sû döng thüc t¸ trong t i li»u FIPS 186-2. Ngo i

ra, �èi vîi c¡c tham sè mang gi¡ trà nhä, mùc �ë b£o mªt cõa ECC khæng b¬ng RSA

(khi e = 3). �èi vîi mët sè tr÷íng hñp RSA v¨n l  lüa chån tèt do RSA �¢ chùng

minh �÷ñc t½nh ên �ành trong mët kho£ng thíi gian kh¡ d i.

ECC v¨n cán non tr´ v  c¦n �÷ñc kiºm �ành trong t÷ìng lai tuy nhi¶n ECC cung c§p

kh£ n«ng ùng döng r§t lîn trong l¾nh vüc m¢ hâa khâa cæng cëng tr¶n c¡c thi¸t bà di

�ëng v  smart card. T÷ìng lai ECC s³ �÷ñc nghi¶n cùu �÷a v o thüc ti¹n phê bi¸n

hìn.

25

Page 25: bbcao

H¼nh 3.3: �ç thà so s¡nh mùc �ë b£o mªt giúa RSA\DSA v  ECC.

26

Page 26: bbcao

Ch֓ng 4

K¸t luªn

H» thèng m¢ hâa khâa cæng khai ra �íi �¢ gi£i quy¸t �÷ñc c¡c h¤n ch¸ cõa m¢ hâa

khâa quy ÷îc. M¢ hâa khâa cæng khai sû döng mët c°p khâa, mët khâa dòng �º m¢

hâa v  mët khâa dòng �º gi£i m¢. Khâa dòng �º m¢ hâa th÷íng l  khâa cæng khai v 

khâa dòng �º gi£i m¢ th÷íng l  khâa b½ mªt. M¢ hâa khâa cæng khai gióp tr¡nh bà

t§n cæng khi trao �êi khâa do khâa �º gi£i m¢ khæng c¦n ph£i truy·n ho°c chia s´ vîi

ng÷íi kh¡c. Ngo i ra, méi ng÷íi ch¿ c¦n sð húu mët c°p khâa cæng khai - khâa b½ mªt

cõa ri¶ng m¼nh v  ng÷íi gûi thæng tin ch¿ c¦n giú khâa cæng khia cõa ng÷íi nhªn. Do

�â, sè khâa c¦n ph£i qu£n lþ gi£m kh¡ nhi·u. Méi ng÷íi ch¿ c¦n b£o mªt khâa b½ mªt

cõa ri¶ng m¼nh.

Vi»c sû döng ECC mang l¤i nhúng hi»u qu£ sau: t«ng hi»u qu£ l÷u trú, gi£m �ë d i

c¡c chùng nhªn, tèc �ë xû lþ cao, sè ph²p to¡n dòng �º m¢ hâa v  gi£i m¢ ½t, y¶u c¦u

c¡c thi¸t bà câ kh£ n«ng t½nh to¡n th§p. . . v  mùc �ë an to n cao. C¡c ÷u �iºm tr¶n

cõa ECC câ thº ph¡t huy hi»u qu£ trong c¡c dàch vö th÷ìng m¤i �i»n tû, . . .m  �÷íng

truy·n, kh£ n«ng t½nh to¡n, tèc �ë v  l÷u trú bà h¤n ch¸.

27

Page 27: bbcao

T i li»u tham kh£o

[1] Douglas R. Stinson, Cryptography: Theory and Practice, Chapman & Hall/ CRC.

[2] D÷ìng Anh �ùc, Tr¦n Minh Tri¸t, M¢ hâa v  Ùng döng, NXB �¤i håc Quèc

gia, 2005.

[3] D. HanKerson, A. Menezes, and S. Vanstone, Guide to Elliptic Curve Cryptog-

raphy, Springer - Verlay, New York, 2004.

[4] H. Cohen, G. Frey, Handbook of Elliptic and Hyperelliptic Curve Cryptography,

Chapman & Hall/ CRC, 2005.

[5] H  Huy Kho¡i, Ph¤m Huy �iºn, M¢ hâa thæng tin, Cì sð to¡n håc v  ùng döng,

Nh  xu§t b£n �¤i håc Quèc gia H  Nëi, 2004.

[6] H  Huy Kho¡i, Ph¤m Huy �iºn, Sè håc thuªt to¡n, Cì sð lþ thuy¸t v  t½nh to¡n

thüc h nh, Nh  xu§t b£n �¤i håc Quèc gia H  Nëi, 2002.

[7] http://www.certicom.com

[8] Ian F. Blake, Gadiel Seroussi and Nigel P. Smart, Advances In Elliptic Curve

Cryptography, Cambridge University, 2005.

[9] Lawrence C. Washington, Elliptic Curve: Number Theory and Cryptography,

Chapman & Hall/ CRC, 2008.

[10] Nguy¹n Ti¸n Quang, Cì sð lþ thuy¸t tr÷íng v  lþ thuy¸t Galoa, Nh  xu§t b£n

�¤i håc S÷ Ph¤m, 2004.

28