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àm rõ 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
Trang 1HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
Trang 2Luậ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
Trang 3MỞ ĐẦ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 đến cá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àm
rõ 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ìm hiể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 Elliptic
Chươ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.1 Các định nghĩa
Định nghĩa 1
Trang 4Một đường cong Elliptic dạng Weierstrass đầy đủ là tập tất cả các điểm với 3 tọa độ
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àm df
dx hoặc df
dy khá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à đường cong kì dị
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 xu x2 'r y u y; 3 'su x2 '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:
Trang 5Định nghĩa 9:
Đường cong Elliptic E định nghĩa trên p thỏa mãn #E p 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 x y, pthỏ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à E p
Phép cộng điểm: Cho hai điểm P1 và P2 phân biệt trên đường cong Elliptic
E Tổng của P1 và P2, ký hiệu là P3, được định nghĩa như sau:
Kẻ một đường thẳng đi qua P1 và P2 Đường thẳng này sẽ cắt E tại một điểm thứ 3, được ký hiệu là '
Cho Elà một đường cong Elliptic xác định bởi phương trình 2 3
y x x B Gọi 1
1 ( ,1 )
P x y và P2 ( ,x y2 2)là các điểm trên Evới P P1, 2 Khi đó P1 P2 P3( ,x y3 3)với
3 , 3
x y được tính như sau:
(1) (Công thức cộng điểm) Nếu x1 x2, thì
1
32
x A m
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: P1P2 P2 P1với mọi P P1, 2 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 '
PP Điểm '
P thường được kí hiệu là P (4) Tính kết hợp: (P1P2)P3 P1 P2P3P P P1, 2, 3E
Trang 61.1.2.1 Các tự đồng cấu
Một tự đồng cấu Enghĩ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, P1P2 P1 P2 , và có các hàm hữu tỉ (thương của các đa chức)
3 2
,,,
Trang 7vậ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
Định lý [6 – Theorem 3.9]:
Cho E là một đường cong Elliptic 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:
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:
Trang 8Nếu hai điểm 1(x1y )1 và 2(x2y )2 với x1x2nằ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 3x , y3 3
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 được
thô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 F của q = p q rphần tử trên trường hữu hạn Giả sử E là đường
cong elliptic được định nghĩa trên F Nếu đặc số của trường q p 2hoặc p 3thì E được
cho bởi phương trình ở (1.13) và (1.14)
đó 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 định
nghĩa P + Q = O Ngược lại thì P + Q = (x3, y3) E trong đó:
Trang 9Hì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ử
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
Trang 10Hình 3: Ví dụ phép nhân đôi trên đường cong Elliptic
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 F2 r
có thể bị tấn công bởi MOV, trong khi các đường cong trên trường Fp (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à m
2 g 2 Khi đó:
Trang 11 Tập tất cả các cặp nghiệm (x, y) của phương trình y2 ax x3 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 elliptic dạng supersin gular
Tập tất cả các cặp nghiệm (x, y) của phương trình y2 ax x3 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 elliptic dạng non-supersingular
(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 kPQ Giả sử biết phân tích ra thừa số nguyên tố của N là:
i e i i
N nPhươ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
Trang 12(3) Đặt d gcd(M N, ), đặt T1 ( M d T / ) Khi đó T1có bậc d chia hết cho N,
(5) Giải bài toán log rời rạc 2 1 k trong p*m Kết quả cho ta k (mod ) 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ác
nhau thu được là N Khi đó ta xác định được k (mod ) 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 P P1, 2, , Pn, 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ệ
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ố a pkhi biết g và ga 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 đương vớ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án
DH – Tính toán CDH và bài toán DH – Quyết định DDH
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:
Trang 13Bảng 1: So sánh các phương pháp tấn công hệ mật Elliptic
Nhỏ Hiệu quả nếu m nhỏ
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ô ấy
mã hóa văn bản để thu được bản mã (Ciphertext) Để 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 (Symmetric 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 (Public Key Encryption),
hoặc mật mã không đối xứng (Asymmetric Encryption)
Trang 14Hì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 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)
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 đổi
dữ liệu thông qua một sơ đồ mã đối xứng Alice và Bob thống nhất một đường cong elliptic
E 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 duy nhấ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 – Hellman
Cho 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ách nà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?
Trang 15Cho E là đường cong y2 x3 1 trên Fq, với q ≡ 2 (mod 3) Theo mệnh đề, E là siêu
kì dị Cho Fq 2 là một căn nguyên thủy bậc ba của đơn vị Định nghĩa ánh xạ
: E( Fq) E( Fq), x, y x, y , ( )
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 được mộ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ột hộ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
m , số nguyên biểu diễn nghịch đảo của mA, và
mA là khử nhau Ta có mA1 mA (mod N), vậy mA1 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 R E F q
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ột trườ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 P trê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ột
số 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
Trang 162.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 plà một bộ p, , , ,A B G N h S, , EED
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 p, , , ,A B G N h S, , EED
Output: (Q – điểm công khai, d – khóa bí mật)
(1) Sinh dR0,N 1 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 Qx y Q, QdG
(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 p, , , ,A B G N h S, , EED 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 p, , , ,A B G N h S, , EED , 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
Trang 172.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 EC5
Output: 0: Không thỏa mãn điều kiện MOV; 1: Thỏa mãn MOV
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
là h bít bên phải của H
(3) W0là 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 c0thành 0
t i i i
(8) Nếu 4A327B2 0 (mod ),p chuyển sang bước 1
(9) Đường cong được chọn trên p là E: y2 x3AxB
(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 à A B, p
Output: Chấp nhận hoặc không chấp nhận tham số đầu vào