25
 1 HC VIN CÔNG NGH BƯU CHÍNH VIN THÔNG --------------------------------------- Hoàng Th Xuân NGHIÊN CỨ U H MT ĐƯỜ NG CONG ELLIPTIC Ứ NG DNG LUN VĂN THC SĨ K THUT HÀ NI - 2013

Ma Hoa Dua Tren Duong Cong Eliptic Va Ung Dung

Embed Size (px)

Citation preview

Page 1: Ma Hoa Dua Tren Duong Cong Eliptic Va Ung Dung

7/23/2019 Ma Hoa Dua Tren Duong Cong Eliptic Va Ung Dung

http://slidepdf.com/reader/full/ma-hoa-dua-tren-duong-cong-eliptic-va-ung-dung 1/25

 

1

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

---------------------------------------

Hoàng Thị Xuân 

NGHIÊN CỨ U HỆ MẬT ĐƯỜ NG CONG ELLIPTIC

VÀ Ứ NG DỤNG

LUẬN VĂN THẠC SĨ KỸ THUẬT

HÀ NỘI - 2013

Page 2: Ma Hoa Dua Tren Duong Cong Eliptic Va Ung Dung

7/23/2019 Ma Hoa Dua Tren Duong Cong Eliptic Va Ung Dung

http://slidepdf.com/reader/full/ma-hoa-dua-tren-duong-cong-eliptic-va-ung-dung 2/25

 

2

Luận văn được hoàn thành tại: 

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG 

 Người hướng dẫn khoa học: GS. Nguyễn Bình 

Phản biện 1: …………………………………………………………………………… 

Phản biện 2: ………………………………………………………………………….. 

Luận văn sẽ được bảo vệ trước Hội đồng chấm luận văn thạc sĩ tại Học viện Công nghệ

Bưu chính Viễn thông 

Vào lúc: ....... giờ ....... ngày ....... tháng ....... .. năm ............... 

Có thể tìm hiểu luận văn tại: 

- Thư viện của Học viện Công nghệ Bưu chính Viễn thông

Page 3: Ma Hoa Dua Tren Duong Cong Eliptic Va Ung Dung

7/23/2019 Ma Hoa Dua Tren Duong Cong Eliptic Va Ung Dung

http://slidepdf.com/reader/full/ma-hoa-dua-tren-duong-cong-eliptic-va-ung-dung 3/25

 

3

MỞ ĐẦU 

Lý do chọn đề tài

Sự phát triển của công nghệ thông tin, truyền thông nói chung và Internet nói riêng đãgiúp cho việc trao đổi thông tin nhanh chóng, dễ dàng. Do vậy một số vấn đề phát sinh làthông tin có thể bị tr ộm cắ p, có thể sai lệch, có thể giả mạo. Điều đó có thể ảnh hưởng đếncác tốc chức, các công ty hay cả một quốc gia. Để giải quyết tình hình trên an toàn thông tinđược đặt ra cấ p thiết. K ỹ thuật mật mã là một trong những giải pháp của an toàn truyền thông.Các nhà khoa học đã phát minh ra những hệ mật ma nhằm che dấu thong tin cũng như là làmrõ chúng để tránh k ẻ cố tình phá hoạt các hệ mật: RSA, Elgamal … 

Đối tượ ng và phạm vi nghiên cứ u

 Đối tượ ng nghiên c ứ u c ủa Lu ận văn: 

Cơ sở  toán học hệ mật dựa trên các đườ ng cong Elliptic.-  Các tấn công và độ phức tạ p của các tấn công trên hệ mật Elliptic.

-  Giao thức bảo mật mạng sử dụng hệ mật Elliptic.

Ph ạm vi nghiên c ứ u c ủa Lu ận văn: 

-  Luận văn tậ p trung tìm hiểu về các đánh giá tấn công hệ mật đườ ng cong Elliptic, tìmhiểu một số hệ mật trên các đườ ng cong Elliptic.

-  Dựa trên các cơ sở  lý thuyết và tìm hiểu, xây dựng ứng dụng bảo mật mạng riêng ảo

sử dụng hệ mật Elliptic.Mục đích nghiên cứ u

-  Làm rõ các phương pháp tấn công trong hệ mật đườ ng cong Elliptic.

Ứ ng dụng trong một bài toán bảo mật mạng cụ thể.

Bố cục luận văn: Luân văn này gồm 03 chương cùng vớ i phần mở  đầu, k ết luận và các danh mục:Chương 1: Tổng quan về hệ mật đườ ng cong Elliptic

Chương 2: Mật mã đườ ng cong EllipticChương 3:Ứ ng dụng trong bài toán bảo mật mạng riêng ảo

CHƯƠNG I – TỔNG QUAN VỀ HỆ MẬT ĐƯỜNG CONG ELLIPTIC 

1.1 Cơ sở toán học hệ mật đường cong Elliptic 

1.1.1Các định nghĩa

 Định nghĩa 1.

Page 4: Ma Hoa Dua Tren Duong Cong Eliptic Va Ung Dung

7/23/2019 Ma Hoa Dua Tren Duong Cong Eliptic Va Ung Dung

http://slidepdf.com/reader/full/ma-hoa-dua-tren-duong-cong-eliptic-va-ung-dung 4/25

 

4

Một đườ ng cong El liptic d ạng Weierstrass đầy đủ là tậ p tất cả các điểm vớ i 3 tọa độ x, y, z thỏa mãn phương trình:

2 3 3 2 2 3

1 1 2 4 6yz y z a xyz a x a x z a xz a z   Vớ i 1, 2, 3, 4, 6

a a a a a     (1.1)

Phương trình đườ ng cong Elliptic d ạng Weierstrass rút g ọn   sẽ đượ c biểu diễn bở i phương trình: 

2 3: ; E y x Ax B vớ i , p

 A B   (1.2)

Định nghĩa 2:Bi ệt th ứ c c ủa đườ ng cong  E được xác định bở i công thức:

3 216 4 27 A B   (1.3)

Định nghĩa 3:Gọi 3 2( , ) f x y x Ax B y . Một điểm ( , ) P x y E   đượ c gọi là điể m không kì d ị  nếu

có ít nhất một trong hai đạo hàmdf  

dxhoặc

df  

dykhác 0. Điều này có nghĩa là nếu cả hai đạo

hàm này bằng 0 thì điểm P sẽ được coi là điểm kì dị.Định nghĩa 4:

Đường cong Elliptic E đượ c coi là đườ ng cong không kì d ị  nếu tất cả các điểm của nólà không kì dị. Ngượ c lại, nếu có ít nhất một điểm kì dị thì đường cong được coi là đườ ngcong kì dị.Định nghĩa 5:

Đại lượ ng j –  b ấ t bi ế n  của đườ ng cong E khi 0  là:3

3 2

4

( ) 1728 4 27

 A

 j j E   A B

 

(1.4)

Định nghĩa 6:Hai đường cong E và E’ xác định bởi phương trình Weierstrass rút gọn vớ i các biến số 

tương ứng là (x, y) và (x’, y’) đượ c gọi là đẳng c ấ u  trên trườ ng nếu và chỉ nếu tồn tại các

hằng số  , ,r s t   và *u  sao cho khi thực hiện đổi biến 2 3 2' ; ' ' x u x r y u y su x t   thì E

 biến thành E’.Có hai giá tr ị đặc biệt của j –  bất biến là:

   j = 0: Khi đó đườ ng cong Elliptic có dạng 2 3 y x B .

 

 j = 1728: Đườ ng cong Elliptic có dạng 2 3 y x Ax .Định nghĩa 7:

 Nếu hai đườ ng cong Elliptic khác nhau đượ c xác định trên một trườ ng có cùng một j –  bất biến thì ta gọi chúng là “xo ắn đôi ” (twist) của nhau.

Đườ ng cong xoắn đôi với đườ ng cong vớ i j –  bất biến là j có dạng:

2 3 3 2; 0,1728

1728 1728

 j j y x x j

 j j

  (1.5)

Định nghĩa 8:

Một đườ ng cong Elliptic E  định nghĩa trên  p đượ c gọi là đườ ng cong siêu kì d ị  nếukhông có điểm bậc p.

Page 5: Ma Hoa Dua Tren Duong Cong Eliptic Va Ung Dung

7/23/2019 Ma Hoa Dua Tren Duong Cong Eliptic Va Ung Dung

http://slidepdf.com/reader/full/ma-hoa-dua-tren-duong-cong-eliptic-va-ung-dung 5/25

 

5

Định nghĩa 9:

Đường cong Elliptic E định nghĩa trên  p  thỏa mãn #  p E p  đượ c gọi là các đườ ng

cong b ấ t quy t ắc. 

1.1.2 Hệ mật dựa trên đường cong Elliptic 

Tậ p hợ  p tất cả các điểm , x y vớ i ,  p x y thỏa mãn phương trình của đườ ng cong E

và vớ i một điểm  ở  vô cực cùng vớ i một phép toán cộng sẽ  tạo thành một nhóm, gọi là

nhóm các điểm trên đườ ng cong Elliptic trong  p , ký hiệu là  p E  .

  Phép cộng điểm: Cho hai điểm 1 P  và 2 P   phân biệt trên đườ ng cong Elliptic

E. Tổng của 1 P  và 2 P  , ký hiệu là 3 P  , được định nghĩa như sau: 

K ẻ một đườ ng thẳng đi qua 1 P  và 2

 P  . Đườ ng thẳng này sẽ cắt E tại một điểm thứ 3,

đượ c ký hiệu là '

3 P  . Tiế p tục k ẻ đườ ng thẳng đi qua '

3 P   và vuông góc vớ i tr ục  x , đườ ng

thẳng này sẽ cắt  E  tại điểm thứ hai chính là điểm 3 P  .

  Phép nhân đôi một điểm: Cho 1 P là một điểm trên  E . Nhân đôi điểm 1

 P , ký

hiệu là1 1 12 P P P  , được định nghĩa như sau: Kẻ qua 1

 P  một tiế p tuyến của  E , tiế p

tuyến này cắt  E  tại điểm thứ hai, ký hiệu là  R . K ẻ đườ ng thẳng đi qua  R  và vuônggóc vớ i tr ục  x , đườ ng thẳng này cắt  E  tại điểm thứ hai chính là

12 P .

Cho  E là một đường cong Elliptic xác định bởi phương trình 2 3 y x x B . Gọi

11 1( , ) P x y  và 2 2 2

( , ) P x y là các điểm trên  E vớ i 1 2, P P   . Khi đó

1 2 3 3 3( , ) P P P x y vớ i

3 3, x y  được tính như sau: (1)  (Công thứ c cộng điểm) Nếu 1 2

 x x , thì

2

3 1 2 x m x x , 3 1 3 1 y m x x y , vớ i 2 1

2 1

 y ym

 x x

.

(2)   Nếu 1 2 x x nhưng

1 2 y y , thì1 2 P P  .

(3)  (Công thức nhân đôi điểm) Nếu 1 2 P P   và 1  0 y   , thì

2

3 1 2 x m x x , 3 1 3 1 y m x x y  vớ i

2

1

1

3

2

 x Am

 y

 

(4) 

 Nếu 1 2 P P  và 1  0 y   , thì 1 2 P P  .

(5)  1 1 1; P P P E  .

Phép cộng điểm trên đườ ng cong Elliptic  E  thỏa mãn các tính chất sau:

(1)  Tính giao hoán: 1 2 2 1 P P P P  vớ i mọi 1 2, P P   trên  E  .

(2)  T ồn t ại phần t ử  đơn vị:  P P  vớ i mọi  P trên  E .

(3)  T ồn t ại phần t ử  nghịch đảo: V ới điể m  P cho trướ c trên  E  , t ồn t ại một điể m' P 

trên  E  sao cho ' P P  . Điể m ' P thường đượ c kí hiệu là  P  .

(4) 

Tính k ế t hợ  p: 1 2 3 1 2 3 1 2 3( ) , , P P P P P P P P P E 

.

Page 6: Ma Hoa Dua Tren Duong Cong Eliptic Va Ung Dung

7/23/2019 Ma Hoa Dua Tren Duong Cong Eliptic Va Ung Dung

http://slidepdf.com/reader/full/ma-hoa-dua-tren-duong-cong-eliptic-va-ung-dung 6/25

 

6

1.1.2.1 Các tự đồng cấu 

Một tự  đồng cấu  E nghĩa là một đồng cấu : ( ) ( ) E E     đượ c cho bở i các hàm hữu

tỉ. Nói cách khác, 1 2 1 2 P P P P    , và có các hàm hữu tỉ (thương của các đa chức)

1 , R x y , 2 , R x y vớ i các hệ số trong sao cho

    1 2, , , , , x y R x y R x y x y E      

Một tự đồng cấu , 0 x y     đượ c gọi là tự  đồng cấu tách đượ c nếu đạo hàm '

1 , R x y

không đồng nhất bằng không.

1.1.2.2 Các điểm n –  xoắn 

Các điểm xoắn, chính là các điểm có bậc hữu hạn, đóng một vai trò quan tr ọng trongnghiên cứu các đườ ng cong Elliptic. Cho  E là một đường cong Ellip được xác định trên mộttrườ ng . Giả sử n là một số nguyên dương. Theo [6] tập các điểm n-xoắn đượ c định nghĩa

 bở i:

  | E n P E nP    (1.7)

1.1.2.3 Đa thức chia 

Đa thứ c chia thứ  - m của đườ ng cong Elliptic E , [ , , , ]m   x y A B    , được xác định bở i

dãy các công thức toán học truy hồi sau đây: 

0 1 20, 1, 2 y    

4 2 2

3 3 6 12 x Ax Bx A  

 6 4 3 2 2 2 3

44 ( 5 20 5 4 8 ) y x Ax Bx A x ABx B A     

3 3

2 1 2 1 1m m m m m     V ớ i 2m  

1 2 2

2 2 1 2 12m m m m m m y  

  V ớ i 2m .

Cho , P x y  là một điểm trên đườ ng cong Elliptic 3 A y x x B (trên một trườ ng

nào đó có đặc số khác 2), và n là một số nguyên dương. Khi đó: 

32

,,

,

n n

n   n

 x x ynP 

 x   x y

 

     

 (1.8)

1.1.3 Cặp Weil  

Cho  E  là một đườ ng cong Elliptic trên một trườ ng và cho n  là một số nguyên không

chia hết cho đặc số của . Khi đó   n n E n   . Đặt:

| 1n

n  x x     (1.9)

Là nhóm của các căn bậc n  của phần tử đơn vị trong . Vì đặc số của không chia

hết cho n , nên phương trình 1n x    không có nghiệm bội, do đó nó có n nghiệm trong . Do

Page 7: Ma Hoa Dua Tren Duong Cong Eliptic Va Ung Dung

7/23/2019 Ma Hoa Dua Tren Duong Cong Eliptic Va Ung Dung

http://slidepdf.com/reader/full/ma-hoa-dua-tren-duong-cong-eliptic-va-ung-dung 7/25

 

7

vậy,n   là một nhóm cyclic bậc n . Một phần tử sinh   của

n  đượ c gọi là một căn nguyên

th ủy b ậc   n . Điều này tương đương vớ i việc nói r ằng 1k     khi và chỉ khi n  chia hết cho k .

Định lý [6 –  Theorem 3.9]:Cho  E là một đườ ng cong Ellipt ic xác định trên một trườ ng và cho n   là một số  

nguyên dương. Giả sử  r ằng đặc số  của trườ ng không chia hế t cho n . Khi đó một phép

 ghép cặ p:

:n ne E n E n       (1.10)

1.2 Đường cong Elliptic 

1.2.1 Đặt vấn đề bài toán 

Đường cong elliptic là tập hợp các điểm có toạ độ , x y thoả mãn phương trình có

dạng sau đây: 2 3 2

1 3 2 4 6 y a xy a y x a x a x a  Trên trường F biểu diễn bằng phương trình Weiretrass:

3 2

1 3 2 4 6a y xy a y x a x a x a   (1.11)

Xét đường cong  E  trên trường nguyên tố hữu hạn  p F   (  p nguyên tố,  p >3 ) với công

thức biến đổi như sau:2 3 a b   (1.12)

Hình 1: Một ví dụ về đường cong Elliptic 

 Định nghĩa: Giả sử   là một trường có đặc số khác 2 và khác 3 và xét đa thức 3 a b  (với a,

 b    ). Khi đó đường cong elliptic trên trường : 2 3 a b   là tập hợp tất cả các

điểm (x, y) với x, y    sao cho (1.12) không có các nghiệm bội tức là 3 24 27 0moda b p

cùng với phần tử O - điểm O này được gọi là điểm vô hạn. Tính chất của đường cong elliptic: 

Page 8: Ma Hoa Dua Tren Duong Cong Eliptic Va Ung Dung

7/23/2019 Ma Hoa Dua Tren Duong Cong Eliptic Va Ung Dung

http://slidepdf.com/reader/full/ma-hoa-dua-tren-duong-cong-eliptic-va-ung-dung 8/25

 

8

 Nếu hai điểm1 1 1(x y ) và

2 2 2(x y )  với1 2x x nằm trên đường cùng một đường

cong elliptic , thì đường thẳng qua hai điểm 1  và 2  sẽ cắt một điểm duy nhất 3 3 3x , y

có thể xác định thông qua 1  và2  nằm trên đường cong .

Tiếp tuyến của đường cong tại điểm bất kỳ P x, y trên đường cong  cũng cắt đường

cong elliptic tại một điểm duy nhất nằm trên đường , điểm này cũng có thể xác định đượcthông qua P.

1.2.2 Đường cong elliptic trên trường hữu hạn 

Xét trườ ng hữu hạn q F   của q = pr  phần tử trên trườ ng hữu hạn . Giả sử E là đườ ng

cong elliptic được định nghĩa trên q F  . Nếu đặc số của trườ ng 2 p   hoặc 3 p   thì E  đượ c

cho bởi phương trình ở  (1.13) và (1.14) . Đị nh lý: Gọi N là số các điểm trên đường cong elliptic được định nghĩa trên q F  . Khi

đó  N q 1 2   q  

1.2.3 Các phép toán trên đường cong Elliptic 

1.2.3.1 Phép cộng 

Giả sử P = (x1, y1) và Q (x2, y2) là hai điểm của E . Nếu x1 = x2 và y1 = - y2 thì ta địnhnghĩa P  + Q = O. Ngượ c lại thì P + Q = (x3, y3)  E trong đó:

2

3 1 2 3 1 3 1x x – x , y x – x – y   ,

Vớ i:

2 1 2 1

2

1

y – y x – x

3x a 2 y

 

   

 

K hi P ≠ Q( nếu x1  = x2 th ì    là hệ  số  góc đườ ngthẳng qua P và Q) (1.17) 

Khi P = Q (   là đạo hàm của đườ ng cong tại P) (1.18)

Page 9: Ma Hoa Dua Tren Duong Cong Eliptic Va Ung Dung

7/23/2019 Ma Hoa Dua Tren Duong Cong Eliptic Va Ung Dung

http://slidepdf.com/reader/full/ma-hoa-dua-tren-duong-cong-eliptic-va-ung-dung 9/25

 

9

Hình 2: Phép cộng trên đường cong Elliptic 

Tính chất  Dễ thấy r ằng tậ p E  vớ i phép toán cộng đó tạo thành một nhóm Abelian:

  Tính đóng: Nếu P, Q  E  thì P + Q  E .

  Tính k ết hợ  p: Nếu P, Q, R E thì P + ( Q + R ) = R + ( Q + P ).

  Tồn tại phần tử trung hoà O: vớ i mọi P   E  thì P + O = O + P = P (theo định nghĩa). 

  Tồn tại phần tử  nghịch đảo: vớ i mỗi P , x y E    thì luôn tồn tại phần tử 

P , - x y E   để P + (-P) = O.

  Tính chất giao hoán: Nếu P, Q  E  thì P + Q = Q + P.

1.2.3.2 Phép nhân

Phép nhân một số nguyên k vớ i một điểm P  thuộc đườ ng cong elliptic  E  là điểm Qđược xác định bằng cách cộng k   lần điểm P và dĩ nhiên

: P P P P PQ E k   ( k  phép cộng điểm P).

P

Q

P+ Q

R

P

2P

R

-1

-2

2

1

Page 10: Ma Hoa Dua Tren Duong Cong Eliptic Va Ung Dung

7/23/2019 Ma Hoa Dua Tren Duong Cong Eliptic Va Ung Dung

http://slidepdf.com/reader/full/ma-hoa-dua-tren-duong-cong-eliptic-va-ung-dung 10/25

 

10

Hình 3: Ví dụ phép nhân đôi trên đường cong Elliptic 

1.2.4 Đếm số điểm trên đường cong Elliptic trên trường q F  

1.2.4.1 Định lý Hasse 

 N là số  điểm của E trên trườ ng Fq  (trườ ng hữu hạn q phần tử). Khi đó:

 N – q 1 2   q . Từ  định lý Hasse suy ra #E –q   q 1 t    trong đó

t 2   q .

1.2.4.2 Định nghĩa Bậc của điểm G thuộc E là số k dương bé nhất sao cho k G = O; khi k = #E(Fq) thì G là

điểm cơ sở  của E.

1.2.5 Phương pháp chọn đường cong Elliptic phù hợp và điểm cơ sở  

1.2.5.1 Trường

Một đườ ng cong elliptic trên một trườ ng hữu hạn tạo thành nhóm Abelian đượ c sử 

dụng trong mật mã học. Một ví dụ là việc chọn trườ ng r 

2

 F   giúp thực hiện các phép tính nhanh

và dễ dàng triển khai đượ c trên các thiết bị cứng. Tuy nhiên, các đường cong trên trườ ng r 

2 F   

có thể bị tấn công bởi MOV, trong khi các đường cong trên trườ ng  p F   ( p là số nguyên tố lớ n)

lại chống lại đượ c kiểu tấn công này. Một chú ý nữa là việc tính số điểm trên # ( ) E  . Tốc

độ của thuật toán Shoof phụ thuộc vào kích thước và đặc số của trườ ng K.

1.2.5.2 Dạng của đường cong elliptic 

Trên trườ ng Fq  có hai lớp đường cong elliptic đượ c dùng trong các hệ  mã hoá là

 supersingular . Xét Fq có đặc số là m2 g 2 . Khi đó: 

Page 11: Ma Hoa Dua Tren Duong Cong Eliptic Va Ung Dung

7/23/2019 Ma Hoa Dua Tren Duong Cong Eliptic Va Ung Dung

http://slidepdf.com/reader/full/ma-hoa-dua-tren-duong-cong-eliptic-va-ung-dung 11/25

 

11

  Tậ p tất cả các cặ p nghiệm (x, y) của phương trình 2 3y ax x bx c  vớ i a, b,

c Fq và a = 0 (mod q) cùng với điểm trung hoà O tạo thành một đườ ng cong ellipticdạng supersin gular .

  Tậ p tất cả các cặ p nghiệm (x, y) của phương trình 2 3y ax x bx c  vớ i a, b,

c  Fq và b = 0 (mod q) cùng với điểm trung hoà O tạo thành một đườ ng cong ellipticdạng non-supersingular .

1.2.5.3 Phương pháp lựa chọn 

 Phương pháp-  Phương pháp chọn ng ẫ u nhiên Kobliz:

(1) .Chọn ngẫu nhiên 3 phần tử từ Fq là x, y, a(2) .Tính b = y2  –  (x3 + ax)(3) .Kiểm tra 4a3 + 27b2 ≠ 0 để đảm bảo phương trình x3 + ax + b =0 không có nghiệm

kép.

(4) 

.Nếu điều kiện trên không thoả mãn quay lại bướ c 1.(5) .Còn lại, đặt P = (x, y) và đườ ng cong y2 = x3 + ax +b là đườ ng cong cần chọn.

1.2.6 Đánh giá các tấn công hệ mật đường cong Elliptic 

1.2.6.1 Phương pháp Pohlig - Hellman

Cho , P Q là các phần tử trong nhóm hữu hạn G bậc N. Ta muốn tìm một số nguyên k  

vớ i kP Q . Giả sử biết phân tích ra thừa số nguyên tố của N  là:

ieii

 N n  

 Phương pháp Pohlig –  Hellman thự c hiện t ố t nế u t ấ t cả các ướ c nguyên t ố  của N là

nhỏ. N ếu ướ c nguyên t ố  l ớ n nhấ t xấ  p xỉ  l ớ n của N thì phương pháp Pohlig –  Hellman r ấ t khó

áp d ụng. Vì lý do này, các hệ mật d ự a trên logarith r ờ i r ạc, nói chung thườ ng chọn bậc của

nhóm có chứ a một thừ a số  nguyên t ố  l ớ n.

1.2.6.2 Tấn công MOV 

Thuật toán 1: Tấn công MOV  

Input: , ( ) p P Q E  , ( )ord P N   , gcd( , ) N p 1 , Q kP   

Output: (mod )k N   

(1). Chọn một điểm ngẫu nhiên ( )m pT E   

(2). Tính bậc M của T

Page 12: Ma Hoa Dua Tren Duong Cong Eliptic Va Ung Dung

7/23/2019 Ma Hoa Dua Tren Duong Cong Eliptic Va Ung Dung

http://slidepdf.com/reader/full/ma-hoa-dua-tren-duong-cong-eliptic-va-ung-dung 12/25

 

12

(3). Đặt gcd( , )d M N  , đặt ( / )1T M d T   . Khi đó 1T  có bậc d  chia hết cho  N ,

vậy 1T E N   

(4). Tính ( , )1 N 1e P T      và ( , )2 N 2e P T     . Khi đó cả  1  , 2    đều thuộc vào

*

md   p    

(5). Giải bài toán log r ờ i r ạc k 

2 1    trong *m p

. K ết quả cho ta (mod )k d  .

(6). Lặ p lại vớ i các điểm ngẫu nhiên T đến khi bội chung nhỏ nhất của các số d khácnhau thu được là N. Khi đó ta xác định đượ c (mod )k N   

1.2.6.3 Phương pháp Xedni 

Thuật toán tính chỉ số ngược đầu tiên là nâng các điểm , ,...,1 2 n P P P , sau đó chọn mộtđườ ng cong Elliptic  E Q  chứa các điểm đã nâng và hy vọng r ằng chúng phụ thuộc tuyến

tính. Nghĩa là thỏa mãn quan hệ r 

i i

i 1

n P 0

. Tuy nhiên, xác suất để chúng phụ thuộc tuyến

tính là nhỏ.

1.2.6.4 Các tấn công dựa trên giả thuyết Diffie –  Hellman

Cho G là một nhóm Abel bậc nguyên tố   p   và  g   là phần tử  sinh của G. Bài toán

logarith r ờ i r ạc DLP trong G là bài toán tìm số   pa khi biết  g  và a g   trong G. Nhiều hệ 

mật đượ c thiết k ế dựa trên bài toán DLP, tuy nhiên hầu hết chúng có độ an toàn tương đươngvớ i một biến thể yếu hơn của bài toán DLP. Hai biến thể yếu hơn quan trọng nhất là bài toánDH –  Tính toán CDH và bài toán DH –  Quyết định DDH.

CDH: Cho , ,a b g g g  . Tính ab g  ?

DDH: Cho , , ,a b c g g g g  . Xác định xem c ab  trong  p hay không?

1.2.6.5 Các tấn công cài đặt 

Kiểu tấn công cài đặt thứ nhất là dựa trên điểm không hợ  p lệ của đườ ng cong Elliptic. Nếu trong quá trình nhận và xử lý một điểm trên đườ ng cong mà không thực hiện việc kiểmtra xem nó có thực sự nằm trên đường cong đã cho hay không thì lược đồ có thể bị tấn công.

Dạng tấn công thứ hai là kiểu tấn công phân tích năng lượng để khám phá khóa bí mật..Hiệu quả của các kiểu tấn công này phụ thuộc vào cách cài đặt cụ thể.

1.2.6.6 Nhận xét Tổng hợp các phương pháp trên ta có bảng như sau: 

Page 13: Ma Hoa Dua Tren Duong Cong Eliptic Va Ung Dung

7/23/2019 Ma Hoa Dua Tren Duong Cong Eliptic Va Ung Dung

http://slidepdf.com/reader/full/ma-hoa-dua-tren-duong-cong-eliptic-va-ung-dung 13/25

 

13

Bảng 1: So sánh các phương pháp tấn công hệ mật Elliptic 

STT  Phương pháp

 Độ  phứ c t ạ p của thuật toán

trong nhóm có bậc là N

Yêu cầu

bộ nhớ  Ghi chú

1 Pohlig -Hellman

O K với K là ướ c nguyên tố 

lớ n nhất của N  

 Nhỏ  Hiệu quả  nếu N chỉ  cócác ướ c nguyên tố nhỏ.

2 MOV ~ *DLP   m p   Nhỏ  Hiệu quả nếu m  nhỏ 

3 Xedni ( )O N    - Không áp dụng đượ ctrong thực tế 

4 Tấn côngdựa vàomột số  giả thuyết DH

( .log )O d p với d là ướ c của

3  p d p  

 pO

 

Yêu cầu giả  thuyếtmạnh, cần bộ nhớ  lớ n

5 Tấn côngcài đặt

Phụ  thuộc vào cách cài đặt cụ thể 

 Nhỏ  Thời gian đa thức theoConron.

Kết luận chương 

Các k ết quả mà chương 1 đạt đượ c bao gồm:(1) Đã nghiên cứu tổng quan về hệ mật Elliptic trên trườ ng hữu hạn, nghiên cứu về các

vấn đề như đa thức chia, nhóm con xoắn, các tự đồng cấu, Weil pairing.(2)  Nghiên cứu, xem xét và đánh giá về độ phức tạ p tính toán, yêu cầu bộ nhớ  và khả năng

áp dụng trong thực tế của các tấn công đối vớ i hệ mật Elliptic.

CHƯƠNG 2 – MẬT MÃ ĐƯỜNG CONG ELLIPTIC 

2.1 Mật mã đường cong Elliptic

2.1.1 Thiết lập cơ sở  

Alice muốn gửi một văn bản, thường đượ c gọi là b ản rõ (Plaintext) , tớ i Bob. Cô ấymã hóa văn bản để thu đượ c b ản mã (Ci pher text) . Để mã hóa văn bản, Alice sử dụng một

khóa mã hóa (Encryption key). Bob sử dụng một khóa gi ải mã (Decryption key)  để giải mã bản mã nhận đượ c.Có hai cách mã hóa cơ bản. Trong m ật mã đố i x ứ ng (Symmetr ic Encryption) , khóa

mã hóa và khóa giải mã là như nhau,Một dạng khác của mã hóa là m ật mã khóa công khai (Publi c Key Encryption) ,

hoặc mật mã không đối xứng (Asymmetric Encryption).

Page 14: Ma Hoa Dua Tren Duong Cong Eliptic Va Ung Dung

7/23/2019 Ma Hoa Dua Tren Duong Cong Eliptic Va Ung Dung

http://slidepdf.com/reader/full/ma-hoa-dua-tren-duong-cong-eliptic-va-ung-dung 14/25

 

14

Hình 4: Mô phỏng mã hóa công khai 

2.1  .2 Nhúng bản rõ lên đường cong  

 Nhúng bản rõ lên E là biểu diễn lại bản rõ đó như là các điểm trên E, nhờ  đó có thể thực hiện đượ c các tính toán trên E. Có một số  phương pháp để thực hiện việc này. Trong đócó 2 phương pháp chính là “nhúng” (Imbeding) và “mặt n ạ” (Mask).

2.1.3. Logarith rời rạc trên đường cong Elliptic 

 Định nghĩa:

E là đường cong Elliptic trên trườ ng Fq và B là một điểm trên E. Khi đó bài toán logaritr ờ i r ạc trên E (theo cơ số B) là một bài toán, cho trướ c một điểm P E , tìm số nguyên  x Z   

sao cho xB = P (nếu số x như vậy tồn tại)

2.1.4 Trao đổi khóa Diffie –  Hellman

Alice và Bob muốn thống nhất một khóa chung mà họ có thể sử dụng cho việc trao đổidữ liệu thông qua một sơ đồ mã đối xứng. Alice và Bob thống nhất một đườ ng cong ellipticE trên trườ ng hữu hạn Fq sao cho bài toán logarithm r ờ i r ạc là khó trong E(Fq). Thông tin duynhất mà k ẻ tr ộm Eve thấy chỉ là đường cong E, trườ ng hữu hạn Fq, và các điểm P, aP và bP.Do đó cô ta cần phải giải quyết các bài toán sau:

2.1.4.1 Bài toán Diffie –  HellmanCho trướ c P, aP và bP trong E(Fq), tính abP?

 Nếu Eve có thể giải bài toán log r ờ i r ạc trong E(Fq), khi đó cô ta có thể sử dụng P vàaP để tìm a. Khi đó cô ta có thể tính a(bP) để nhận đượ c abP. Tuy nhiên, liệu có thể có cáchnào để tính abP mà không phải giải bài toán log r ờ i r ạc đầu tiên.

2.1.4.2 Bài toán quyết định Diffie –  Hellman 

Cho trướ c P, aP và bP trong E(Fq) và cho trướ c một điểm Q ∈ E(Fq). Khi đấy có xácđịnh đượ c Q = abP hay không?

Page 15: Ma Hoa Dua Tren Duong Cong Eliptic Va Ung Dung

7/23/2019 Ma Hoa Dua Tren Duong Cong Eliptic Va Ung Dung

http://slidepdf.com/reader/full/ma-hoa-dua-tren-duong-cong-eliptic-va-ung-dung 15/25

 

15

Cho E là đườ ng cong 12 3 y x  trên Fq, với q ≡ 2 (mod 3). Theo mệnh đề, E là siêu

kì dị. Cho 2q F     là một căn nguyên thủy bậc ba của đơn vị. Định nghĩa ánh xạ 

: E( ) E( ), x,y x, y , ( )q q F F     .

Bằng tính toán trực tiếp ta chỉ ra được β là một đẳng cấu. 

2.1.5 Mã hóa Massey –  Omura

Alice muốn gửi một văn bản tới Bob qua một kênh công khai. Họ chưa thiết lập đượcmột khóa riêng. Một cách để thực hiện điều này như sau. Alice đặt văn bản của cô vào mộthộp và lắp khóa của cô ta vào đấy. Cô gửi chiếc hộp cho Bob, Bob lắp khóa của anh vào sauđó gửi trả chiếc hộp lại cho Alice. Alice tháo khóa của mình ra và gửi chiếc hộp lại cho Bob.Khi đó Bob bỏ khóa của anh ta ra, mở chiếc hộp và đọc văn bản trong ấy.  

Ta sẽ chỉ ra M4 chính là văn bản M, một cách hình thức ta có:  

4M1 1

 A Bm m

mB mAM = M Nhưng ta cần giải thích thực tế r ằng 1

 Am , số nguyên biểu diễn nghịch đảo của mA, và

mA là khử nhau. Ta có 1

 Am  mA (mod N), vậy 1

 Am  mA = 1 + kN với số nguyên k. 

 Nhóm E(Fq) có cấp N, vậy định lý Lagrange kéo theo  NR  với mọi qR E F .

Do đó, 1

 Am  mAR = (1+kN)R = R + k ∞ = R.

Áp dụng điều này với R = mBM, ta thấy M3 =1

 Am  mB mAM = mBM.

Tương tự, 1

 Bm  và mB khử nhau, vậy M4 =

1

 Bm mBM = M.

Tên trộm Eve biết E(Fq) và các điểm mAM, mBmAM và mBM. Đặt a = 1

 Am  , b = 1

 Bm

, P = mAmBM.

2.1.6 Mã hóa công khai Elgamal

Alice muốn gửi một văn bản cho Bob, Anh chọn một đường cong Elliptic E trên mộttrường hữu hạn Fq sao cho bài toán log rời rạc là khó với E(Fq). Anh cũng chọn một điểm Ptrên E (thông thường được thỏa thuận để cấp của P là một số nguyên tố lớn). Anh chọn mộtsố nguyên bí mật s và tính B = sP. 

Để gửi văn bản cho Bob, Alice thực hiện như sau:  (1)  Tải về khóa công khai của Bob (2)  Biểu diễn văn bản của cô như một điểm M ∈ E(Fq).(3)  Chọn một số bí mật ngẫu nhiên k và tính M1 = kP.(4)  Tính M2 = M + kB(5)  Gửi M1, M2 cho Bob.

Bob giải mã bằng việc tính: M = M2  –  sM1. Việc giải mã thực hiện được vì M2  –  s M1 = (M+kB) –  s(kP) = M + k(sP) –  skP = M.

Page 16: Ma Hoa Dua Tren Duong Cong Eliptic Va Ung Dung

7/23/2019 Ma Hoa Dua Tren Duong Cong Eliptic Va Ung Dung

http://slidepdf.com/reader/full/ma-hoa-dua-tren-duong-cong-eliptic-va-ung-dung 16/25

 

16

2.2 Sinh tham số cho hệ mật Elliptic 

2.2.1 Tham số miền của đường cong Elliptic

Các tham số cho hệ mật đườ ng cong Elliptic trên  p là một bộ  , , , , , , EE p   A B G N h S D

, trong đó: 

   p>3 là số nguyên tố, xác định trườ ng hữu hạn cơ sở    p .

 2 3: A E y x x B  vớ i ,  p A B  

  Phần tử  sinh ,G GG x y có bậc nguyên tố  là  N   trên  E , , ( )G G p x y E    và

# ( ) p N E  .

  Đồng thừa số h=1 

  Một xâu bít SEED dùng để sinh ngẫu nhiên đườ ng cong

2.2.2  Sinh và kiểm tra cặp khóa đường cong Elliptic 

Thuật toán 2 : Sinh cặp khóa cho hệ mật Elliptic 

Input: Bộ tham số miền , , , , , , EE p

  A B G N h S D  

Output: (Q –  điểm công khai, d –  khóa bí mật)

(1)  Sinh 0, 1d R N  . Số nguyên d phải đượ c giữ bí mật và phải không dự đoán

đượ c

(2) 

Tính điểm ,Q QQ x y dG

 (3)  Tr ả về cặ p khóa là ( , )Q d  trong đó Q là khóa công khai, d là khóa bí mật.

Vớ i một bộ tham số miền , , , , , , EE p   A B G N h S D  và một khóa công khai Q có thể 

đượ c kiểm tra tính hợ  p lệ theo thuật toán dưới đây. 

Thuật toán 3 : Kiểm tra tính hợp lệ của khóa công khai  

Input: Tham số miền , , , , , , EE p   A B G N h S D , khóa công khai Q  

Output: “ Khóa công khai hợ  p l ệ” hoặc “ Khóa công khai không hợ  p l ệ” (1)  Kiểm tra Q  không phải là điểm trên  E  

(2)  Kiểm tra ,Q Q p x y    

(3)  Kiểm tra r ằng2 3 AQ Q Q y x x B

trong  p .

(4)  Kiếm tra  NQ  (5)   Nếu bất k ỳ một trong các phép kiểm tra trên thất bại tr ả  về “khóa công khaikhông hợ  p lệ” còn không thì trả về “khóa công khai hợ  p lệ”. 

Page 17: Ma Hoa Dua Tren Duong Cong Eliptic Va Ung Dung

7/23/2019 Ma Hoa Dua Tren Duong Cong Eliptic Va Ung Dung

http://slidepdf.com/reader/full/ma-hoa-dua-tren-duong-cong-eliptic-va-ung-dung 17/25

 

17

2.2.3 Thuật toán kiểm tra điều kiện MOV  

Thuật toán 4 : Kiểm tra điều kiện MOV  

Input: Giá tr ị B là cận của MOV theo tiêu chuẩn EC5Output: 0: Không thỏa mãn điều kiện MOV; 1: Thỏa mãn MOV

(1) 

t = 1, ok= 1;(2)  for i = 1 to B do

T = t.p (modN)If (t==1){ok=0; return ok;}

(3)  return ok;

2.2.4 Thuật toán sinh đường cong ngẫu nhiên

Thuật toán 5 : Sinh đường cong ngẫu nhiên 

Input: Số nguyên tố pOutput: Chuỗi SEED và ,  p A B  xác định E  trên  p .

Tính trướ c 2logt p  , 1 / 256 s t  , 256.h t s  

(1)  Chọn một chuỗi bít SEED có độ dài ít nhất là 256 bít. Gọi g là độ dài theo bítcủa SEED.

(2)  Tính H=SHA256(SEED), gọi 0c là h bít bên phải của H

(3) 

0W

là h bít nhận đượ c bở i việc thiết lậ p bít ngoài cùng bên trái của0c

thành 0(nhằm đảm bảo r < p)

(4)  Với i= 1 đến s tính W 256 mod 2 g 

i   SHA SEED i  

(5)  0 1W W W ..... W s  

(6)  Vớ i1 2.... t w w w là các bít của W  từ trái qua phải. Tính số nguyên 1

1

2t 

i

i

i

r w  

.

(7)  Chọn,  p A B

sao cho2 3(mod )rB A p   (A, B không nhất thiết phải chọn

ngẫu nhiên).

(8)   Nếu 3 24 27 0 (mod ), A B p chuyển sang bướ c 1.

(9)  Đường cong đượ c chọn trên   p  là E: 2 3 y x Ax B . 

(10)  Return (SEED, A, B).

2.2.5 Thuật toán kiểm tra đường cong được sinh ngẫu nhiên 

Thuật toán 6 : Kiểm tra đường cong được sinh ngẫu nhiên 

Input: Chuỗi bít SEED có độ dài là g-bít và ,  p A B .  Output: Chấ p nhận hoặc không chấ p nhận tham số đầu vào.

Page 18: Ma Hoa Dua Tren Duong Cong Eliptic Va Ung Dung

7/23/2019 Ma Hoa Dua Tren Duong Cong Eliptic Va Ung Dung

http://slidepdf.com/reader/full/ma-hoa-dua-tren-duong-cong-eliptic-va-ung-dung 18/25

 

18

Tính trướ c 2 , t l / 256 , 256.t log p s h t s    

(1)  Tính H=  SHA256(SEED), gọi 0c là h bít bên phải của H  

(2)  0W   là h bít nhận đượ c bở i việc thiêt lậ p bít ngoài cùng bên trái của 0c thành 0.

(3)  Vớ i i= 1 đến s thực hiện:

Tính g SHA256 SEED mod 2iW i  

(4) '

0 1 ...  sW W W W    

(5)  Vớ i 1 2.... t w w w  là các bít của'W   từ trái qua phải. Tính số nguyên

1

1

' 2t 

i

i

i

r w  

 

(6)   Nếu 2 3( d )r B A mo p    thì chấ p nhận, ngượ c lại không chấ p nhận tham số đầu

vào.

2.2.6 Thuật toán tính số điểm của đường cong elliptic Định lý Hasse:

Cho E là một đườ ng cong elliptic trên trườ ng hữ u hạn   p . Khi đ ó bậc của E(   p ) thỏa

mãn: 

1 # 2 p p E p   (2.1)

Đặt t  = 1 #  p p E  . Khi đấy mối quan hệ giữa tự đồng cấu Frobenius vớ i số điểm

của đườ ng cong elliptic E  trên trườ ng hữu hạn  p .

Thuật toán 7 : Tỉnh số điểm của đường cong _ 

Input:  A ,Bvà p  xác định (E)2 3 y x Ax B  trên  p .

Output:  E (   p ) = p+1- t .  

(1) Chọn tậ p các sổ nguyên tố  2,3, 5,...,S L  sao cho:

4l S 

l p

   

(2) Vớ i l = 2 ,  Nếu gcd 3( , ) 1 p x Ax B x x thì ta có t 0 mod 2 .

 Ngượ c lại thì 1 mod 2t   .

(3)  Vớ i mỗi số nguyên tố lẻ  l S  , thực hiện các bước sau đây: 

a)  Tính modl  p p l vớ i / 2l  p l 

. b)  Tính hoành độ x' của điểm:

  2 2' ' p

, , ( , )mod

 p

l l  x y x y P x y      

Page 19: Ma Hoa Dua Tren Duong Cong Eliptic Va Ung Dung

7/23/2019 Ma Hoa Dua Tren Duong Cong Eliptic Va Ung Dung

http://slidepdf.com/reader/full/ma-hoa-dua-tren-duong-cong-eliptic-va-ung-dung 19/25

 

19

Chú ý, trong thực tế đa thức chia l   đượ c thay bở i l  f   vớ i công thức truy hồi sauđây: 

4 2

0 2 3

2

10; 1; 1; 3 6 12 . f f f f x Ax x B A  4 3 2 2 2 36

4 4( 5 20 5 4 8 ) f x x Bx A x ABx B A A  3 2 3

2 1 1

2 1 2 3 3

1 1 1

; 3, 2 1

; 2, 2

m m m m

m

m m m m

 f f F f f m m i f 

 F f f f f m m i

    (2.7)

2 2

2 1 2 1 . ; 2m m m m m f f f f f f m  

Trong đó  3 F x Ax B .

c)  Vớ i 1,2, ..., 1 / 2 j l   thực hiện các bướ c sau:

(i)  Tính hoành độ   j x  của điểm   , , j j x y j x y  

(ii) 

 Nếu

'

x 0(mod )

 p

 j l  x      thì chuyển sang bướ c iii. Còn không thì tiế p tụcthử  vớ i giá tr ị  tiế p theo của j. Nếu mọi giá tr ị  của j trong đoạn

1, 1 /2l   đã đượ c thử thì sang bướ c d.

(iii)  Tính ' à y j y v . Nếu ' ) / 0(mod ) j l  y y y     thì (mod )t j l  , còn không

thì (mod ).t j l   

d)  Tính w sao cho 2   (mod )w p l   nếu w không tồn tại thì 0(mod )t l  .

e)   Nếu gcd(tử _số _của , p

w l  x x     ) = 1 thì 0(mod )t l  . Còn không thì tính

gcd(tử _số _của   / , pw l  y y y     ). Nếu gcd này là 1 thì t 2w (mod )l  . Còn

không thì 2 (mod )t w l  .

(4) Sử dụng các giá tr ị  (mod )t l  đã tính ở   bướ c 3 vớ i mỗi l S   và Định lý Phần dư

Trung hoa để tính (mod )t l  . Chọn giá tr ị t  duy nhất thoả mãn 2t p  

(5) Tr ả về  1 p E p t  .  

Đánh giá độ phứ c tạp của thuật toán Schoof: Các phép tính phức tạ p nhất phải thực hiện trong mỗi bướ c tính (mod )t l  là tính

2

(mod ), (mod ), (mod ) p p

l l l  x w x w y w  và2

(mod ) p

l  y w .

 Như vậy, vớ i mỗi một số  nguyên tố  l , để  tính (mod )t l  yêu cầu cỡ  4 2 7(log ). (log ). (log ) (log )O p O p O p O p  phép toán bít.

Số lượ ng các số nguyên tố l xuất hiện là cỡ   (log )O p  , như vậy độ phức tạ p tổng thể 

của thuật toán Schoof là cỡ   7 8(log ). (log ) (log )O p O p O p  phép toán bít.

Page 20: Ma Hoa Dua Tren Duong Cong Eliptic Va Ung Dung

7/23/2019 Ma Hoa Dua Tren Duong Cong Eliptic Va Ung Dung

http://slidepdf.com/reader/full/ma-hoa-dua-tren-duong-cong-eliptic-va-ung-dung 20/25

 

20

2.2.7 Thuật toán sinh tham số miền 

Hình 5: Lưu đồ thuật toán sinh tham số miền

Xác định độ dài của N  và p theo EC2, EC3

Sinh ngẫu nhiên điểm cơ sở

OUTPUT:( p, A, B, G, N, h =1, SEED)

Tính số điểm của đường cong :

Sinh đường cong ngẫu nhiên

Sinh số nguyên tố tất định p

 N is prime

EC6

INPUT:

EC4

2011 2020; y atm

: EE , , p E S D AB

#  p N E 

EC5

-

+

-

+

-

+

-

+

( , )G G

G x y  

EC7 -

+

 

Thuật toán 8: Sinh tha m số miền cho hệ mật đường cong elliptic 

Input: Số năm y trong khoảng 2011 -2020 và biến atm (bằng 1 xác định mức an toàn làATM1, bằng 2 xác định ATM2).Output: Bộ tham số miền ( , , , , , , ). p   A B G N h SEED  

(1)  Dựa vào y và biến xác định mức an toàn atm để tính các giá tr ị cụ thể của độ dàikhóa N  và modulo p theo tiêu chuẩn EC2 và EC3.

(2) 

Sử dụng một thuật toán tất định để sinh số nguyên tố  p có thể chứng minh đượ ctheo độ dài đã xác định trong bước (1). Lưu lại p. 

(3)  Sử dụng Thuật toán 5 để sinh đườ ng cong ngẫu nhiên có thể kiểm tra đượ c trong

 p . Lưu lại SEED, A, B. 

(4)  Sử dụng Thuật toán 7 để tính số điểm của đường cong đượ c sinh ngẫu nhiên: N=#E(   p ). 

(5)   Nếu N  là hợ  p số thì quay lại bướ c (3).(6) 

[1]. 

Kiểm tra tiêu chuẩn EC6 về ướ c nguyên tố của N± 1, nếu không thỏa mãn thìquay về  bướ c (3).

Page 21: Ma Hoa Dua Tren Duong Cong Eliptic Va Ung Dung

7/23/2019 Ma Hoa Dua Tren Duong Cong Eliptic Va Ung Dung

http://slidepdf.com/reader/full/ma-hoa-dua-tren-duong-cong-eliptic-va-ung-dung 21/25

 

21

[2]. 

Kiểm tra tiêu chuẩn EC4 về đườ ng cong bất quy tắc: Nếu N = p thì quay về  bướ c (3).

[3].  Kiểm tra tiêu chuẩn EC5 về điều kiện MOV, nếu không thỏa mãn thì quay về  bướ c (3).

(7)  h =1.

(8) 

Sinh ngẫu nhiên một điểm cơ sở   G( , )GG x y   .(9)  Kiểm tra điểm cơ sở   theo tiêu chuẩn EC7 (

2 4 2 20,3 0(mod ),5 2 4 0(mod )G G G G G x x p x Ax Bx A p .   Nếu không thỏa

mãn thì quay về  bướ c (8).(10)  Tr ả về ( p, A, B, G, N, h, SEED). 

2.2.8 Thuật toán kiểm tra tính hợp lệ của tham số miền 

Thuật toán 9 : Kiểm tra tính hợp lệ của tham số miền Input: Bộ tham sô miền (p, A, B, G, N, h, SEED). Output: "tham số  miề n hợ  p l ệ"  hoặc "tham số  miề n không hợ  p l ệ"  

Kiểm tra độ dài theo bít của N theo tiêu chuẩn EC2.(1)  Kiểm tra p là nguyên tố (dựa theo các bằng chứng nguyên tố đã đượ c tạo ra

trong quá trình sinh p từ Thuật toán 8). Kiểm tra độ dài của p theo tiêu chuẩnEC3.

(2)  Kiểm tra, , ,G G p A B x y  

 

(3) 

Kiểm tra A, B có đượ c dẫn xuất từ SEED không (theo Thuật toán 6 về việckiểm tra đường cong đượ c sinh ngẫu nhiên).

(4)  Kiểm tra3 2(4 27 ) 0 (mod ). A B p  

(5)  Kiểm tra tiêu chuẩn EC7 2 3   A modG G G y x x B p ;20;3 0(mod )

G G x x A p ; 4 2 25 2 4 0 modG G G x Ax Bx A p .

(6)  Kiểm tra N là nguyên tố và h = 1 theo tiêu chuẩn EC4.(7)  Kiểm tra tiêu chuẩn EC6 về ướ c nguyên tố của N ± 1.

(8)  Kiểm tra  NG  ,(9)  Kiểm tra điều kiện MOV theo tiêu chuẩn EC5.

(10)  Kiểm tra điều kiện đườ ng cong bất quy tắc theo tiêu chuẩn EC4:  N p .(11)   Nếu một trong các bướ c kiểm tra trên cho k ết quả sai thì tr ả về “tham số miền

không hợ  p lệ” còn không thì tr ả về “tham số miền hợ  p lệ”. 

Kết luận chương 

Các k ết quả cụ thể của chương 2: 

(1) 

Đã đưa ra các thuật toán phục vụ cho bài toán sinh tham số.

Page 22: Ma Hoa Dua Tren Duong Cong Eliptic Va Ung Dung

7/23/2019 Ma Hoa Dua Tren Duong Cong Eliptic Va Ung Dung

http://slidepdf.com/reader/full/ma-hoa-dua-tren-duong-cong-eliptic-va-ung-dung 22/25

 

22

(2) 

 Nghiên cứu bài toán sinh tham số an toàn cho hệ mật Elliptic theo các tiêu chuẩn ISOvà IEEE.

Các k ết quả của chương này thu đượ c khẳng định việc xây dựng bài toán tham số an toàn chohệ mật có tính khả thi áp dụng vào bài toán thực tế đượ c trình bài ở  chương 3. 

CHƯƠNG 3 - ỨNG DỤNG TRONG BÀI TOÁN BẢO MẬT MẠNGRIÊNG ẢO

3.1. Phần mềm bảo mật mạng riêng ảo OpenVPN 

OpenVPN là một bộ chương trình tạo mạng riêng ảo (VPN) mã nguồn mở  dựa trêngiao thức bảo mật SSL/TLS. OpenVPN bao gồm 03 thành phần: thiết lậ p khóa, mã hóa/ giảimã bở i một thuật toán đối xứng, đảm bảo tính toàn vẹn dữ liệu bằng HMAC (dựa trên hàm

 băm mật mã).

3.2. Tích hợp giao thức trao đổi khóa EC-HMQV trong SSLHugo Krawczyk đã đề xuất một biến thể đơn giản nhưng mạnh mẽ của MQV (tương

ứng EC-MQV), và gọi là giao thức HMQV (tương ứng là EC-HMQV). Cũng giống nhưMQV, giao thức HMQV dựa trên giao thức Diffie-Hellman cơ bản. Điểm khác nhau giữaHMQV và MQV nằm trong việc tính toán khoá phiên có sử dụng hàm Hash.

Thuật toán 10 : Tính khóa chung của giao thức EC -HMQV

Input: Tậ p các tham số hệ thống (  p, E, N, h, G) và các thông tin đã nhận đượ c từ 

Bướ c 2 của A là , . , , . , . . A A B s s G x x G y G và s G   (tương tự  của B là, . , , . , . .

 B B A s s G y y G x G và s G )

Output: Khóa bí mật k và k’ cho thực thể A (và B)

Thự c thể A Thự c thể B

Bướ c 1: 2log

2

 pl 

 

  Bướ c 1: 2log

2

 pl 

 

 

Bướ c 2: d (x.G, ) A   H B   Bướ c 2: d ( . , ) B   H y G A  

Bướ c 3: c . mod A A A x d s N    Bướ c 3: c . mod B B B y d s N   Bướ c 4:

Ae ( . , ) H y G A   Bướ c 4: e ( . , ) B   H xG B  

Bướ c 5:   . .

 A A BQ c y G e s G

 Bướ c 5:   . . B B AQ c x G e s G  

Bướ c 6: , ’k k H Q   Bướ c 6: , ’k k H Q  

3.3. Tích hợp tham số an toàn hệ mật Elliptic 

Để sử dụng tham số do ta tự sinh ra trong bộ phần mềm OpenVPN. Ta phải chuyểnđổi sang định dạng PEM và X.509 cho khóa bí mật và công khai. Tham số khóa bí mật sẽ 

Page 23: Ma Hoa Dua Tren Duong Cong Eliptic Va Ung Dung

7/23/2019 Ma Hoa Dua Tren Duong Cong Eliptic Va Ung Dung

http://slidepdf.com/reader/full/ma-hoa-dua-tren-duong-cong-eliptic-va-ung-dung 23/25

 

23

đượ c sử dụng trong lược đồ chữ ký số ECDSA (cho việc kiểm tra chứng chỉ số của đối tác)và trong lược đồ trao đổi khóa EC- HMQV. Để làm được điều này, ta cần chỉnh sửa code củathư viện SSL như sau: (1). Do bộ thư viện SSL sử dụng các tham số hệ mật Elliptic theo các chuẩn của NIST,

FIPS và SEClv2-2009 nên các số nguyên tố modulo ở  dạng đặc biệt. Các phép tính

liên quan đến modulo được cài đặt mặc định để sử dụng cho các số nguyên tố đó. Tacần phải chỉnh sửa code trong file ec_cvt.c để bộ thư viện có thể tính toán đượ c vớ icác số nguyên tố modulo ngẫu nhiên do ta sinh ra.

(2). Khai báo các tham số hệ mật Elliptic cần sử dụng trong file ec_curve.c. Sử dụng tiệních ecparam.c để chuyển đổi tham số  sang dạng PEM và chứng chỉ  sổ X.509 hoặcPKCS12.

3.4 Mô hình thử nghiệm bảo mật VPN 

3.4.1 Mô hình mạng  

Hình 6: Mô hình bảo mật VPN 

3. 4.2. Thiết  lập cấu hình cho VPN Server  # VPN Server

Port 1194

Proto udp

Dev tap0

# RootCA sử  d ụng tham số hệ m ật Elliptic

ca /etc/openvpn/key/ec_ca.crt# Khóa công khai/ bí m ật sử  d ụng tham số Elliptic

cert /etc/openvpn/key/server1.crt

Page 24: Ma Hoa Dua Tren Duong Cong Eliptic Va Ung Dung

7/23/2019 Ma Hoa Dua Tren Duong Cong Eliptic Va Ung Dung

http://slidepdf.com/reader/full/ma-hoa-dua-tren-duong-cong-eliptic-va-ung-dung 24/25

 

24

key / etc/openvpn/key/server1.key

# Tham số Diffie-Hellman cho trao đổi khóa EC-HMQV

ecdh /etc/openvpn/key/ecdh.pem

# Mã hóa và xác thự c dùng AES và SHA2

cipher AES-256-CBC

auth SHA256………… 

3.4.3. Thiết lập cấu hình cho VPN Client  # VPN Client: Linux – User02

Client

Proto udp

Dev tap0

# RootCA sử  d ụng tham số hệ m ật Elliptic

ca /etc/openvpn/key/ec_ca.crt

# Khóa công khai/ bí m ật sử  d ụng tham số Elliptic

cert /etc/openvpn/key/user2.crt

key / etc/openvpn/key/user2.key

# K ết nối đến địa chỉ thật của VPN Server

Remote 192.168.1.18 1194

# Mã hóa và xác thự c dùng AES và SHA2

cipher AES-256-CBC

auth SHA256

…………

 

3.4.4. Kết quả và nhận xét  

Việc thay thế  giao thức trao đổi khóa ECDH bở i EC-HMQV trong bộ  thư việnOpenSSL là công việc phức tạp và khó khăn. 

Quá trình hoạt động của bộ chương trình bảo mật VPN sau khi đã tích hợ  p giao thứctrao đổi khóa EC-HMQV và sử dụng tham số hệ mật Elliptic do Luận văn tạo ra.

Kết luận Chương

Các k ết quả cụ thể trong Chương 3 bao gồm:(1). Nghiên cứu và áp dụng các thuật toán phục vụ cho bài toán sinh tham số theo cáctiêu chuẩn ISO và IEEE.(2). Nghiên cứu chương trình sinh tham số an toàn hệ mật Elliptic theo các tiêu chuẩnđã đề xuất.(3). Ứ ng dụng phần mềm bảo mật mạng riêng ảo và áp dụng các tham số an toàn hệ mật Elliptic.

Các k ết quả thu đượ c tr ong chương này khẳng định tham số sinh ra vớ i giá tr ị p là số nguyêntố ngẫu nhiên có tính bảo mật hơn so vớ i giá tr ị p là số nguyên tố đặc biệt và khả thi trongthực tế.

Page 25: Ma Hoa Dua Tren Duong Cong Eliptic Va Ung Dung

7/23/2019 Ma Hoa Dua Tren Duong Cong Eliptic Va Ung Dung

http://slidepdf.com/reader/full/ma-hoa-dua-tren-duong-cong-eliptic-va-ung-dung 25/25

 

25

KẾT LUẬN A.  Các k ết quả đạt đưọc của Luận văn 

1. 

Đã nghiên cứu cơ sở  toán học hệ mật dựa trên đườ ng cong elliptic và các tấn công đốivớ i hệ mật Elliptic.2.  Đã nghiên cứu, đánh giá một số chuẩn về tham số.3.   Nghiên cứu đượ c giá tr ị tham số p là số nguyên tố ngẫu nhiên là an toàn cho các tham

số hệ mật Elliptic.4.  Đã nghiên cứu, đánh giá thuật toán tính số điểm của đườ ng cong elliptic phục vụ cho

 bài toán sinh tham số an toàn.5.  Đã nghiên cứu về cấu trúc, nguyên lý hoạt động của một ứng dụng bảo mật mạng

riêng ảo (trao đổi khóa, tham số an toàn ...).

B. 

Hướ ng nghiên cứ u tiếp theo1.   Nghiên cứu phương pháp tính số điểm của đường cong theo phương pháp nhân phức

CM để tăng tính hiệu quả của thuật toán sinh tham số.

2.  Cậ p nhật phương pháp tính độ dài khóa dựa trên điện toán đám mây.