Tải bản đầy đủ (.pdf) (31 trang)

Tài liệu Đồ án tốt nghiệp Hệ mật đường cong elliptic docx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (425.51 KB, 31 trang )

Đồ án tốt nghiệp Hệ mật đường cong elliptic





MỞ ĐẦU
Ngày nay với sự phát triển mạnh mẽ 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, E-mail cho phép người ta nhận hay gửi thư ngay trên
máy tính của mình, E-business cho phép thực hiện các giao dịch trên mạn.
Do vậy một vấn đề phát sinh là thông tin có thể bị trộm cắp, có thể là sai lệch,
có thể giả mạo. Điều đó có thể ảnh hưởng tới các tổ chứa, các công ty hay cả
một quốc gia. Những bí m
ật kinh doanh, tài chính là mục tiêu của các đối thủ
cạnh tranh. Những tin tức về an ninh quốc gia là mục tiêu của các tổ chức tình
báo trong và ngoài nước.
Để 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. Kỹ thuật
này có từ ngàn xưa nhưng nó đơn giản, ngày nay khi có mạng máy tính người
ta dùng mật mã hiện đại. Các nhà khoa học đã phát minh ra những hệ mật mã
nhằm che d
ấu thông tin cũng như là làm rõ chúng để tránh sự giòm ngó của
những kẻ cố tình phá hoại như các hệ mật: RSA, Elgamal… mặc dù cũng rất
an toàn nhưng có độ dài khoá lớn nên trong một số lĩnh vực không thể ứng
dụng được.
Chính vì vậy người ta đã phát minh một hệ mật đó là hệ mật trên đường
cong elliptic, hệ mật này được đánh giá là hệ mật có độ bảo mật an toàn cao
và hiệu quả
hơn nhiều so với hệ mật công khai khác, nó đã được ứng dụng
trên nhiều lĩnh vực và được sử dụng nhiều nơi trên thế giới tuy nhiên còn


mới mẻ ở Việt Nam. Trong tương lai gần Hệ mật trên đường cong Elliptic
sẽ được sử dụng một cách phổ biến và thay thế những hệ mật trước nó.
Đồ án tốt nghiệp Hệ mật đường cong elliptic

Vì lý do đó, em đã chọn đề tài “Hệ mật đường cong elliptic” để nghiên
cứu, tìm hiểu nhằm tiến tới khai thác hệ mật này phục vụ cho bảo mật thông
tin trong thực tế.

Luân văn này gồm 4 chương
 Chương 1: Cơ sở toán học
 Chương 2: Hệ mật mã
 Chương 3: Đường cong Elliptic
 Chương 4: Hệ mật đường cong Elliptic
 Chương 5: Một vài ứng dụ
ng
Nhưng trong báo cáo này em trình bày tóm tắt nội dung chính trong đề
tài:”Hệ mật đường cong elliptic”.























Đồ án tốt nghiệp Hệ mật đường cong elliptic




CHƯƠNG 1
CƠ SỞ TOÁN HỌC
1.1. Phương trình đồng dư bậc hai và thặng dư bậc hai
Ta xét phương trình đồng dư bậc hai có dạng như sau:
x
2
≡ a (mod n)
Trong đó n là số nguyên dương, a là số nguyên v
ới gcd(a, n) ≡ 1, và x
là ẩn số. Phương trình đó không phải bao giờ cũng có nghiệm, khi nó có
nghiệm thì ta gọi a là thặng dư bậc hai mod n. Ngược lại thì a gọi là một bất
thặng dư bậc hai mod n.
Tập các số nguyên nguyên tố với n được phân hoạch thành hai tập con.
Tập Q
n
các thặng dư bậc hai mod n, và tập các bất thặng dư bậc hai mod n.

Tiêu chuẩn Euler
Khi p là số nguyên tố, số a là thặng dư bậc 2 mod p nếu và chỉ nếu a
(p-
1)/2
≡ 1 (mod p)
Ký hiệu Legendre
Cho p là số nguyên tố, với p >2, số a ≥ 0 là số nguyên. Ta định nghĩa








p
a
như sau:








p
a
=
0, , 0 (mod )

1, , ;
1, , .
khi a p
khi a Qp
khi a Qp






−∉


Chú ý:
+ Từ định nghĩa suy ra a là thặng dư bậc hai mod p khi và chỉ khi








p
a
= 1
+ Theo tiêu chuẩn Euler nói trên, với mọi a ≥ 0 ta có:
Đồ án tốt nghiệp Hệ mật đường cong elliptic











p
a
≡ a
(p-1)/2
(mod p) .
Legendre Symbol thoả mãn các tính chất sau:
1.








p
a
chỉ phụ thuộc vào đồng dư của a theo mod p.
2.









p
ab
=








p
a








p
b
;

3. b nguyên tố với p thì








p
ab
2
=








p
a
;
4.









p
1
=1 và









p
1
= (-1)
(p-1)/2
.
Định lý 1:








p

2
= (-1)
(p
2
– 1)/8
=
1 1 mod 8
1 3 mod 8
p
p
≡±


−≡±


Định lý: Gọi là luật thuận nghịch bình phương.
Cho p, q là 2 số nguyên tố lẻ, khi đó:

Định lý 2
Nếu a ≡ b mod p →








p

a
=








p
b

Định lý 3








p
2
= 1 p
≡ 1 mod 8 hay p ≡ 7 mod 8

-1 p ≡ 3 mod 8 hay p ≡ 5 mod 8










p
q
= (-1)
(p-1)(q-1)/4
.








q
p
=
3mod4
p
neu p q
q
p
trong truong hop khac
q


⎛⎞
−≡≡

⎜⎟
⎪⎝ ⎠

⎛⎞

⎜⎟

⎝⎠



Đồ án tốt nghiệp Hệ mật đường cong elliptic

Ví dụ: Cho a = 186, p= 401 (p là số nguyên)
Tìm a có là thặng dư bậc hai không nghĩa là a

Q
401
?
Và tìm x? với x
2
≡ a mod 401









p
a
=






401
186
=






401
93.2
=







401
2






401
93
.
Theo định lý 3:
Vì 401
≡ 1 mod 8







401
2
=1 vậy









p
a
=






401
186
=






401
93
=








401
313
=






401
3






401
31

Nhưng






401
3

= (-1)
4
400.2
.






3
401
=






3
2
= -1 (định lý 1)







401

31
= (-1)
4
400.30







3
401
=






3
401
=






31

29
=






29
2
=-1.
Vậy








p
a
= 1.(-1).(-1) = 1 Do đó a

Q
401
Tiếp theo ta cần tìm x: x
2
≡ 186 mod 401.
Lấy n =3 rõ ràng 3 không là đồng dư toàn phương của 186 theo mod

401 (như trên ta đã chứng minh được






401
3
= -1).
Ta có p-1 = 400 = 2
4
.






3
25
→ b = n
S
= 186
25
mod 401 = 286 mod 401.
Còn r = a
2
1+S
mod 401 = 186 mod 401 = 103.

Tính a
-1
mod 401 = 186
-1
mod 401 = 235 (thuật toán ơclit mở rộng).
Tính a
-1
. r
2
= 103
2
. 235 mod 401 = 98 vì
α
-2 = 4-2 =2 do đó ta nâng
luỹ thừa 2
2
= 4 = của 98 và có 98
4
≡ -1 mod 401 = -1 (98
4
mod 401 = (98
2

mod 401)( 98
2
mod 401) mod 401 = 381
2
mod 401 = -1)⇒ đặt j
0
= 1 tiếp

theo, ta có (br)
2
/a = -1 ⇒ luỹ thừa bậc 2 của nó là 1 ⇒ đặt j
1
=0, cứ thế j
2

=1(2 = K =
α
) Vậy j =5 vì 1.2
2
+1 = 5
⇒ Căn bậc 2 của 186 là b
5
r mod 401 = 304
Đồ án tốt nghiệp Hệ mật đường cong elliptic

Thử lại 304
2
≡ 186 mod 401?
Ta có 304
2
= 92416 vậy 304
2
= 186 = 92230
≡ 0 mod 401
⇒ x= 304

Ký hiệu Jacobi Symbol
Bây giờ ta mở rộng ký hiệu Legendre để được ký hiệu Jacobi đối với

mọi số nguyên lẻ n ≥ 1 và mọi số nguyên a ≥ 0.
Giả sử a có khai triển chính tắc thành thừa số là n = p
a1
1
, p
a2
2
,……, p
an
n
thì
a
n
⎛⎞
⎜⎟
⎝⎠
=
1
1
a
a
p
⎛⎞
⎜⎟
⎝⎠
2
2
a
a
p

⎛⎞
⎜⎟
⎝⎠
………
ak
k
a
p
⎛⎞
⎜⎟
⎝⎠

với a
1
, a
2
, … , a
k
≥ 1
P
1
, P
2
, ….P
k
là những số nguyên tố.
Khi n = p là số nguyên tố thì giá trị của các ký hiệu Legendre và Jacobi
là như nhau. Việc tính ký hiệu Legendre có thể phức tạp khi p rất lớn, trong
khi việc tính ký hiệu Jacobi có thể thuận lợi hơn do có thể sử dụng các tính
chất 1- 4 sau đây:


Bây giờ xét việc giải phương trình đồng dư bậc hai:
x
2
≡ a (mod n) (*)
1. Nếu m
1
≡ m
2
mod n thỡ
1
m
n
⎛⎞
⎜⎟
⎝⎠
=
2
m
n
⎛⎞
⎜⎟
⎝⎠
.
2.
2
n
⎛⎞
⎜⎟
⎝⎠

=
1, 1(mod 8)
13(mod8)
khi a
khi a
≡±


−≡±


3.
12
mm
n
⎛⎞
⎜⎟
⎝⎠
=
1
m
n
⎛⎞
⎜⎟
⎝⎠

2
m
n
⎛⎞

⎜⎟
⎝⎠
.
4. Nếu m và n đều là số là thỡ:
m
n
⎛⎞
⎜⎟
⎝⎠
=
3mod4& 3mod4
1mod4 1mod4
n
khi m n
m
n
khi m n
m

⎛⎞
≡≡
⎜⎟

⎪⎝ ⎠

⎛⎞

≡∨≡
⎜⎟


⎝⎠


Đồ án tốt nghiệp Hệ mật đường cong elliptic

Trong một trường hợp đặc biệt khi n = p là số nguyên tố có dạng p =
4m + 3 tức là p đồng dư với 3 theo mod 4, và a là một số nguyên nguyên tố
với p. Theo tiêu chuẩn Euler ta biết phương trình (*) có nghiệm khi và chỉ
khi a
(p-1)/2
≡ 1 (mod p). Khi đó ta có:

a
1
2
1
+
−p
≡ a (mod p),
a
)1(2 +m
≡ a (mod p).

1.2. Nhóm
Định nghĩa: Nhóm là một tập hợp G ≠
φ
cùng với phép toán hai ngôi *
trên G. Với a, b
∈ G, a * b =


G thoả mãn tính chất sau:
1. Tính kết hợp: (a * b) * c = a * (b * c) với mọi a, b, c

G.
2. Phần tử đồng nhất: Tồn tại e

G thoả mãn e * a = a *e = a với mọi a


G (e được gọi là phần tử trung hoà).
3. Phần tử nghịch đảo: với mỗi a

G, tồn tại một phần tử b

G thoả mãn
b * a = a * b = e (b là duy nhất và được gọi là phần tử nghịch đảo của
a). Và người ta ký hiệu của a bởi a
-1
.
- Ký hiệu <G,*> là nhóm nhân và G <G,+> là nhóm cộng. Trong đó
nhóm cộng, phần tử trung hoà là 0 và phần tử nghịch đảo của a là –a. Trong
nhóm nhân, phần tử trung hoà là 1 và phần tử nghịch đảo của a là a
-1
.
<G,*> đ ươc gọi là một nhóm giao hoán (nhóm Abelian) nếu b * a = a * b
với a, b
∈ G.
- Một nhóm có cấp hữu hạn được gọi là nhóm hữu hạn
Nếu <G, *> là nhóm hữu hạn thì số các phần tử của <G, *> được gọi là
bậc của G và ký hiệu là |G| . Nếu <G, *> là nhóm nhân hữu hạn, bậc của một

phần tử a

G kà số nguyên dương nhỏ nhất m thoả mãn a
m
= 1. Trong nhóm
có cấp hữu hạn, với mọi phần tử thuộc nhóm, m luôn tồn tại.
Nhóm Cylic
Đồ án tốt nghiệp Hệ mật đường cong elliptic

Là nhóm mà mọi phần tử của nó được sinh ra từ một phần tử đặc biệt g

G.
Phần tử này được gọi là phần tử sinh (nguyên thuỷ) tức là:
Với
∀ x ∈ G(G là nhóm với toán tử * ):

n

N mà g
n
= x
Ví dụ: (Z
+
, *) là nhóm Cylic có phần tử sinh là 1.
1.3. Trường
Giả sử F là một tập hợp khác rỗng, trên đó có hai phép toán cộng và
phép nhân. Khi đó F là một trường nếu và chỉ nếu:
1. (F, +) là nhóm giao hoán với phần tử đơn vị là “0”.
2. (F\{0}, .) là nhóm giao hoán với phần tử đơn vị là “1”.
3. Các phép toán cộng và nhân có tính chất phân bố:

a.(b.c) = (a.b) + (a.c)
Trường có thể định nghĩa như là vành giao hoán với phần tử đơn vị (trừ
phần tử
0) đều có phần tử nghịch đảo cùng thuộc trường.
Ví dụ: Q = {
q
p
p, q là số nguyên: (p, q) = 1} trên Q có 2 phép toán cộng
và nhân thông thường là một trường.
Định nghĩa
Cho F là một trường. Tập con K của F cũng là một trường với các toán
tử của F, được gọi là trường con của F, hay F là một trường mở rộng của K.
N
ếu K≠ F thì K được gọi là một trường con hợp lệ của F. Trường là tối giản
nếu có không có trường con hợp lệ nào. Với trường F bất kỳ, giao F
0
của tất
cả các trường con hợp lệ là trường tối giản. Trường F được gọi là có đặc số 0
nếu F
0


Q nghĩa là F chứa Q như một trường con. Trường F được gọi là đặc
số p nếu F
0
≅ Z
p
.
Trường hữu hạn là trường chứa hữu hạn các phần tử. Đối với một
trường hữu hạn thì

∀ a ∈ F luôn luôn tồn tại một số nguyên dương n sao cho:


n
aa++
64748
= 0
Định nghĩa
Đồ án tốt nghiệp Hệ mật đường cong elliptic

Trường K với phần tử đơn vị nhân là 1. Với p dương nhỏ nhất thoả
mãn
4434421
p
1 11 +++
= 0 được gọi là đặc số của K.
(Các trường hữu tỷ Q, số thực R, số thực C có đặc số là 0). Người ta chứng
minh được rằng đặc số của trường hữu hạn là số nguyên tố.
Với p là nguyên tố thì GF (p
n
) có đặc số p.
1.4. Trường hữu hạn
Trường hữu hạn là trường có hữu hạn các phần tử ký hiệu là F
q
hoặc
GF(q) với q là số các phần tử.
Trường hữu hạn không có đặc số 0. Ta gọi p là đặc số của F
q
khi đó F
q


khi đó F
q
chứa trường nguyên tố F
p
= Z/ pZ vì vậy một không gian vector(
không cần thiết phải có chiều hữu hạn) trên trường F
p
. Lấy f ký hiệu là chiều
của nó coi F
p
như là một không gian vector đó. Bằng cách chọn cơ sở cho
phép chúng ta lập nên một tương ứng 1-1 giữa không gian vector f chiều với
tập hợp tất cả bộ f phần tử trong F
p
nghĩa là q là luỹ thừa của đặc số p.
Đối với mỗi lũy thừa nguyên tố q = p
f

có tồn tại một trường q phần tử và đó
là trường duy nhất (theo nghĩa đẳng cấu).
Cấp của các phần tử trong F
*
q
theo nghĩa đối với phép nhân với F
*
q
là tập hợp
tất cả các phần tử khác không của trường F
q

(q hữu hạn)
Chú ý rằng đối với mọi nhóm nhân hữu hạn, cấp của bất cứ một số phần tử
khác không nào cũng là ước của số các phần tử trong nhóm. Cụ thể ta có định

Định nghĩa
Giả sử phần tử g
∈ F
q
nếu cấp của g là q-1 tức là {g
1
, g
2
,……, g
q-1
= 1}
= F
*
q
Đồ án tốt nghiệp Hệ mật đường cong elliptic

CHƯƠNG 2
ĐƯỜNG CONG ELLIPTIC

2.1. Mở đầu và đặt bài toán
Lý thuyết đường cong Elliptic được xác định trên trường số hữu hạn đã
có địa chỉ ứng dụng trong lĩnh vực mật mã đáng lưu ý. Lý do cơ bản của nó là
đường cong Elliptic trên trường hữu hạn đã cung cấp cho chúng ta một cơ sở
xây dựng thuật toán không thể dùng thuật toán vét cạn để thám mã của nhóm
Abelian ngay cả khi nhóm đó có cấp không lớn lắm.
Đườ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:
y
2
+ a
1
xy + a
3
y = x
3
+ a
2
x
2
+a
4
x + a
6.

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

2
+a
4
x + a
6 2
(*)
Xét đường cong E trên trườngnguyên tố hữu hạn F
p
(p nguyên tố, p>3 ) với
công thức biến đổi như sau:
X→X −
3
2
a
, Y→ Y −
2
31
aXa
+

Khi đó phương trình Weierstrass có dạng:
X
3
+ aX +b.
Vậy trong trường F
p
(*) trở thành:
Y
2
= X

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

K)
Khi đó đường cong elliptic trên trường K: Y
2
= X
3
+ aX + b (1) là tập
hợp tất cả các điểm (x, y) với x, y

K sao cho (1) không có các nghiệm bội
Đồ án tốt nghiệp Hệ mật đường cong elliptic

tức là 4a
3
+ 27b
2
≠ 0 mod p cùng với phần tử O - điểm O này được gọi là
điểm vô hạn.
Tức là đường cong Elliptic là tập hợp S:
S = { (x, y) : y
2
= x
3

+ ax +b, x, y

K } ∪ {O} .
Với a, b
∈ K cho trước sao cho 4a
3
+ 27b
2
≠ 0 theo mod p.
Nếu K là trường đặc số 2 thì ta định nghĩa:
S = { (x, y) : y
-2
+ y= x
3
+ ax +b } ∪ {O} (2)
 Nếu K là trường đặc số 3 thì ta định nghĩa:
S = { (x, y) : y
2
= x
3
+ ax +bx + c } ∪ {O} (3)
* Tính chất của đường cong elliptic:
• Nếu hai điểm P
1
(x
1
, y
1
) và P
2

(x
2
, y
2
) với x
1
≠ x
2
nằm trên đường cùng
một đường cong elliptic E, thì đường thẳng qua hai điểm P
1
và P
2
sẽ cắt
một điểm duy nhất P
3
( x
3,
y
3
) có thể xác định thông qua P
1
và P
2
nằm
trên đường cong E.
• Tiếp tuyến của đường cong tại điểm bất kỳ P(x, y) trên đường cong E
cũng cắt đường cong elliptic E tại một điểm duy nhất nằm trên đường
E, điểm này cũng có thể xác định được thông qua P.
Dựa vào những tính chất đó người ta đã nghiên cứu và phát hiện ra một

khả năng mới cho kỹ thuật mã hoá nói chung và chứng thực nói riêng, kỹ
thuật mã hoá dựa trên đường cong elliptic.
Người ta đã chỉ ra rằng các hệ mã hoá bằng đường cong elliptic có độ
bảo mật cao hơn nhiều so với các hệ mã hoá công khai khác như RSA,
Elgamal. Độ bảo mật dựa trên độ khó phân tích số nguyên thành các thừa số
nguyên tố cũng như bài toán logarit rời rạc, độ dài khoá giảm đi nhiều lần và
do đó tốc độ thực hiện cũng sẽ nhanh hơn rất nhiều. Chính vì vậ
y ta áp dụng
kỹ thuật mã hoá bằng đường cong elliptic vào nhiều lĩnh vực khác nhau.
Các kỹ thuật mã hoá bằng phương pháp đường cong elliptic được sử
dụng hiệu quả nhất trong việc xây dựng các giải pháp bảo mật thông tin cho
Đồ án tốt nghiệp Hệ mật đường cong elliptic

các thẻ thông minh(Smart Card), các thiết bị điện tử có khả năng tính toán và
không gian bộ nhớ hạn chế.
2.2. Đường cong elliptic trên trường hữu hạn
Xét trường hữu hạn F
q
của q = p
r
phần tử trên trường hữu hạn K. Giả sử
E là đường cong elliptic được định nghĩa trên F
q
. Nếu đặc số của trường p=2
hoặc p=3 thì E được cho bởi phương trình ở (2) và (3) .
Dễ dàng thấy rằng một đường cong như vậy có thể có nhiều nhất là 2p+1
điểm trong F
q
, nghĩa là điểm vô cùng với 2q cặp (x, y) trong đó x, y ∈F
q

thoả
mãn (1) (2) (3) (nếu p=2 hoặc 3), tức là với mỗi q giá trị x có thể có tồn tại
nhiều nhất 2 giá trị y thoả mãn (1). Nhưng vì chỉ có một nửa các phần của F
*
q

có căn bậc 2 người ta kỳ vọng (nếu x
3

+ ax +b là các phần tử ngẫu nhiên của
trường ) chỉ có khoảng một nửa số các điểm của Fq. Chính xác hơn, giả sử
λ
đặc trưng toàn phương của F
q
(lấy
λ
(0) = 0).
Ví dụ:
Nếu q = p là 1 số nguyên tố thì
λ
(x) =(
p
x
) là ký hiệu Legedre
Symbol). Do đó trong tất cả mọi trường hợp số các nghiệm y
∈F
q
thoả mãn
phương trình y
2

= u là bằng 1 +
λ
(u). Vì vậy số các nghiệm ở phương trình 1
và điểm vô hạn là:
1 +

∈Fqx
(1+
λ
(x
3
+ ax + b)) = q + 1 +

∈Fqx
(1+
λ
(x
3
+ ax + b)) (6)
Ta hy vọng rằng
λ
( x
3
+ ax + b) bằng +1 và -1.
Lấy tổng ngẫu nhiên: tung đồng xu q lần. Người ta thấy rằng

∈Fqx
(x
3
+ ax + b) bị chặn bởi 2

q
đó chính là định lý Hasses được phát triển
như sau:
Định lý: Gọi N là số các điểm trên đường cong elliptic được định nghĩa trên
F
q
. Khi đó | N−(q + 1) | ≤ 2
q

Đồ án tốt nghiệp Hệ mật đường cong elliptic

2.3. Các phép toán trên đường cong Elliptic
Giả sử p là một số nguyên tố >3. Người ta chứng minh được rằng bằng
phép biến đổi tuyến tính, ta có thể quy phương trình đường cong elliptic về
dạng Weierstrass như sau:
Y
2
= X
3
+ aX + b
Đường cong elliptic Y
2
= X
3
+ aX + b trên Z
p
được định nghĩa là tập hợp tất
cả các điểm (x, y)
∈Z
p

×Z
p
thoả mãn phương trình:
Y
2
= X
3
+ aX + b (mod p),
Cùng với một phần tử đặc biệt ký hiệu là O là phần tử trung hoà. Tập hợp đó
được ký hiệu là E.
23.1. Phép cộng
Giả sử P= (x
1
, y
1
) và Q (x
2
, y
2
) là hai điểm của E.
Nếu x
1
= x
2
và y
1 =
-

y
2

thì ta định nghĩa P + Q = O
Ngược lại th ì P + Q = (x
3
, y
3
)

E trong đó
x
3
=
λ
2
- x
1
– x
2
, y
3
=
λ
(x
1
– x
3
) –y
1,

Với


λ
= (y
2
– y
1
) / (x
2
– x
1
), khi P
≠ Q( nếu x
1
= x
2
th ì
λ
là hệ số góc đường
thẳng qua P và Q) (*)
(3x
2
+ a) / 2 y
1
, khi P = Q (
λ
là đạo hàm của đường cong tại P)
(**)
V
ậy nếu P ≠ Q tức là x
1
≠ x

2

x
3
=
2
12
12










xx
yy
- x
1
– x
2


(*)
y
3
=











12
12
xx
yy
( x
1
– x
3
) - y
1

N ếu P =Q


Đồ án tốt nghiệp Hệ mật đường cong elliptic

x
3
=
2

1
1
2
3








+
y
ax
– 2x
2


(**)
y
3
=









+
1
1
2
2
3
y
ax
( x
1
– x
3
) - y
1



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


Chú ý rằng các điểm (x
3
, y
3
), (x
3
, -y
3
) cũng nằm trên đường cong E và xét về

mặt hình học, thì các điểm (x
1
, y
1
), (x
2
, y
2
), (x
3
, -y
3
) cũng nằm trên một đường
thẳng.
Ngoài ra ta định nghĩa thêm: P + O = O + P = P.

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:

P
Q
P+ Q
R
P
2P
R
-1
-2
2
1


Đồ án tốt nghiệp Hệ mật đường cong elliptic

¾ 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ạ 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.
Ví dụ:
Xét đường cong elliptic y
2
= x
3
– 36x
Lấy P =(-3, 9), Q = (-2, 8). Hãy tìm P + Q và 2P?

Với x1 = -3, y1 = 9, x2 = -2 , y2 = 8. Do đó áp dụng công thức(*) ta có:
x3 =
32
)98(
2
+−

+3 + 2 = 1+ 3 +2 = 6.
y3 = -9






+−

32
98
(-3-6) = -9 + (-1)(-9) =0.
Vậy P +Q = (6, 0). Bây giờ ta tính 2P áp dụng (**) ta có: x1= -3, y1 = 9
x3 =
4
25
và do đó y3=
8
35

. Vậy 2P = (
4

25
,
8
35

)
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 Q

E: k
× P = P + P + P……+ P ( k phép cộng điểm P).
Vì vậy nếu G là một điểm thuộc đường cong elliptic E thì với mỗi số
nguyên dương k luôn dễ dàng xác định được điểm Q = k
×
G
2.4. Đếm số điểm trên đường cong elliptic trên trường F
q

Việc xây dựng các hệ mật mã trên đường cong elliptic bao gồm việc
lựa chọn đường cong E thích hợp và một điểm G trên E gọi là điểm cơ sở. Xét
trường K là F
q
.
Định lý Hasse
Đồ án tốt nghiệp Hệ mật đường cong elliptic

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

|N – (q +1)| ≤ 2
q .Từ định lý Hasse suy ra #E(F
q
) = q +1 – t trong đó |t| ≤ 2
q .
Định nghĩa
Bậc của điểm G thuộc E là số k dương bé nhất sao cho kG = O; khi k =
#E(F
q
) thì G là điểm cơ sở của E.
2.5. Phương pháp chọn đường cong Elliptic phù hợp và điểm cơ sở
Việc chọn một đường cong elliptic thế nào ảnh hưởng đến tốc độ, tính
hiệu quả, độ dài khoá và tính an toàn của hệ mật mã trên đường cong này. Dù
E, K và điểm cơ sở B

E cố định và công khai nhưng việc chọn các tham số
này phù hợp là bước quan trọng nhất.
2.5.1. Trường K
Trước hết chúng ta xem xét sự ảnh hưởng của trường K đến cấu trúc
nhóm của E(K) và các hệ mật mã trên E (K).
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 F
2
r

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 F
2
r
có thể bị tấn công bởi

MOV, trong khi các đường cong trên trường F
p
(p là số nguyên tố lớn) lại
chống lại được kiểu tấn công này. Rõ ràng, các đường cong elliptic trên
trường số nguyên tố F
p
và trên trường F
q
n
có các tính chất giúp chúng có thể
thực thi được trên các thiết bị mà vẫn đảm bảo an toàn.
Một chú ý nữa là việc tính số điểm trên # E (K). Với # E (K) thích hợp
có thể là điều kiện cho phép thực hiện tấn công Pohlig – Hellman. Có thể
dùng thuật toán đơn định thời gian đa thức Shoof để tính trên trường hữu hạn
F
q
với đặc số khác 2 hoặc 3. 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. Ví dụ với r nhỏ, tính # E (F
2
r
) có thể nhanh hơn
Đồ án tốt nghiệp Hệ mật đường cong elliptic

một chút so với tính # E(F
p
), trong đó p lớn hơn đáng kể so với 2
r
, nhưng khi r
tăng thì tính # E (F
2

r
) mất nhiều thời gian hơn tính # E (F
p
).
2.5.2. Dạng của đường cong elliptic
Trước hết, chúng ta cần xem các dạng đường cong elliptic. Trên trường
F
q
có hai lớp đường cong elliptic được dùng trong các hệ mã hoá là
supersinggular. Xét F
q
có đặc số là 2 (g = 2
m
). Khi đó:
 Tập tất cả các cặp nghiệm (x, y) của phương trình y
2
+ax = x
3
+ bx + c
với a, b, c
∈F
q
và a = 0 (mod q) cùng với điểm trung hoà O tạo thành
một đường cong elliptic dạng supersingular.
 Tập tất cả các cặp nghiệm (x, y) của phương trình y
2
+ ax = x
3
+ bx + c
với a, b, c


F
q
và b = 0 (mod q) cùng với điểm trung hoà O tạo thành
một đường cong elliptic dạng non-supersingular.
Supersingular Curve: Menezes và Vanstone đã tìm ra các ưu điểm của
các đường cong elliptic supersingular cho các hệ mật mã, đặc biệt trên trường
F
2
r
. Tuy nhiên, các đường cong supersingular có thể bị tấn công bằng MOV.
Nonsupersingular Curve: Ưu điểm của các đường cong nonsupersingular
là nó cung cấp độ bảo mật tương đương như các đường cong supersingular
nhưng với các trường nhỏ hơn. Độ dài khoá ngắn giúp chúng có thể triển khai
trên các thiết bị như smart card. Hơn nữa, các đường cong nonsupersingular
có thể chống lại tấn công MOV, ví dụ nhóm con cylic cỡ 2
160
.
2.5.3. Phương pháp lựa chọn
Có nhiều cách chọn các đường cong elliptic và điểm cơ sở B thuộc
đường cong đó. Một cách chọn điển hình là:
Phương pháp- Phương pháp chọn ngẫu nhiên Kobliz:
Sơ đồ 3.8. Phương pháp chọn ngẫu nhiên Kobliz
1. Chọn ngẫu nhiên 3 phần tử từ F
q
là x, y, a
2. Tính b = y
2
– (x
3

+ ax)
Đồ án tốt nghiệp Hệ mật đường cong elliptic

3. Kiểm tra 4a
3
+ 27b
2
≠ 0 để đảm bảo phương trình x
3
+ ax + b =0 không
có nghiệm kép.
4. Nếu điều kiện trên khôn thoả mãn quay lại bước 1.
5. Còn lại, đặt P = (x, y) và đường cong y
2
= x
3
+ ax +b là đường cong cần
chọn.
Tuy nhiên phương pháp này có thể tạo ra các đường cong không đảm bảo
một số yêu cầu định trước. Một kỹ thuật cải tiến là xây dựng các đường cong
với các tính chất cho trước. Cũng có thể chọn những đường cong để tạo các
hệ mã hoá không phụ thuộc vào bài toán EDLP, chẳng hạn các hệ elliptic dựa
trên RSA.
Các hệ mật mã elliptic làm việc với các nhóm con cylic của E với phần tử
sinh là
điểm P. Vì vậy, việc lựa chọn P phù hợp là rất quan trọng.
Để đảm bảo việc chọn điểm thích hợp ta hãy chọn đường cong elliptic
của chúng ta và trường hữu hạn sao cho số N các điểm của đường cong là một
số nguyên tố. Nếu chọn được như vậy thì m
ọi điểm B ≠ 0 đều là phần tử sinh.

























Đồ án tốt nghiệp Hệ mật đường cong elliptic


CHƯƠNG 3

HỆ MẬT ĐƯỜNG CONG ELLIPTIC

3.1. Mở đầu và đặt bài toán
Năm 1976, Diffie và Hellman giới thiệu hệ mã hoá khoá công khai đầu
tiên mà sự an toàn của nó dựa trên độ khó của bài toán DLP. Họ đưa ra khái
niệm hàm cửa sập một chiều (TOF). Năm 1985, Lenstra thành công trong
việc sử dụng các đường cong elliptic cho các số nguyên. Kết quả này mang lại
khả năng áp dụng các đường cong elliptic trong các hệ mật mã khoá công
khai.
Miller và Kobliz giới thiệu những hệ mật mã elliptic. Họ không phát
minh ra các thuật toán mới nhưng đã có đ
óng góp lớn là chỉ ra việc áp dụng
elliptic cho các hệ khoá công khai. Miller đề xuất một giao thức trao đổi khoá
tựa như Diffie – Hellman vào năm 1985 (nhanh hơn 20% so với giao thức
Diffie - Hellman). Kobliz đưa ra thuật toán mã hoá tương tự như hệ Elgamal
và Massey – Omura vào năm 1987. Sơ đồ đầu tiên tương tự như sơ đồ RSA
và 3 hàm một chiều (có cửa sập) mới dựa trên đường cong Elliptic được đưa
ra năm 1991 bởi Koyama, Maurer, Okamoto và Vanstone ( thuật toán này tốc
độ thực hiệ
n nhanh gấp 6 lần so với RSA). Cùng thời điểm đó, Kaliski chứng
minh rằng các hàm cửa sập một chiều đòi hỏi thời gian là hàm mũ để thực
hiện phép tính nghịch đảo. Menezes, Okamoto và Vanstone đã đưa ra một
phương pháp tấn công MOV để giải bài toán EDLP trong một số trường hợp
riêng. Ngay sau đó, Miyaji đã tìm được các điều kiện để tránh khỏi tấn công
MOV và đề xuất một ứng dụng thự
c tế của các đường cong elliptic cho các sơ
đồ chữ ký và định danh trên Smart Card.
Năm 1993, Demytko đưa ra một thuật toán mới tương tự như RSA cho
các đường cong Elliptic trên vành Z
n
vượt qua các hạn chế của các phiên bản
Đồ án tốt nghiệp Hệ mật đường cong elliptic


trước, và Menezes và Vanstone đã đưa ra phương pháp thực thi trên các thiết
bị cứng có thể cài thiện các tính toán trên elliptic trên một trường hữu hạn.
Những năm 1997, 1998 việc tìm ra các hệ mật mã trên các đường cong
Elliptic ngày càng thu hút nhiều sự chú ý và một số thuật toán đã được đưa
thành chuẩn trong các RFC.
3.2. Nhúng bản rõ lên đường cong
Nhúng một 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 mà nhờ đó chúng ta 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à
imbedding và mask.
4.2.1. Imbedding
Muốn mã hoá bản rõ m trên một đường cong elliptic cho trước được
định nghĩa trên trường F
q
trước hết ta phải tìm cách nhúng nó lên E. Giả sử m
được coi là một số nguyên dương nào đó. Bản rõ m được ứng với điểm P
m
trên E.
Trước khi thực hiện “nhúng” điểm m lên E ta cần lưu ý:
1. Sau khi nhận được bản mã, người ta nhận đích thực phải có thể giải được
bản mã một cách dễ dàng.
2. Không có một thuật toán tất định với thời gian đa thức (trong log q) để biết
được một số lớn các điểm trên đường cong elliptic tuỳ ý trên E cả trường F
q
.
Tuy nhiên lại tồn tại một thuật toán xác suất mà đối với nó xác suất sai là rất
bé.
3. Việc tạo ra các điểm ngẫu nhiên của E là không đủ để mã hoá một số lượng

lớn tuỳ ý các bản rõ m. Trong lúc đó bản rõ mà ta cần nhúng lại có thể rất lớn.
Do đó, một phương pháp xác suất có thể cho phép nhúng (imbed) các
bản rõ m được coi là một điểm trên đường cong elliptic E được định nghĩa
trên trường F
q
với q = p
n
được giả thiết là đủ lớn.
Đồ án tốt nghiệp Hệ mật đường cong elliptic

Gọi
κ
là một số nguyên dương đủ lớn sao cho thoả mãn xác suất sai
xấp xỉ 1/2
κ

. Giả sử khi chúng ta muốn nhúng một bản rõ m, giả sử
κ

một số nào đó(
κ
=20, 30 hoặc
κ
= 50 là đủ). Với m kà một số nguyên sao cho
0≤ m ≤M (M là số nguyên dương lớn hơn mọi khối rõ m cần nhúng )
Trường hữu hạn đã chọn sao cho q > M
κ
.Biểu diễn các số nguyên từ 1 đến M
κ
dưới dạng:

{m
κ
+ j} 1≤ j ≤
κ

Ta lập một ánh xạ 1- 1 tương ứng giữa các số nguyên trên với tập hợp các
phần tử của F
q
. Ví dụ có thể viết một số nguyên như là một số nguyên cơ số p
có độ dài r và coi r như là một phần tử của Z/pZ , là hệ số của một đa thức
cấp r – 1 tương ứng với một phần tử của F
q
. Nghĩa là số nguyên (a
r-1 ,
a
r-
2,…….
a
1,
a
0
)p đặt tương ứng với đa thức


=
1
0
r
i
a

j
X
j
mà nóđược xem như modulo
đa thức bất khả quy cấp r cố định trên F
p
, cho một phần tử của F
q
.
Do đó cho trước m với j = 1, 2,3…
κ
sẽ nhận được một phần tử của F
q

tương ứng với m
κ
+ j
Đối với số x đó ta tính:
Y
2
= f(x) = x
3
+ ax + b và tìm căn bậc 2 của giá trì f(x) bằng cách sử dụng
phương pháp đã nêu trong ví dụ 1.1.4.
Nếu tìm được một số y sao cho y
2
= f(x) thì lấy P
m
= (x, y). Nếu kết quả
f(x) là không bình phương thì tăng x bởi 1 và tiếp tục tính toán từ đầu cho

đến khi tìm được một số x sao cho f(x) là một bình phương cho đến khi j nhận
giá trị lớn
κ
, có thể khôi phục lại được m từ điểm (x, y) bởi công thức:
m= [(x -1)/
κ
]
Trong đ ó x là một số nguyên ứng với giá trị x bởi phép tương ứng 1-1
giữa các số nguyên và các phần tử của F
q
. Vì f(x) là một bình phương với xấp
xỉ 50% của mọi x cho nên chỉ có khoảng xác suất 2
-
κ
để cho phương pháp
này là sai.
Đồ án tốt nghiệp Hệ mật đường cong elliptic

3.3. Logarit rời rạc trên đường cong Elliptic( Discrete logarithm on
Elliptic)
Định nghĩa:
Nếu E là đường cong Elliptic trên trường F
q
và B là một điểm trên E.
Khi đó bài toán logarit rờ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)

Hầu như bài toán tính logarit rời rạc trên đường cong elliptic sẽ khó
hơn bài toán logarit rời rạc trên trường hữu hạn. Các kỹ thuật mạnh nhất đã
được phát triển để sử dụng trong các trường hữu hạn dường như không có giá
trị đối với đường cong elliptic. Kết quả này đặc biệt đúng trong trường hợp
trường có đặc số 2. Như
đã được chứng tỏ bởi Odlzko rằng có một số phương
pháp đặc biệt để giải bài toán logarit rời rạc trong G
*
2
r
với chúng dễ dàng tính
được logarit rời rạc và do đó phá vỡ được hệ mật mã, trừ ra trường hợp số r
được chon đủ lớn. Dường như các hệ thống tương tự sử dụng đường cong
elliptic được định nghĩa trên trường F
2
r
sẽ đảm bảo an toàn kể cả trong
trường hợp giá trị r khá bé.
3.4. Vấn đề trao đổi khoá Diffie- Hellman(D- H) trên Elliptic
Giả sử A và B muốn thống nhất một khoá chung để liên lạc có bảo mật
giữa hai người bằng mật mã truyền thống. Trước hết hai bên thống nhất công
khai chọn một trường hữu hạn F
q
và một đường cong elliptic trên nó khoá
chung của họ sẽ được xây dựng từ một điểm ngẫu nhiên P của đường cong
vừa cho, họ làm cách này bằng cách chọn toạ độ x của P là ngẫu nhiên trong
F
q
. Sau đó nó được chuyển đổi thành số nguyên cơ số P có r số( q = p
r

) mà
được coi là khoá đối với hệ mã truyền thống của họ. Cụ thể như sau:
Trước hết A, B chọn công khai một điểm B

E. B đóng vai trò như là
phần tử sinh g trong trường hữu hạn của hệ thống Diifie-Hellman. Chúng ta
muốn có một nhóm con được sinh ra bởi B là lớn, tốt nhất là có cùng cấp như
Đồ án tốt nghiệp Hệ mật đường cong elliptic

E. Bây giờ giả sử B là công khai và cố định trên E mà cấp của nó là đủ lớn
(chẳng hạn hoặc là N hoặc là một nhân tử lớn của N).
Để tạo ra khoá, trước hết A chọn ngẫu nhiên một số nguyên a có cấp q
(nó xấp xỉ như số N). Số a được giữ bí mật. Trên cơ sở đó, A tính aB

E, aB
là công khai. Đến lượt B cũng làm như vậy, anh ta chọn ngẫu nhiên số b và
tính bB
∈ E, bB cũng được công khai. Khoá bí mật mà chỉ có hai người A, B
mới có đó là: P =abB
∈ E. Người thứ ba bất kỳ không thể suy ra abB từ aB và
bB nếu không giải bài toán logarit rời rạc trên E của trường F
p
r
.
3.5. Hệ mât mã hoá Elgamal trên đường cong Elliptic
Hệ Elgamal làm việc với nhóm Cyclic hữu hạn. Năm 1978, Kobliz đã
đưa một hệ trên ECC dựa trên hệ Elgamal.
Để xây dựng hệ mã hoá dựa trên đường cong elliptic ta chọn đường
cong E(a, b) và một điểm G trên đường cong làm điểm cơ sở. Mỗi người dùng
A một khoá bí mật n

A
là một số nguyên, và sinh khoá công khai
P
A
= n
A
* G.
Khi đó hệ mã hoá đường cong elliptic được xây dựng tương tự hệ mã
hoá ElGamal, trong đó thuật toán mã hoá và giải mã được xác định như sau:
Thuật toán mã hoá
Giả sử người dùng A muốn gửi thông điệp cần mã hoá P
m
tới người
dụng B, chọn một số ngẫu nhiên k và gửi thông điệp mã hoá C
m
được tính
như sau:
C
m
= {k * G, P
m
+ k * P
B
}
(P
B
là khoá công khai của B)
Thuật toán giải mã
Để giải mã thông điệp C
m

= { k * G, P
m
+ k * P
B
}, người dùng B thực
hiện tính như sau:
P
m
+ k * P
B
- n
B
* k * G = P
m
+ k * P
B
– k * n
B
* G = P
m
+ k * P
B
- k * P
B
=
P
m

Đồ án tốt nghiệp Hệ mật đường cong elliptic


Chỉ có B mới có thể giải mã vì B có n
B
(là khoá bí mật).
Chú ý rằng ở đây P
m
là một điểm thuộc đường cong elliptic, quá trình
mã hoá giải mã được thực hiện trên các điểm thuộc đường cong E. Trong thực
tế, để sử dụng được người ta phải tương ứng một số với một điểm thuộc
đường cong elliptic. Khi đó mỗi thông điệp cần mã hoá sẽ tương ứng với một
dãy số. Mỗi số sẽ tương ứng với mộ
t điểm trên đường cong elliptic.
Tính bảo mật
Nếu kẻ tấn công giữa đường, Oscar, có thể giải bài toán EDLP thì anh
ta có thể biết được khoá bí mật từ n
B
của B từ các thông tin công khai G và
n
B
G, và có thể giải mã thông điệp mà A gửi. Như vậy độan toàn (bảo mật) của
thuật toán trên dựa vào độ khó của bài toán EDLP.



























Đồ án tốt nghiệp Hệ mật đường cong elliptic


CHƯƠNG 4
MỘT VÀI ỨNG DỤNG
4.1. Lược đồ chữ ký số trên đường cong elliptic (Elliptic Curve Signature
Algorithm ) - ECDSA
4.1.1. Lược đồ ký ECDSA
Sơ đồ chữ ký ECDSA được xây dựng tương tự như sơ đồ chữ ký ElGamal
tuy nhiên các thuật toán ký và thuật toán kiểm thử được xây dựng dựa
trên đường cong Elliptic.
Để thiết lập sơ đồ chữ ký ECDSA, cần xác định các tham số: lựa chọn
đường cong E trên trường hữu hạn F
q

với đặc số p sao cho phù hợp và
công khai cho tất cả mọi người, điểm cơ sở G

E(F
q
).
Một số khuyến nghị khi lựa chọn các tham số:
1. Kích thích q của trường, hoặc q = p (p>2) hoặc q= 2
m
.
2. Hai phần tử a, b thuộc F
q
xác định phương trình đường cong Elliptic: y
2

= x
3
+ ax + b (p>2) hoặc y
2
+xy = x
3
+ax
2
+ b (p = 2).
3. Hai phần tử x
G
và y
G
thuộc F
q

xác định điểm cơ sở G = (x
G,
y
G
).
4. Bậc n của điểm G với n> 2
160
và n > 4 q .
Sinh khoá
1. Chọn số ngẫu nhiên d trong khoảng [2, n-1 ] làm khoá bí mật
2. Tính Q = dG làm khoá công khai.
Thuật toán ký trên bản rõ m
Người dùng A ký lên thông điệp m theo các bước sau:
1. Chọn một số ngẫu nhiên k, 2
1



nk

2. Tính kG = (x
1
, y
1
).
3. Tính r = x
1
mod n. Nếu r =0, quay lại bước 1.

×