1
TRƯỜNG………………………
KHOA……………………………
LUẬN VĂN TỐT NGHIỆP
NGHIÊN CỨU, TÌM HIỂU VÀ TRÌNH BÀY VỀ CHỮ KÝ SỐ TRÊN
ĐƯỜNG CONG Elliptic, ỨNG DỤNG CỦA ĐƯỜNG CONG Elliptic TRONG
HỆ THỐNG BỎ PHIẾU ĐIỆN TỬ VÀ HỆ THỐNG TIỀN ĐIỆN TỬ.
2
LỜI CẢM ƠN
Lời đầu tiên, em xin được gửi lời cảm ơn sâu sắc tới PGS.TS. Trịnh Nhật
Tiến, người thầy đã giúp đỡ em trong suốt quá trình làm khóa luận, đồng thời cũng
là người thầy đã hướng dẫn em những bước đi đầu tiên để khám phá một lĩnh vực
đầy bí ẩn và thách thức – lĩnh vực an toàn và bảo mật dữ liệu.
Em xin được cảm ơn các thầy, các cô đã giảng dạy em trong suốt bốn năm
qua. Những kiến thức mà các thầy, các cô đã dạy sẽ mãi là hành trang giúp em vững
bước trong tương lai .
Em cũng xin được cảm ơn tập thể lớp K50CC, một tập thể lớp đoàn kết với
những người bạn không chỉ học giỏi mà còn luôn nhiệt tình giúp đỡ mọi người,
những người bạn đã giúp đỡ em trong suốt bốn năm học tập trên giảng đường Đại
học.
Cuối cùng, em xin được gửi lời cảm ơn sâu sắc tới gia đình em, những người
luôn kịp thời động viên, khích lệ em, giúp đỡ em vượt qua những khó khăn trong
cuộc sống.
Hà nội, tháng 05 năm 2009
Sinh viên
Nguyễn Minh Hải
3
TÓM TẮT NỘI DUNG KHÓA LUẬN
Khóa luận là sự nghiên cứu, tìm hiểu và trình bày về chữ ký số trên đường
cong Elliptic, ứng dụng của đường cong Elliptic trong Hệ thống bỏ phiếu điện tử và
Hệ thống tiền điện tử. Khóa luận được trình bày thành bốn chương với nội dung
như sau:
Chương 1 : Tóm tắt các khái niệm cơ bản trong số học và trong đại số học.
Chương 2 : Trình bày về khái niệm đường cong Elliptic, các dạng đường cong
và các phép toán trên đường cong Elliptic.
Chương 3 : Trình bày một số chữ ký số trên đường cong Elliptic và phương
pháp tấn công hệ mã hóa đường cong Elliptic.
Chương 4 : Trình bày ứng dụng của đường cong Elliptic trong Hệ thống bỏ
phiếu điện tử và Hệ thống tiền điện tử.
4
CÁC KÝ HIỆU VIẾT TẮT
Tom Người gửi tin hoặc người thực hiện việc ký
BĐK Ban đăng ký
BKP Ban kiểm phiếu
Jerry Người nhận tin hoặc người yêu cầu ký
EC Đường cong Elliptic (Elliptic Curve)
ECC Mã hóa đường cong Elliptic (Elliptic Curve Cryptosystem)
ECDSA Thuật toán ký trên EC
EDLP Bài toán Logarith rời rạc trên EC
E-Voting Bỏ phiếu điện tử (Electronic Voting)
gcd Ước số chung lớn nhất (Greatest Common Divisor)
GF Trường hữu hạn (Galois Field)
IEEE Institute of Electrical and Electronics Engineers
IETF Internet Engineer Task Force
IFP Bài toán ước số nguyên (Integer Factorization Problem)
lcm Bội số chung nhỏ nhất (Least Common Multiple)
MOV Phương pháp tấn công Menezes – Okamoto - Vanstone
NIST National Institute of Standards
RFC Request For Comments
RIPEMD-160 Hàm băm 160 bit
RSA Hệ mã hóa khóa công khai Rivest – Shamir – Adleman
TOF Hàm cửa sập một chiều (Trapdoor One-way Function)
5
CÁC KÝ HIỆU TOÁN HỌC
< g > Nhóm cyclic được sinh bởi g
#E Số phần tử của đường cong elliptic
C Tập các bản mã có thể
d
K
Thuật toán giải mã
E Đường cong elliptic
e
K
Thuật toán mã hóa
F* Nhóm nhân trên trường F
F
q
Trường hữu hạn với q phần tử
G Điểm cơ sở của E
K Không gian các khóa
O Phần tử trung hòa của E
sig
K
Thuật toán ký số
ver
K
Thuật toán kiểm tra chữ ký
Z
p
Vành các số nguyên dương p
φ(n) Hàm phi Euler các số nguyên trong Z
n
nguyên tố cùng nhau với n.
6
DANH MỤC CÁC HÌNH VẼ TRONG KHÓA LUẬN
Hình 1: Một ví dụ về đường cong Elliptic Error! Bookmark not defined.
Hình 2: Điểm ở vô cực Error! Bookmark not defined.
Hình 3: Phép cộng trên đường cong elliptic Error! Bookmark not defined.
Hình 4: Phép nhân đôi trên đường cong elliptic Error! Bookmark not defined.
7
MỤC LỤC
LỜI MỞ ĐẦU 1
Chương 1 : CÁC KHÁI NIỆM CƠ BẢN 11
1.1. KHÁI NIỆM TRONG SỐ HỌC 11
1.1.1. Ước chung lớn nhất và bội chung nhỏ nhất 11
1.1.2. Quan hệ đồng dư 12
1.1.3. Số nguyên tố 13
1.2. KHÁI NIỆM TRONG ĐẠI SỐ 15
1.2.1. Nhóm 15
1.2.2. Vành 17
1.2.3. Trường 18
1.2.4. Không gian vector 22
Chương 2. ĐƯỜNG CONG ELLIPTIC 23
2.1. CÔNG THỨC WEIERSTRASSE VÀ ĐƯỜNG CONG ELLIPTIC 24
2.2. ĐƯỜNG CONG ELLIPTIC TRÊN TRƯỜNG R
2
24
2.2.1. Phép cộng 25
2.2.2. Phép nhân đôi 28
2.3. ĐƯỜNG CONG ELLIPTIC TRÊN TRƯỜNG HỮU HẠN 29
2.3.1. Đường cong elliptic trên trường F
p
(p là số nguyên tố) 29
2.3.2. Đường cong elliptic trên trường F
2
m
30
2.3.3. Các phép toán trên đường cong elliptic trong hệ tọa độ Affine 30
2.3.4. Các phép toán trên đường cong elliptic trong hệ tọa độ chiếu 32
2.3.5. Chuyển đổi giữa hệ tọa độ Affine và hệ tọa độ chiếu 33
2.3.6. Các phép toán đường cong trong hệ tọa độ chiếu 33
2.3.6. Phép nhân đường cong 34
2.4 BÀI TOÁN LOGARIT RỜI RẠC TRÊN ĐƯỜNG CONG ELLIPTIC 36
Chương 3. CHỮ KÝ SỐ TRÊN ĐƯỜNG CONG ELLIPTC 37
3.1. CHỮ KÝ SỐ 37
3.1.1. Khái niệm chữ ký số 37
3.1.2. Sơ đồ chữ ký số 38
3.2. MỘT SỐ SƠ ĐỒ CHỮ KÝ SỐ TRÊN ĐƯỜNG CONG ELLIPTIC 41
3.2.1. Sơ đồ chữ ký ECDSA 41
3.2.2. Sơ đồ chữ ký Nyberg- Rueppel 43
3.2.3. Sơ đồ chữ ký mù Harn trên EC 44
8
3.2.4. Sơ đồ đa chữ ký mù của Harn trên EC 47
3.3. MỘT SỐ PHƯƠNG PHÁP TẤN CÔNG HỆ ECC 49
3.3.1. Phương pháp tấn công “baby - step giant - step” 49
3.3.2. Phương pháp tấn công MOV 50
Chương 4 . ỨNG DỤNG CHỮ KÝ SỐ TRÊN ĐƯỜNG CONG ELLIPTIC 53
4.1.ỨNG DỤNG TRONG BỎ PHIẾU ĐIỆN TỬ 54
4.1.1. Quy trình bỏ phiếu điện tử 54
4.1.2. Sử dụng ECC trong bỏ phiếu điện tử 55
4.2. ỨNG DỤNG TRONG HỆ THỐNG TIỀN ĐIỆN TỬ 57
4.2.1. Tạo tiền ecash 57
4.2.2 Tiêu tiền ecash 58
4.2.3 Đổi tiền 58
4.2.4 Kết thúc giao dịch 58
KẾT LUẬN 59
TÀI LIỆU THAM KHẢO 61
9
LỜI MỞ ĐẦU
Mục tiêu cơ bản của mật mã học là đảm bảo tính bí mật. Nó cho phép 2 đối tác
trao đổi thông tin với nhau một cách an toàn trên những kênh truyền thông công
khai. Hệ mật mã khóa bí mật có thể định nghĩa như sau: Giả sử ký hiệu M là tập tất
cả các bản rõ có thể. C là tập tất cả các bản mã có thể. K là tập các khóa có thể. Hệ
mật mã khóa bí mật gồm 2 hàm: CMe
k
: , MCd
k
: ,
Kk
sao cho
mmed
kk
))(( với mọi
Mm
và
Kk
. Trong hệ mật mã này, người gửi (giả sử là
Tom)và người nhận (Jerry) cùng thỏa thuận một khóa bí mật, bằng cách gặp mặt
nhau trực tiếp hoặc nhờ một trung tâm tin cậy phân phối khóa. Nếu Tom muốn gửi
cho Jerry một thông điệp
Mm
, cô ấy sẽ gửi bản mã )(mec
k
cho Jerry. Jerry sẽ
khôi phục bản rõ m bằng việc dùng hàm giải mã
k
d . Hệ mật mã khóa bí mật phải
đảm bảo rằng các hàm
k
e và
k
d phải dễ áp dụng nhưng vẫn an toàn trước kẻ tấn
công, khi có bản mã c vẫn khó tính được m (hoặc khóa k). Dù hệ mật mã khóa bí
mật vẫn đang được dùng trong nhiều ứng dụng, nhưng vẫn còn một số nhược điểm
như vấn đề phân phối khóa, vấn đề quản lý khóa và nó không hỗ trợ việc tạo chữ ký
điện tử.
Ý tưởng chính của các thuật toán khóa công khai là sử dụng 2 khóa khác nhau
cho 2 quá trình mã hóa và giải mã. Ý tưởng này được phát minh bởi Whitfield
Diffie và Martin Hellman (1976), độc lập với Ralph Merkle (1978). Từ đó, nhiều hệ
mật mã khóa công khai được đưa ra, nhưng hầu hết chúng đều hoặc không an toàn
hoặc không khả thi. Các thuật toán khóa công khai đều chậm hơn rất nhiều so với
các thuật toán khóa bí mật.
Thuật toán RSA chậm hơn 1000 lần so với các thuật toán khóa bí mật phổ
biến như DES khi triển khai trong các thiết bị phần cứng; và chậm hơn 100 lần
trong các phần mềm mã hóa khi mã hóa cùng một khối lượng dữ liệu như nhau. Tuy
nhiên, hệ mật mã khóa công khai có một ưu điểm nổi trội là cho phép tạo chữ ký
điện tử. Khóa riêng được người sở hữu giữ bí mật và nó được sử dụng để tạo chữ ký
điện tử hoặc để giải mã các thông điệp đã được mã hóa bằng khóa công khai. Khóa
công khai không cần thiết phải giữ bí mật do tính chất “khó tính được khóa riêng từ
khóa công khai” của cặp khóa. Vì vậy, người dùng có thể công bố khóa công khai
10
trên các kênh công cộng cho những ai muốn gửi thông tin cho họ hoặc xác minh
chữ ký của họ.
Trong lịch sử hơn 20 năm của mật mã khóa công khai, đã có nhiều bài toán
“khó” được đưa ra xem xét để ứng dụng cho các vấn đề mật mã học. Trong đó có 2
bài toán nổi bật nhất là bài toán logarith rời rạc trên trường hữu hạn và bài toán tìm
ước số nguyên tố. Năm 1985, Neal Koblitz và V.S.Miller đã độc lập nhau cùng đề
xuấtviệc sử dụng các đường cong elliptic cho các hệ mã hóa khóa công khai. Họ
không phát minh ra thuật toán mã hóa mới với các đường cong elliptic trên trường
hữu hạn, mà họ dùng những thuật toán đã có như Diffie – Hellman, sử dụng các
đường cong elliptic. Các đường cong Elliptic có thể dùng trong nhiều ứng dụng như
kiểm thử số nguyên tố hoặc bài toán tìm ước số nguyên tố. Các hệ mật mã trên
đường cong elliptic (ECC) được dự báo là sẽ phổ biến hơn RSA do khóa nhỏ gọn
hơn nhiều (khoảng 163 bit) so với RSA (1024 bit). Vì vậy, tốc độ mã hóa nhanh
hơn so với RSA. Như vậy ECC có thể được dùng trên các thiết bị cầm tay (có bộ
nhớ nhỏ, và tốc độ tính toán không cao) .
Việc thương mại hóa ECC đã được một số nơi thực hiện như công ty Certicom
và công ty RSA đã hỗ trợ mã hóa ECC trong các bộ công cụ phát triển. Tuy nhiên,
một vấn đề có thể ảnh hưởng đến sự chấp nhận ECC rộng rãi như một phần của cơ
sở hạ tầng khóa công khai là các kỹ thuật thực thi đường cong elliptic, thói quen,
các thuật toán, và các giao thức. ECC đòi hỏi các thủ tục toán học phức tạp trong
việc khởi tạo các đường cong. Các chuyên gia công nghệ thông tin vẫn chưa hiểu
thấu đáo để thiết kế các hệ thống bảo mật dựa trên mật mã học, trong khi hệ RSA
thì không quá phức tạp và khó hiểu.
11
Chương 1. CÁC KHÁI NIỆM CƠ BẢN
1.1. KHÁI NIỆM TRONG SỐ HỌC
1.1.1. Ước chung lớn nhất và bội chung nhỏ nhất
a. Khái niệm
Cho hai số nguyên a và b, b ≠ 0. Nếu có một số nguyên q sao cho a = b*q, thì
ta nói rằng a chia hết cho b, kí hiệu b\a. Ta nói b là ước của a và a là bội của b.
Số nguyên d được gọi là ước chung của các số nguyên a
1
, a
2
, …, a
n
, nếu nó
là ước của tất cả các số đó.
Số nguyên m được gọi là bội chung của các số nguyên a
1
, a
2
, …, a
n
, nếu nó
là bội của tất cả các số đó.
Một ước chung d >0 của các số nguyên a
1
, a
2
, …, a
n
, trong đó mọi ước
chung của a
1
, a
2
, …, a
n
đều là ước của d, thì d được gọi là ước chung lớn nhất
của a
1
, a
2
, …, a
n
. Ký hiệu d = gcd (a
1
, a
2
, …, a
n
) hay d = UCLN(a
1
, a
2
, …, a
n
).
Nếu gcd(a
1
, a
2
, …, a
n
) = 1,thì a
1
, a
2
, …, a
n
được gọi là nguyên tố cùng nhau.
Một bội chung m >0 của các số nguyên a
1
, a
2
, …, a
n
, trong đó mọi bội
chung của a
1
, a
2
, …, a
n
đều là bội của m, thì m được goi là bội chung nhỏ nhất
của a
1
, a
2
, …, a
n
. Ký hiệu m = lcm(a
1
, a
2
, …, a
n
) hay m = BCNN(a
1
, a
2
, …, a
n
).
b. Ví dụ
Cho a =12, b =15, gcd(12,15) = 3, lcm(12,15) = 60.
Hai số 8 và 13 là nguyên tố cùng nhau, vì gcd(8, 13) = 1.
c. Tính chất
1. d = gcd(a
1
, a
2
, …, a
n
) tồn tại x
1
,
x
2
,…, x
n
sao cho: d = a
1
x
1
+a
2
x
2
+…+a
n
x
n
a1,a2, an nguyên tố cùng nhautồn tại x1,x2, xn sao cho: 1 = a
1
x
1
+a
2
x
2
+…+a
n
x
n
2. d = gcd(a
1
, a
2
, …, a
n
) gcd(a
1
/d, a
2
/d,…, a
n
/d) =1.
3. m = lcm(a
1
, a
2
, …, a
n
) gcd(m/a
1
, m/a
2
,…, m/a
n
) =1.
4. gcd(m a
1
, m a
2
, …, m a
n
) = m * gcd(a
1
, a
2
, …, a
n
) (với m ≠ 0).
5. Nếu gcd(a, b) =1 thì lcm(a, b) = a * b
6. Nếu b>0, a = bq+r thì gcd(a,b) = gcd(b, r).
12
1.1.2. Quan hệ đồng dư
a. Khái niệm
Cho các số nguyên a, b, m (m > 0). Ta nói rằng a và b “đồng dư” với
nhau theo modulo m, nếu chia a và b cho m, ta nhận được cùng một số dư.
Ký hiệu: a ≡ b (mod m).
b. Ví dụ
17 ≡ 5 (mod 3) vì chia 17 và 5 cho 3, được cùng số dư là 2.
c. Tính chất
1. Quan hệ “đồng dư” là quan hệ tương đương trong Z:
Với mọi số nguyên dương m ta có:
a ≡ a (mod m) với mọi a
Z; (tính chất phản xạ).
a ≡ b (mod m) thì b ≡ a (mod m); (tính chất đối xứng).
a ≡ b (mod m) và b ≡ c (mod m) thì a ≡ c (mod m); (tính chất bắc cầu).
2. Tổng hay hiệu các “đồng dư ”:
(a+b) (mod n)
[(a mod n) + (b mod n)] (mod n)
(a- b) (mod n)
[(a mod n) - (b mod n)] (mod n)
Tổng quát:
Có thể cộng hoặc trừ từng vế nhiều đồng dư thức theo cùng một modulo m,
ta được một đồng dư thức theo cùng modulo m, tức là:
Nếu a
i
≡ b
i
(mod m) , i = 1 k, thì
1 1
(mod )
k k
i i i i
i i
t a t b m
với t
i
= ± 1.
3 Tích các “đồng dư”:
(a* b) (mod n)
[(a mod n) * (b mod n)] (mod n)
Tổng quát:
Có thể nhân từng vế nhiều đồng dư thức theo cùng một modulo m, ta được một
đồng dư thức theo cùng modulo m, tức là:
Nếu a
i
≡ b
i
(mod m) với i=1 k, thì ta có:
1 1
(mod )
k k
i i
i i
a b m
13
1.1.3. Số nguyên tố
a. Khái niệm
Số nguyên tố là số tự nhiên lớn hơn 1 và chỉ có hai ước là 1 và chính nó.
b. Ví dụ
10 số nguyên tố lớn đã được tìm thấy :
rank Prime Digits Who when reference
1
2
32582657
-1
9808358 G9 2006 Mersenne 44??
2
2
30402457
-1
9152052 G9 2005 Mersenne 43??
3
2
25964951
-1
7816230 G8 2005 Mersenne 42??
4
2
24036583
-1
7235733 G7 2004 Mersenne 41??
5
2
20996011
-1
6320430 G6 2003 Mersenne 40??
6
2
13466917
-1
4053946 G5 2001 Mersenne 39
7
19249·2
13018586
+1
3918990 SB10 2007
8
27653·2
9167433
+1
2759677 SB8 2005
9
28433·2
7830457
+1
2357207 SB7 2004
10
33661·2
7031232
+1
2116617 SB11 2007
c. Định lý
1. Định lý: về số nguyên dương > 1.
Mọi số nguyên dương n > 1 đều có thể biểu diễn được duy nhất dưới dạng:
1 2 k
n n n
1 2 k
.
=P P P
n , trong đó:
k, n
i
( i =1,2, ,k) là các số tự nhiên, P
i
là các số nguyên tố, từng đôi một khác nhau.
2. Định lý Mersenne.
Cho p = 2
k
-1, nếu p là số nguyên tố, thì k phải là số nguyên tố.
14
Chứng minh
Bằng phản chứng, giả sử k không là nguyên tố. Khi đó k = a.b với 1< a, b < k.
Như vậy : p = 2
k
-1 = 2
ab
-1 = (2
a
)
b
-1= (2
a
-1).E
(Trong đó E là một biểu thức nguyên - áp dụng công thức nhị thức Niu-tơn).
Điều này mâu thuẫn giả thiết p là nguyên tố. Vậy giả sử sai, hay k là số nguyên tố.
3. Hàm Euler:
Cho số nguyên dương n, số lượng các số nguyên dương bé hơn n và nguyên
tố cùng nhau với n được ký hiệu
(n) và gọi là hàm Euler.
Nhận xét: Nếu p là số nguyên tố, thì
(p) = p-1
Ví dụ:
Tập các số nguyên không âm nhỏ hơn 7 là Z
7
= {0, 1, 2, 3, 4, 5, 6, 7}.
Do 7 là số nguyên tố, nên Tập các số nguyên dương nhỏ hơn 7 và nguyên tố
cùng nhau với 7 là Z
7
*
={1, 2, 3, 4, 5, 6, 7}. Khi đó /Z/ =
(p) = p-1 =8-1 = 7.
Định lý hàm Euler.
Nếu n là tích của hai số nguyên tố n = p.q, thì
(n) =
(p).
(q) = (p-1).(q-1).
15
1.2. KHÁI NIỆM TRONG ĐẠI SỐ
1.2.1. Nhóm
a. Khái niệm
Nhóm là một bộ (G, *), trong đó G , * là phép toán hai ngôi trên G
thoả mãn ba tính chất sau:
+ Phép toán có tính kết hợp: (x*y)* z = x*(y*z) với mọi x, y, z G.
+ Có phần tử phần tử trung lập e G: x*e = e*x = x với mọi x G.
+ Với mọi x G, có phần tử nghịch đảo x’ G: x * x’ = x’ * x = e.
Cấp của nhóm G được hiểu là số phần tử của nhóm, ký hiệu là
G
.
Cấp của nhóm có thể là nếu G có vô hạn phần tử.
Nhóm Abel là nhóm (G, *), trong đó phép toán hai ngôi * có tính giao hoán.
Tính chất: Nếu a * b = a * c, thì b = c.
Nếu a * c = b * c, thì a = b.
* Tập hợp các số nguyên Z cùng với phép cộng (+) thông thường là nhóm giáo
hoán, có phần tử đơn vị là số 0. Gọi là nhóm cộng các số nguyên.
* Tập Q
*
các số hữu tỷ khác 0 (hay tập R
*
các số thực khác 0), cùng với phép
nhân (*) thông thường là nhóm giao hoán. Gọi là nhóm nhân các số hữu tỷ (số
thực) khác 0.
* Tập các vectơ trong không gian với phép toán cộng vectơ là nhóm giao hoán.
b. Nhóm Cyclic
Nhóm (G, *) được gọi là Nhóm Cyclic nếu nó được sinh ra bởi một trong
các phần tử của nó.
Tức là có phần tử g G mà với mỗi a G, đều tồn tại số n N để
g
n
= g * g * … * g = a. (Chú ý g * g * … * g là g * g với n lần).
Khi đó g được gọi là phần tử sinh hay phần tử nguyên thuỷ của nhóm
G. Nói cách khác: G được gọi là Nhóm Cyclic nếu tồn tại g G sao cho mọi
phần tử trong G đều là một luỹ thừa nguyên nào đó của g.
Nhóm (Z
+
, +) gồm các số nguyên dương là Cyclic với phần tử sinh g = 1.
16
Cho (G, *) là Nhóm Cyclic với phần tử sinh g. và phần tử trung lập e.
Nếu tồn tại số tự nhiên nhỏ nhất n mà g
n
= e, thì G sẽ chỉ gồm có n
phần tử khác nhau: e, g, g
2
, g
3
, . . . , g
n - 1
. Khi đó G được gọi là nhóm Cyclic
hữu hạn cấp n.
Nếu không tồn tại số tự nhiên n để g
n
= e, thì G có cấp .
c. Nhóm (Z
n
*
, phép nhân mod n)
* Kí hiệu Z
n
= 0, 1, 2, . , n-1 là tập các số nguyên không âm < n.
Z
n
và phép cộng (+) lập thành nhóm Cyclic có phần tử sinh là 1, pt trung lập e = 0.
(Z
n
, + ) gọi là nhóm cộng, đó là nhóm hữu hạn có cấp n.
* Kí hiệu Z
n
*
= x Z
n
, x là nguyên tố cùng nhau với n. Tức là x phải 0.
Z
n
*
được gọi là Tập thặng dư thu gọn theo mod n, có số phần tử là (n).
Z
n
*
với phép nhân mod n
lập thành một nhóm (nhóm nhân), pt trung lập e = 1.
Tổng quát (Z
n
*
, phép nhân mod n ) không phải là nhóm Cyclic.
Nhóm nhân Z
n
*
là Cyclic chỉ khi n có dạng: 2,4, p
k
, hay 2p
k
với p là nguyên tố lẻ.
* Định lý Lagrange: Nếu G là nhóm cấp n và G, thì Cấp của là ước của n.
* Hệ quả: Giả sử
*
n
Z có Cấp m, thì m là ước của (n).
* Định lý: Nếu p là số nguyên tố thì
*
p
Z là nhóm Cyclic.
Nếu b
*
n
Z thì b
(n)
1 (mod n). Nếu p là số nguyên tố thì
(p) = p-1.
Do đó với b
*
p
Z (tức b nguyên tố với p), thì b
(p)
1 (mod n), hay b
p -1
1(mod n).
d. Phần tử nghịch đảo đối với phép nhân
* Định nghĩa
Cho a Z
n
, nếu tồn tại b Z
n
sao cho a b 1 (mod n), ta nói b là phần
tử nghịch đảo của a trong
Z
n
và ký hiệu a
-1
.
Một phần tử có phần tử nghịch đảo, gọi là khả nghịch.
* Định lý: UCLN (a, n) = 1 Phần tử a Z
n
có phần tử nghịch đảo.
Chứng minh
Nếu a a
-1
≡ 1 (mod n) thì a a
-1
= 1 + kn ↔ a a
-1
- kn = 1 → (a, n) =1.
Nếu (a, n) = 1, ta có a a
-1
+ kn = 1 → a a
-1
= 1+kn, do đó a a
-1
≡ 1 (mod n).
17
* Hệ quả: Mọi phần tử trong Z
n
*
đều có phần tử nghịch đảo.
1.2.2. Vành
Vành là một tập R với 2 toán tử + và . với các điều kiện sau:
,R là một nhóm Abel
a . (b . c) = (a . b) . c với mọi a, b, c
R.
a . (b + c) = a . b + a . c và (a + b) . c = a . c + b . c với mọi a, b, c
R.
Vành tuyến tính
F là một vành. Một đa thức bậc n trên F có dạng:
n
i
n
n
i
i
xaxaaxaxf
0
10
)(
với n là số nguyên dương, các hệ số a
i
F (
ni
0
).
Cho 2 đa thức
n
i
i
i
xaxf
0
)( và
n
i
i
i
xbxg
0
)(
Ta định nghĩa tổng của f(x) và g(x) là
n
i
i
ii
xbaxgxf
0
)()()(
Cho 2 đa thức
n
i
i
i
xaxf
0
)( và
m
j
j
j
xbxg
0
)(
Ta định nghĩa tích của f(x) và g(x) là
nm
k
k
k
xcxgxf
0
)()( với
mjni
kji
jik
bac
0,0
Vành được tạo thành bởi tất cả các đa thức trên F với toán tử thông thường là cộng
và nhân được gọi là vành đa thức trên F và ký hiệu là F[x].
Định lý (Thuật toán chia cho F[x])
Giả sử f(x) và g(x)
F[x] có bậc nguyên dương, tồn tại duy nhất đa thức q(x),
r(x)
F[x] thỏa mãn f(x) = g(x) . q(x) + r(x) với bậc của r(x) nhỏ hơn bậc của g(x).
Nếu r(x) là đa thức 0 thì g(x) được gọi là ước của f(x). Đa thức bất định f(x)
trong F[x] là tối giản nếu nó không có ước có bậc thấp hơn f(x) trong F[x]. a
F là
nghiệm của f(x)
F[x] nếu f(a) = 0.
Hệ quả
Một phần tử a
F là nghiệm của đa thức f(x)
F[x] khi và chỉ khi x – a là ước
của f(x) trong F[x].
18
Chứng minh
Vì a là nghiệm nên f(a) = 0. Vì f(x) = (x –a).g(x) + r(x) nên bậc của r(x) nhỏ
hơn 1, tức là r(x) = c
F. Vì vậy, c = f(a) = 0. Ngược lại, nếu f(x) = (x – a). q(x) thì
f(a) = 0.
Hệ quả
Một đa thức khác không f(x)
F[x] bậc n có nhiều nhất n nghiệm trong F.
1.2.3. Trường
Trường F là một vành với phần tử đơn vị e
0 sao cho F* = {a
F | a
0 }
là một nhóm nhân.
Định lý
Vành Z
p
là một trường khi và chỉ khi p là số nguyên tố
Chứng minh
Với a, b
Z, ta có p là số nguyên tố
p|ab tức là p|a hoặc p|b
Nếu Z
p
là một trường thì
*
p
Z tạo thành một nhóm nhân. Nếu p a thì a
0 mod p.
Điều này nghĩa là a
*
p
Z và tồn tại a
-1
. Do đó nếu p|ab và p a thì p|(ab)
-1
= b. Vậy
p là số nguyên tố.
Ngược lại, giả sử p là số nguyên tố. Để chỉ ra rằng
*
p
Z là một nhóm nhân ta
chỉ cần chỉ ra rằng với mọi
*
p
Zx sẽ luôn tồn tại nghịch đảo x
-1
. Với a, b
Z
p
và
*
p
Zx , nếu xa
xb mod p thì a
b mod p
a – b
0 mod p.
Vì p|x(a–b)
p|x hoặc p|a – b và
*
p
Zx tức là p x. Điều này suy ra
xZ
p
= {xa | a
Z
p
} = Z
p
trong đó xa = 1 với a
Z
p
vì luôn tồn tại phần tử 1 trong Z
p
.
Vậy mỗi
*
p
Zx luôn có phần tử nghịch đảo.
Định nghĩa
F là một trường. Một 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 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.
19
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ó đặ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ử. Mọi trường hữu hạn có
một số nguyên tố là đặc số của trường. Một trường F có đặc số thì với mọi a
F,
pa =
p
aa
= 0
Định nghĩa
Trường K với phần tử đơn vị nhân là 1. Với p thỏa mãn 01 11
p
được
gọi là đặc số của K. [5]
(Các trường hữu tỷ Q, số thực R, số phức C có đặc số là 0 )
Với p là nguyên tố thì GF(p
n
) có đặc số p.
Nếu H là trường con của K thì H và K có cùng đặc số.
F là trường mở rộng của trường K. Ký hiệu F = K(
) nếu F là trường mở
rộng nhỏ nhất của K chứa
. Nếu F là trường hữu hạn đặc số p thì nhóm nhân F* =
F \ {0} là nhóm cylic và F = Z
p
(
) với
là phần tử sinh của nhóm F* và
được
gọi là phần tử nguyên thủy của F.
Với 2 toán tử nhị nguyên * và
trên các tập A và B, một ánh xạ f : A
B nếu
với mọi a, b
A ta có:
f(a * b) = f(a)
f(b)
Giả sử A và B là 2 nhóm (hoặc 2 trường), ta gọi h: A
B là một đẳng cấu
A đến B nếu h đảm bảo các tính chất của toán tử nhóm của A.
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ử.
Định lý
F là trường mở rộng bậc n trên trường hữu hạn K. Nếu K có q phần tử thì F có
q
n
phần tử.
Chứng minh
Giả sử {
n
, ,
1
}là cơ sở của F như là một không gian vector trên K.
Mọi F
sẽ có dạng
nn
cc
11
trong đó Kc
i
(i = 1,…, n). Vì mỗi c
i
có
thể là một trong q phần tử của K nên số các tổ hợp tuyến tính là q
n
.
20
Định lý
Nếu F là một trường hữu hạn có đặc số p thì F có p
n
phần tử với n nguyên dương.
Vì vậy, mọi trường hữu hạn là một mở rộng của trường đẳng cấu Z
p
với p là
đặc số của F.
Định lý
Trường hữu hạn F =
n
p
F là một trường mở rộng của Z
p
bậc n và mọi phần tử
của
n
p
F là một nghiệm của đa thức
xx
n
p
trên Z
p
.
Chứng minh
Đặc số của
n
p
F là p. Tập hợp F* = F \ {0} tạo thành nhóm nhân bậc
p
n
-1. Với
*F
, bậc của trong nhóm chia hết cho bậc của F*, p
n
– 1. Vì vậy, với
mọi
*F
, chúng ta có
1
1
n
p
hay
n
p
. Vì
xx
n
p
có nhiều nhất p
n
nghiệm,
n
p
F gồm tất cả các nghiệm của
xx
n
p
trên Z
p
.
Ví dụ
Trường
r
F
2
chứa F
2
(hoặc Z
2
).Nếu viết toán tử cộng trong
r
F
2
như là phép cộng
vector và viết phép nhân k và v(k,v
r
F
2
)là một tích vô hướng của k
F
2
và v
r
F
2
.Khi đó
r
F
2
được xem là không gian vector trên F
2
với chiều r. Ký hiệu d là
chiều của không gian vector này. Có thể thực hiện ánh xạ 1 – 1 giữa các phần tử
trong không gian vector d chiều và các d-tuple của các phần tử trong F
2
. Vì
vậy,có2
d
phần tử trong không gian vector này.Vì d = r,
r
F
2
là không gian vector r
chiều.
m
q
F là một mở rộng của F
q
. 2 phần tử
m
q
F
, là liên hợp trên F
q
nếu
và
là các nghiệm của cùng một đa thức tối giản bậc m trên F
q
.
12
, ,,,
m
qqq
là
các liên hợp của
m
q
F
với F
q
.
m
q
F là một mở rộng của F
q
. Một cơ sở của
m
q
F (không gian vector trên F
q
)
của {
12
, ,,,
m
qqq
} gồm
m
q
F
và các liên hợp của nó với F
q
, được gọi là cơ
sở trực giao của
m
q
F trên F
q
. Mọi trường mở rộng bậc hữu hạn của một trường hữu
hạn có một cơ sở trực giao.
Không gian chiếu
21
Xét L = K
n+1
\{0} với K là một trường. Với A = (a
0
, a
1
, …, a
n
), B = {b
0
, b
1
, …,
b
n
}
L, định nghĩa một quan hệ A ~ B gồm A, B và gốc O = (0, 0,…,0) là cộng
tuyến, nghĩa là tồn tại
K
thỏa mãn :
ii
ba
, (i = 0, 1, …, n).
Quan hệ ~ là quan hệ tương đương và định nghĩa một phân hoạch của L. Tập
thương số là không gian chiếu ký hiệu là P
n
(K).
Mặt phẳng chiếu là tập các lớp tương đương của bộ ba (X, Y, Z) với
( ),,( ZYX
) ~ (X, Y, Z) (
K
). Mỗi lớp tương đương (X, Y, Z) được gọi là một
điểm chiếu trên mặt phẳng chiếu. Nếu một điểm chiếu có Z
0, thì (x, y, 1) là một
thể hiện của lớp tương đương với x =
Z
X
, y =
Z
Y
. Mặt phẳng chiếu có thể được
định nghĩa là tập tất cả các điểm(x, y)của mặt phẳngAffine cộng với các điểm Z = 0.
22
1.2.4. Không gian vector
K là một trường và V là một nhóm cộng Abel. V được gọi là không gian vector
trên trường K nếu một toán tử K x V
V được định nghĩa thỏa mãn các điều kiện
sau:
a(u + v) = au + av
(a + b)u = au + bu
a(bu) = (ab)u
1u = u
Các phần tử của V được gọi là các vector và các phần tử của K được gọi là
các vô hướng. V là một không gian vector trên trường K và các v
1
, …, v
m
V.
Vector trong V có dạng c
1
v
1
+ c
2
v
2
+ …+ c
m
v
m
với c
i
K (i = 1, …, m) là một tổ
hợp tuyến tính của v
1
, …, v
m
. Tập hợp tất cả các tổ hợp tuyến tính gọi là span của v
1
,
…,v
m
và ký hiệu là span(v
1
, …, v
m
). v
1
, …, v
m
được gọi là span nếu của V nếu
V = span(v
1
, …, v
m
).
V là không gian vector trên trường K. Các vector v
1
, …, v
m
V được gọi là
độc lập tuyến tính trên K nếu không có các vô hướng c
1
,…, c
m
K thỏa mãn:
c
1
v
1
+ c
2
v
2
+ …+ c
m
v
m
= 0
Tập S = {u
1
, u
2
,…,u
n
} của các vector tạo thành cơ sở của V khi và chỉ khi
u
1
, u
2
,…,u
n
là độc lập tuyến tính là span của V. Nếu S là một cơ sở của V thì mọi
phần tử của V được biểu diễn duy nhất dưới dạng tổ hợp tuyến tính của các phần tử
của S. Nếu không gian vector V có cơ sở là một số hữu hạn các vector thì bất kỳ cơ
sở nào của V cũng sẽ có cùng số phần tử. Khi đó nó chính là chiều của V trên K.
Nếu F là một trường mở rộng của trường K thì F là một không gian vector
trên K. Chiều của F trên K được gọi là bậc mở rộng của F trên K.
23
Chương 2. ĐƯỜNG CONG ELLIPTIC
Hệ thống mã khóa khóa công khai dựa trên việc sử dụng các bài toán khó giải
quyết. Vấn đề khó ở đây chính là việc số lượng phép tính cần thiết để tìm ra một lời
giải cho bài toán là rất lớn. Trong lịch sử 20 năm của ngành mã hóa bất đối xứng đã
có nhiều đề xuất khác nhau cho dạng bài toán như vậy, tuy nhiên chỉ có hai trong số
các đề xuất đó còn tồn tại đến ngày nay. Hai bài toán đó bao gồm : bài toán logarit
rời rạc (discrete logarithm problem) và bài toán phân tích thừa số của số nguyên.
Cho đến năm 1985, hai nhà khoa học Neal Koblitz và Victor S.Miller đã độc
lập nghiên cứu và đưa ra đề xuất ứng dụng lý thuyết toán học đường cong elliptic
(elliptic curve ) trên trường hữu hạn.
Đường cong elliptic cũng như đại số hình học- được nghiên cứu rộng rãi trong
vòng 150 năm trở lại đây và đã đạt được một số kết quả lý thuyết có giá trị. Đường
cong elliptic được phát hiện lần đầu tiên vào thế kỷ 17 dưới dạng công thức
Diophantine : y
2
– x
3
= c với c Z
Tính bảo mật của hệ thống mã hóa sử dụng đường cong elliptic dựa trên điểm
mấu chốt là độ phức tạp của bài toán logarit rời rạc trong hệ thống đại số. Trong
suốt 10 năm gần đây, bài toán này nhận được sự quan tâm chú ý rộng rãi của các
nhà toán học hàng đầu trên thế giới. Không giống như bài toán logarit rời rạc trên
trường hữu hạn hoặc bài toán phân tích thừa số của số nguyên, bài toán logarit rời
rạc trên đường cong elliptic chưa có thuật toán nào có thời gian thực hiện nhỏ hơn
cấp lũy thừa. Thuật toán tốt nhất được biết đến hôm nay tốn thời gian thực hiện cấp
lũy thừa.
24
2.1. CÔNG THỨC WEIERSTRASSE VÀ ĐƯỜNG CONG
ELLIPTIC
Gọi K là trường hữu hạn hoặc vô hạn. Một đường cong elliptic được định
nghĩa trên trường K bằng công thức Weierstrasse :
y
2
+ a
1
xy + a
3
y = x
3
+ a
2
x
2
+ a
4
x + a
6
(1)
Trong đó a
1
, a
2
, a
3
, a
4
, a
5
, a
6
K
Đường cong elliptic trên trường k được ký hiệu E(K). Số lượng các điểm
nguyên trên E ký hiệu là #E(K) , có khi chỉ đơn giản là #E. Đối với từng trường
khác nhau, công thức Weierstrasse có thể được biến đổi và đơn giản hóa thành các
dạng khác nhau. Một đường cong elliptic là tập hợp các điểm thỏa mãn công thức
trên.
Hình 1: Một ví dụ về đường cong Elliptic
2.2. ĐƯỜNG CONG ELLIPTIC TRÊN TRƯỜNG R
2
Đường cong elliptic E trên trường số thực R là tập hợp các điểm (x,y) thỏa
mãn công thức:
y
2
= x
3
+ a
4
x + a
6
với a
4
, a
6
R (2)
cùng với một điểm đặc biệt O được gọi là điểm tại vô cực (cũng là phần tử
identify). Cặp giá trị (x,y ) đại diện cho một điểm trên đường cong elliptic và tạo
nên mặt phẳng tọa độ hai chiều (Affine) R x R . Đường cong elliptic E trên R
2
25
được gọi là định nghĩa trên R , ký hiệu là E (R). Đường cong elliptic trên số thực có
thể dùng để thể hiện một nhóm (E(R), +) bao gồm tập hợp các điểm (x ,y) thuộc R x
R với phép công + trên E(R).
2.2.1. Phép cộng
Hình 2: Điểm ở vô cực
Phép cộng điểm (ESUM) được định nghĩa trên tập E(R) của các điểm (x, y).
Điểm tại vô cực 0 là điểm cộng với bất kỳ điểm nào cũng sẽ ra chính điểm đó.
Như vậy,
, ,
P x y E R P O O P P
3
4 6
, ,
P x y E R y x a a
(3)
Như vậy , tương ứng với một giá trị x ta sẽ có hai giá trị tọa độ y.
Điểm (x , -y ) ký hiệu là –P E(R), được gọi là điểm đối của P với :
P + (-P) = (x , y) + (x ,- y) = 0 (4)
Phép cộng trên E(R) được định nghĩa theo phương diện hình học . Giả sử có
hai điểm phân biệt P Và Q , P, Q E(R). Phép cộng trên nhóm đường cong elliptic
là P +Q = R ,R E(R).