SlideShare a Scribd company logo
1 of 14
I. Giới thiệu đường cong elliptic
Đường cong Elliptic trên số thực Đường cong Elliptic là đường cong có dạng:
Y2
= x3
+ax+b
Trước khi khảo sát đồ thị của đường cong Elliptic, chúng ta xem lại đường bậc 3 sau:
Y2
=f(x)= x3
+ax+b
Nếu a>0 , f(x) đơn điệu tăng.
Nếu a≤ 0 ,f(x) có 4 trường hợp sau: đặt
Từ đó chúng ta có các trường hợp sau đây của đường cong Elliptic (không sử dụng trường hợp =0 vì lúc
này đường cong bị gãy):
II. Đường cong Elliptic
Trong đường cong Elliptic, chúng ta định nghĩa thêm một điểm O (điểm vô cực). Gọi E(a, b) là tập các
điểm thuộc đường cong y=x3
+ax+b cùng với điểm O. Ta định nghĩa phép cộng trên tập các điểm thuộc
E(a, b) như sau:
1) Điểm O là phần tử đơn vị của phép cộng. Như vậy với P € E(a,b), P≠0 thì P+0=0. Trong phần
tiếp theo, ta giả định P≠0 và Q≠0.
2) Phần tử nghịch đảo của điểm P trong phép cộng, ký hiệu – P, là điểm đối xứng với P qua trục
hoành, như vậy P+(-P)=0
3) Với 2 điểm P, Q bất kỳ, kẻ một đường thẳng đi qua P và Q thì sẽ cắt đường cong Elliptic tại một
điểm thứ 3 là điểm S. Phép cộng P và Q sẽ là R=P+Q=-S
Trong trường hợp P và Q đối xứng qua trục hoành, hay nói cách khác P=-Q thì đường thẳng nối P,Q
sẽ cắt đường cong Elliptic tại vô cực,hay P+(-P)=0 . Điều này phù hợp với định nghĩa 2.
4) Để tính P+P , ta vẽ đường thẳng tiếp tuyến với đường cong Elliptic tại P,đường thẳng này cắt
đường cong tại điểm S, lúc đó R=P+P=-S
Có thể thấy, tập E(a,b) cùng với phép cộng định nghĩa như trên tạo thành một nhóm
Abel
Gọi điểm P(xp,yp) Q(xq,yq)
P+Q=R(xr,yr)
xr=∆2
-xp-xq
yr =∆(xp-xr)-yp
 Với P ≠ Q
∆=
𝑦q – 𝑦p
𝑥q –𝑥p
 Với P ≡ Q
∆=
3𝑥 𝑝
2 + 𝐴
2𝑦p
III. Đường cong elliptic trên trường Zp.
- Đường cong elliptic trên trường Zp, đường con này có dạng
Y2
mod p = (x3
+ax+b) mod p a,b,x,y € Zp
- Ví dụ trong trường Z11, chọn a=-1, b=0, x=4,y=4 ta có
42
mod 11 = (43
-4) mod 11
16 mod 11= 60 mod 11 = 5
Y2
X3
– X X Y
0 0 0 0 0
1 1 0 1 0
2 4 6 10 0
3 9 2 4 4 or 7
4 5 5 9 4 or 7
5 3 10 6 1
6 3 1 6 10
7 5 6 8 8 or 3
8 9 9
9 4 5
10 1 0
Khi modulo cho các số nguyên tố, theo tính toán sẽ có các điểm như sau:
2 2
3 3
5 7
7 7
11 11
13 7
17 19
19 19
23 23
Gọi N là số các điểm trên đường cong elliptic được định nghĩa trên 𝐹𝑞. Khi đó
| 𝑁 − (𝑞 + 1)| ≤ 2√𝑞
IV. Đường cong Elliptic trên trường GF(2m
)
Đường cong Elliptic trên trường GF(2m
) là đường cong có các hệ số thuộc trường GF(2m
), đường
cong này có dạng hơi khác so với trên Zp:
y2
+xy=x3
+ax=b a,b,x,y € GF(2m
)
Đường cong y2
+xy=x3
+ax=b trên trường số thực
Bây giờ chúng ta sẽ xét tập E2
m
(a,b) gồm các điểm trên đường cong Elliptic này cùng với điểm vô
cực O.
Ví dụ, xét trường GF(24
) với đa thức tối giản là m(x)=x4
+x+ 1. Phần tử sinh g của trường này có
điều kiện g4
= g+ 1 . Bảng các lũy thừa của g là:
Xét ví dụ về đường cong Elliptic trên GF(24
):
y2
+ xy = x3
+ g4
x + 1 (a = g4
,b = 1)
Bảng bên dưới liệt kê các điểm thuộc đường cong này
Tương tự như nhóm Abel Ep(a,b) , chúng ta cũng xây dựng một nhóm Abel E2
m
gồm các điểm
của đường cong Elliptic GF(2m
) cùng với điểm vô cực O.
1) Điểm O là phần tử đơn vị của phép cộng. P + 0 = 0 + P = 0.
2) Phần tử nghịch đảo của điểm P trong phép cộng, ký hiệu – P,là điểm đối xứng với P,ký hiệu
P =(xp,yp) thì –P =( xp,xp+yp)
3) Với 2 điểm P, Q bất kỳ (P ≠ Q) phép cộng R=P+Q được xác định bằng công thức:
4) Phép cộng R=P+P được xác định bằng công thức:
V. Đường cong Elliptic trong mã hóa – ECC
Đối với mã hóa đường cong Elliptic, chúng ta xây dựng hàm một chiều như sau: Trong nhóm
Abel Ep(a,b) xây dựng từ đường cong Elliptic Zp, xét phương trình:
Q=P+P+P+P+…+P=kP (điểm Q là tổng của k điểm P, k < p)
Cho trước k và P,việc tính Q thực hiện dễ dàng. Tuy nhiên nếu cho trước P và Q, việc tìm ra k là
công việc khó khăn. Đây chính là hàm logarit rời rạc của đường cong Elliptic.
Ví dụ:
Y2
mod 17 = (x3
+2x+2) mod 11 a,b,x,y € Z11
Cho điểm G =(5,1); M(7,6)
2G=(6;3) 6G=(16;13)
3G=(10;6) 7G=(0;6)
4G(3;1) 8G=(13;17)
5G=(9;16) 9G=(7;6)
Vì 9G = M nên K = 9.
Trong thực tế chúng ta sẽ sử dụng đường cong Elliptic Zp với giá trị p lớn, sao cho việc vét cạn là
bất khả thi. Hiện nay người ta đã tìm ra phương pháp tìm k nhanh hơn vét cạn là phương pháp
Pollar rho. Dựa vào hàm một chiều trên chúng ta có 2 cách sử dụng đường cong Elliptic trong
lĩnh vực mã hóa là trao đổi khóa EC Diffie-Hellman và mã hóa EC.
VI. Trao đổi khóa EC Diffie-Hellman
Trước tiên ta chọn một số nguyên q lớn, với q là số nguyên tố (nếu sử dụng đường cong Elliptic
Zp) hoặc q có dạng 2m
(nếu chọn đường cong GF(2m
)), và chọn 2 tham số a, b tương ứng để tạo
thành nhóm Eq(a,b). Ta gọi G là điểm cơ sở của nhóm nếu tồn tại một số nguyên n sao cho nG=0
Số nguyên n nhỏ nhất như vậy được gọi là hạng của G.
Trong trao đổi khóa EC Diffie-Hellman, ta chọn một điểm G có hạng n lớn, và giao thức trao đổi
khóa giữa Alice và Bob tiến hành như sau:
1) Alice chọn một số bí mật α < n và giữ bí mật α này. Sau đó, trong Eq(a,b), Alice tính A = αG
và gửi A cho Bob
2) Tương tự Bob chọn 1 số β, tính B=βG và gửi B cho Alice
3) Alice chọn khóa phiên bí mật là:
p = αB = αβG
4) Bob tạo khóa phiên bí mật
p = βB = βαG = αβG
Giống với khóa của Alice và Eve có thể chặn được A B tuy nhiên chỉ có thể tính được
A + B = αG + βG = (α + β)G
Để tính được k = αβG, Eve phải tìm được α,β từ A và B và G. Tuy nhiên điều nay là bất khả thi như đã
thấy
Ví dụ: Cho
P=17
a=2
b=2
G=(5;1)
n=19
h=1
A=(10;6)
B(7;6)
Ta bắt đầu tính
G=(5;1) 11G=(13;10)
2G=(6;3) 12G=(0;11)
3G=(10;6) 13G=(16;4)
4G=(3;1) 14G=(9;1)
5G=(9;16) 15G=(3;16)
6G=(16;13) 16G=(10;11)
7G=(0;6) 17G=(6;14)
8G=(13;7) 18G=(5;16)
9G=(7;6) 19G=0
10G=(7;11)
Ta thấy A = 3G => α = 3
B = 9G => β = 9
β A = 9A = 9(3G) = 27G = 8G = (13;7)
αβ = 3B = 3(9G) = 27G = 8G = (13;7)
Trên thực tế các thành phần công khai sẽ là
VII. Mã hóa và giải mã EC
Tương tự như vấn đề trao đổi khóa, trong vấn đề mã hóa/giải mã, ta cũng chọn các tham số để tạo một
nhóm Abel Eq(a,b) và chọn một điểm cơ sở G có hạng n lớn.
Các thành phần khóa khóa riêng và công khai trong mã hóa EC được định nghĩa như sau:
Trong đó d<n và E = dG với d là một số bí mật do người sinh khóa chọn. Do tính chất của hàm một chiều
từ E và G không thể suy ra được d.
Từ đó chúng ta có hai cách thức thực hiện mã hóa/ giải mã như sau:
1) Phương pháp Elgamal:
Giả sử Alice muốn gửi một thông điệp M cho Bob, trước tiên Alice chuyển M từ dạng dãy bít sang dạng
điểm PM =(x, y). Bản mã CM (dùng khóa công khai của Bob) được tính là một cặp điểm như sau:
CM = {kG, PM + kE) với k là một số ngẫu nhiên do Alice chọn
Để giải mã dùng khóa riêng, Bob sẽ nhân điểm thứ nhất trong CM với d, sau đó lấy điểm thứ hai trừ cho
kết quả:
PM = kE – dkG = PM + kdG – kdG = PM
Trong phương thức mã hóa, Alice đã che giấu PM bằng cách cộng PM với kE. Để giải mã, Bob cần trừ
ra lại kE. Thay vì gửi trực tiếp k cho Bob để Bob tính kE (Trudy có thể chặn được),Alice gửi một dấu
hiệu là kG . Dựa vào kG và d, Bob có thể tính kE. Còn Trudy, dù biết G và kG, tuy nhiên vẫn không thể
tính được k do tính chất của hàm một chiều.
Ví dụ: chọn p = 751, a = 1, b = 188 ta có đường cong Elliptic trên Z751 như sau:
Chọn điểm cơ sở là G =(0, 376).
Giả sử Alice cần mã hóa bản rõ là điểm PM = (562, 201) dùng khóa công khai E = (201, 5). Alice chọn k
= 386. Ta có:
386(0, 376) = (676, 558)
(562,201) + 386(201, 5) = (385, 328)
Vậy bản mã là cặp điểm { (676, 558), (385, 328) }
2) Phương pháp Menezes - Vanstone:
Thông điệp M của Alice được tách thành hai phần M=(m1, m2) sao cho m1, m2 € Zp. Alice chọn một
số ngẫu nhiên k, kết hợp với khóa công khai của Bob, Alice tính điểm P như sau:
Bản mã CM gồm ba thành phần
Để giải mã dùng khóa riêng, từ dấu hiệu kG, Bob tính:
và từ đó tính nghịch đảo của xp
-1
và yp
-1
trong phép modulo p. Cuối cùng, bản giải mã là:
Tương tự như phương pháp Elgamal, dù biết G và kG, Trudy cũng không thể tính được k để tính P.
VIII. Độ an toàn của ECC so với RSA
Hiện nay, phương pháp nhanh nhất để tính logarit đường cong Elliptic (tính k biết G và kG) là
phương pháp Pollar rho. Bảng sau đây liệt kê kích thước khóa của phương pháp ECC và phương pháp
RSA dựa trên sự tương đương về chi phí phá mã.
Như vậy với cùng một độ an toàn thì mã hóa ECC chỉ dùng các phép tính có số bít nhỏ hơn nhiều
lần so với mã hóa RSA.
IX. Đánh giá các tấn công hệ mật đường cong Elliptic
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à:
∏ 𝒏 𝒊
𝒆𝒊
𝒊
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.
Tấn công MOV.
Thuật toán:
Input: P,Q , (EFp),ord (P)  N , gcd(N, p)=1, nQ kP.
Output: k N (mod )
(1). Chọn một điểm ngẫu nhiên T  E (𝐹 𝑝 𝑚 )
(2). Tính bậc M của T
(3). Đặt gcd(M, N), đặt T 1  (M / d) T . Khi đó T1 có bậc d chia hết cho N , vậy T1  E N
(4). Tính 1=eN(P,T1) 2(P,T2 ). Khi đó cả 1 2 đều thuộc vào d 𝐹𝑝 𝑛
∗
(5). Giải bài toán log rời rạc 2= 1
𝑘
 trong 𝐹𝑝 𝑛
∗
. 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).
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 , P1,P2 ….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ệ ∑ 𝑛 𝑖 𝑝𝑖 = 0𝑟
𝑖=1 . Tuy nhiên, xác suất để chúng phụ thuộc tuyến tính là nhỏ.
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Zp khi 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. Haibiế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.
CDH:Cho  g ,g a
,g b
 ,. Tính g ab
?
DDH: Cho g, ga
,gb
, gc
. Xác định xem c ab trong Zp hay không?
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ểm tra
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ể.
Nhận xét Tổng hợp các phương pháp trên ta có bảng như sau:
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 Fp là một bộ Fp ,A,B,G,N,h,SEED
trong đó:
 p>3 là số nguyên tố, xác định trường hữu hạn cơ sở Fp .
 E: y2
=x3
+Ax + B với A,BFp.
 Phần tử sinh G (xG ,yG ) có bậc nguyên tố là N trên E , (xG ,yG )  e(Fp)và N=# E(FP) .
Đồ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ểmtra 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 (Fp,A,B,G,N,h,SEED)
Output: (Q – điểm công khai, d – khóa bí mật)
(1) Sinh dR[0,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 Q= (xQ,,yQ)  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 (Fp ,A,B,G,N,h,SEED) 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 (Fp ,A,B,G,N,h,SEED) , 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 xQ ,yq Fp
(3) Kiểm tra rằng y2
Q = x3
Q + AxQ = B trong Fp .
(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 khai không
hợp lệ” còn không thì trả về “khóa công khai hợp lệ”.
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 EC5
Output: 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ố p
Output: Chuỗi SEED và A, B Fp xác định E trên Fp .
Tính trước t = log2 p, s= (t-1)/256 ,h=t-256s
(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ít của
SEED.
(2) Tính H=SHA256(SEED), gọi Co
là h bít bên phải của H
(3) Wo 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 Co
thành 0 (nhằm
đảm bảo r < p)
(4) Với i= 1 đến s tính Wt =SHA256(SEED i) mod 2
(5) W  W0 W1 ..... Ws
(6) Với w1 w2 .… wt là các bít của W từ trái qua phải. Tính số nguyên r = ∑ Wi2𝑖−1𝑡
𝑖=1
(7) Chọn A,BFp sao cho rB2
A3
(mod p) (A,B không nhất thiết phải chọn ngẫu
nhiên).
(8) Nếu 4A3
+27B2
0 (mod P) chuyển sang bước 1.
(9) Đường cong được chọn trên Fp là E: y2
= x3
+Ax+B .
(10) Return (SEED, A, B).
TÀI LIEEUK THAM KHẢO
1. Giáo trình AN TOÀN VÀ BẢO MẬT THÔNGTIN .
2. LUẬN VĂN THẠC SĨ NGHIÊN CỨU HỆ MẬT ĐƯỜNGCONGELLIPTIC VÀ ỨNGDỤNG.
3. Youtube Elliptic Curve Cryptography

More Related Content

What's hot

Công thức truyền tin
Công thức truyền tinCông thức truyền tin
Công thức truyền tinakprovip
 
biến đổi ma trận ( Transformation matrix)
biến đổi ma trận ( Transformation matrix)biến đổi ma trận ( Transformation matrix)
biến đổi ma trận ( Transformation matrix)Bui Loi
 
chuong 4. dai so boole
chuong 4.  dai so boolechuong 4.  dai so boole
chuong 4. dai so boolekikihoho
 
Phương pháp runge kutta giải gần đúng hệ phương trình vi phân đại số
Phương pháp runge kutta giải gần đúng hệ phương trình vi phân đại sốPhương pháp runge kutta giải gần đúng hệ phương trình vi phân đại số
Phương pháp runge kutta giải gần đúng hệ phương trình vi phân đại sốKhu Tiến
 
Mạng neuron, trí tuệ nhân tạo
Mạng neuron, trí tuệ nhân tạoMạng neuron, trí tuệ nhân tạo
Mạng neuron, trí tuệ nhân tạoKien Nguyen
 
Thuật toán Nhân Bình Phương - demo
Thuật toán Nhân Bình Phương - demoThuật toán Nhân Bình Phương - demo
Thuật toán Nhân Bình Phương - demoCông Thắng Trương
 
Phụ thuộc hàm và các dạng chuẩn - dhcntt
Phụ thuộc hàm và các dạng chuẩn - dhcnttPhụ thuộc hàm và các dạng chuẩn - dhcntt
Phụ thuộc hàm và các dạng chuẩn - dhcnttanhhuycan83
 
Kỹ thuật siêu cao tần tài liệu, tai lieu
Kỹ thuật siêu cao tần   tài liệu, tai lieuKỹ thuật siêu cao tần   tài liệu, tai lieu
Kỹ thuật siêu cao tần tài liệu, tai lieuhung_pham_94
 
Phương pháp tham lam giải bài toán lập lịch công việc
Phương pháp tham lam giải bài toán lập lịch công việcPhương pháp tham lam giải bài toán lập lịch công việc
Phương pháp tham lam giải bài toán lập lịch công việcNguyễn Danh Thanh
 
Mức cô lập SQL
Mức cô lập SQLMức cô lập SQL
Mức cô lập SQLĐức Lê
 
Bài giảng an toàn ứng dụng web và csdl PTIT
Bài giảng an toàn ứng dụng web và csdl PTITBài giảng an toàn ứng dụng web và csdl PTIT
Bài giảng an toàn ứng dụng web và csdl PTITNguynMinh294
 
Kiến trúc máy tính và hợp ngữ bài 05
Kiến trúc máy tính và hợp ngữ bài 05Kiến trúc máy tính và hợp ngữ bài 05
Kiến trúc máy tính và hợp ngữ bài 05Nhóc Nhóc
 

What's hot (20)

Công thức truyền tin
Công thức truyền tinCông thức truyền tin
Công thức truyền tin
 
biến đổi ma trận ( Transformation matrix)
biến đổi ma trận ( Transformation matrix)biến đổi ma trận ( Transformation matrix)
biến đổi ma trận ( Transformation matrix)
 
Thuật toán K mean
Thuật toán K meanThuật toán K mean
Thuật toán K mean
 
chuong 4. dai so boole
chuong 4.  dai so boolechuong 4.  dai so boole
chuong 4. dai so boole
 
MATMA - Chuong2
MATMA - Chuong2MATMA - Chuong2
MATMA - Chuong2
 
Phương pháp runge kutta giải gần đúng hệ phương trình vi phân đại số
Phương pháp runge kutta giải gần đúng hệ phương trình vi phân đại sốPhương pháp runge kutta giải gần đúng hệ phương trình vi phân đại số
Phương pháp runge kutta giải gần đúng hệ phương trình vi phân đại số
 
Mạng neuron, trí tuệ nhân tạo
Mạng neuron, trí tuệ nhân tạoMạng neuron, trí tuệ nhân tạo
Mạng neuron, trí tuệ nhân tạo
 
Dãy số và giới hạn
Dãy số và giới hạnDãy số và giới hạn
Dãy số và giới hạn
 
Chuong02
Chuong02Chuong02
Chuong02
 
Thuật toán Nhân Bình Phương - demo
Thuật toán Nhân Bình Phương - demoThuật toán Nhân Bình Phương - demo
Thuật toán Nhân Bình Phương - demo
 
Hệ mật mã Rabin
Hệ mật mã RabinHệ mật mã Rabin
Hệ mật mã Rabin
 
Phụ thuộc hàm và các dạng chuẩn - dhcntt
Phụ thuộc hàm và các dạng chuẩn - dhcnttPhụ thuộc hàm và các dạng chuẩn - dhcntt
Phụ thuộc hàm và các dạng chuẩn - dhcntt
 
Kỹ thuật siêu cao tần tài liệu, tai lieu
Kỹ thuật siêu cao tần   tài liệu, tai lieuKỹ thuật siêu cao tần   tài liệu, tai lieu
Kỹ thuật siêu cao tần tài liệu, tai lieu
 
Phân Tích Thiết Kế Hệ Thống Thông Tin - Quản Lý Điểm
Phân Tích Thiết Kế Hệ Thống Thông Tin -  Quản Lý ĐiểmPhân Tích Thiết Kế Hệ Thống Thông Tin -  Quản Lý Điểm
Phân Tích Thiết Kế Hệ Thống Thông Tin - Quản Lý Điểm
 
Đề tài: Phần mềm Quản Lý Siêu Thị Mini, HAY, 9đ
Đề tài: Phần mềm Quản Lý Siêu Thị Mini, HAY, 9đĐề tài: Phần mềm Quản Lý Siêu Thị Mini, HAY, 9đ
Đề tài: Phần mềm Quản Lý Siêu Thị Mini, HAY, 9đ
 
Phương pháp tham lam giải bài toán lập lịch công việc
Phương pháp tham lam giải bài toán lập lịch công việcPhương pháp tham lam giải bài toán lập lịch công việc
Phương pháp tham lam giải bài toán lập lịch công việc
 
Mức cô lập SQL
Mức cô lập SQLMức cô lập SQL
Mức cô lập SQL
 
Bài giảng an toàn ứng dụng web và csdl PTIT
Bài giảng an toàn ứng dụng web và csdl PTITBài giảng an toàn ứng dụng web và csdl PTIT
Bài giảng an toàn ứng dụng web và csdl PTIT
 
Kiến trúc máy tính và hợp ngữ bài 05
Kiến trúc máy tính và hợp ngữ bài 05Kiến trúc máy tính và hợp ngữ bài 05
Kiến trúc máy tính và hợp ngữ bài 05
 
Cay quyetdinh
Cay quyetdinhCay quyetdinh
Cay quyetdinh
 

Viewers also liked

Các thuật toán mã hóa
Các thuật toán mã hóaCác thuật toán mã hóa
Các thuật toán mã hóadlmonline24h
 
Elliptic Curve Cryptography and Zero Knowledge Proof
Elliptic Curve Cryptography and Zero Knowledge ProofElliptic Curve Cryptography and Zero Knowledge Proof
Elliptic Curve Cryptography and Zero Knowledge ProofArunanand Ta
 
Diffie-Hellman key exchange
Diffie-Hellman key exchangeDiffie-Hellman key exchange
Diffie-Hellman key exchangehughpearse
 
09 hc -_bai_tap_nop_so_4
09 hc -_bai_tap_nop_so_409 hc -_bai_tap_nop_so_4
09 hc -_bai_tap_nop_so_4Vitalify Asia
 
May hoc 012012
May hoc   012012May hoc   012012
May hoc 012012Freelancer
 
Phan loai tin_tuc_bao_dien_tu
Phan loai tin_tuc_bao_dien_tuPhan loai tin_tuc_bao_dien_tu
Phan loai tin_tuc_bao_dien_tuViet Nam
 
Luận án tiến sĩ toán học nghiên cứu, phát triển các kỹ thuật tự động tóm tắt ...
Luận án tiến sĩ toán học nghiên cứu, phát triển các kỹ thuật tự động tóm tắt ...Luận án tiến sĩ toán học nghiên cứu, phát triển các kỹ thuật tự động tóm tắt ...
Luận án tiến sĩ toán học nghiên cứu, phát triển các kỹ thuật tự động tóm tắt ...https://www.facebook.com/garmentspace
 
Giáo trình lập trình C
Giáo trình lập trình CGiáo trình lập trình C
Giáo trình lập trình CFreelancer
 
Lap Trinh C Tren Windows
Lap Trinh C Tren WindowsLap Trinh C Tren Windows
Lap Trinh C Tren Windowsnam nx
 
Model based collaborative filtering
Model based collaborative filteringModel based collaborative filtering
Model based collaborative filteringBui Loc
 
Ung dung xu ly anh trong thuc te voi thu vien open cv
Ung dung xu ly anh trong thuc te voi thu vien open cvUng dung xu ly anh trong thuc te voi thu vien open cv
Ung dung xu ly anh trong thuc te voi thu vien open cvNguyen An
 
Cac chuan nen va ung dung truyen video tren mang internet
Cac chuan nen va ung dung truyen video tren mang internetCac chuan nen va ung dung truyen video tren mang internet
Cac chuan nen va ung dung truyen video tren mang internetNo Name
 
SBC 2012 - Một số thuật toán phân lớp và ứng dụng trong IDS (Nguyễn Đình Chiểu)
SBC 2012 - Một số thuật toán phân lớp và ứng dụng trong IDS (Nguyễn Đình Chiểu)SBC 2012 - Một số thuật toán phân lớp và ứng dụng trong IDS (Nguyễn Đình Chiểu)
SBC 2012 - Một số thuật toán phân lớp và ứng dụng trong IDS (Nguyễn Đình Chiểu)Security Bootcamp
 
Giao Trinh Ngon Ngu Lap Trinh C
Giao Trinh Ngon Ngu Lap Trinh CGiao Trinh Ngon Ngu Lap Trinh C
Giao Trinh Ngon Ngu Lap Trinh Cnam nx
 
E-book kế toán căn bản cho người không chuyên
E-book kế toán căn bản cho người không chuyênE-book kế toán căn bản cho người không chuyên
E-book kế toán căn bản cho người không chuyênfastcorp
 
Bai giang atbmtt
Bai giang atbmtt Bai giang atbmtt
Bai giang atbmtt Hà Vũ
 

Viewers also liked (20)

Các thuật toán mã hóa
Các thuật toán mã hóaCác thuật toán mã hóa
Các thuật toán mã hóa
 
Elliptic Curve Cryptography and Zero Knowledge Proof
Elliptic Curve Cryptography and Zero Knowledge ProofElliptic Curve Cryptography and Zero Knowledge Proof
Elliptic Curve Cryptography and Zero Knowledge Proof
 
Diffie-Hellman key exchange
Diffie-Hellman key exchangeDiffie-Hellman key exchange
Diffie-Hellman key exchange
 
Hệ mật mã Mcliece
Hệ mật mã MclieceHệ mật mã Mcliece
Hệ mật mã Mcliece
 
09 hc -_bai_tap_nop_so_4
09 hc -_bai_tap_nop_so_409 hc -_bai_tap_nop_so_4
09 hc -_bai_tap_nop_so_4
 
Hệ mật mã Mekle-Hellman
Hệ mật mã Mekle-HellmanHệ mật mã Mekle-Hellman
Hệ mật mã Mekle-Hellman
 
Chương iii
Chương iiiChương iii
Chương iii
 
May hoc 012012
May hoc   012012May hoc   012012
May hoc 012012
 
Phan loai tin_tuc_bao_dien_tu
Phan loai tin_tuc_bao_dien_tuPhan loai tin_tuc_bao_dien_tu
Phan loai tin_tuc_bao_dien_tu
 
Luận án tiến sĩ toán học nghiên cứu, phát triển các kỹ thuật tự động tóm tắt ...
Luận án tiến sĩ toán học nghiên cứu, phát triển các kỹ thuật tự động tóm tắt ...Luận án tiến sĩ toán học nghiên cứu, phát triển các kỹ thuật tự động tóm tắt ...
Luận án tiến sĩ toán học nghiên cứu, phát triển các kỹ thuật tự động tóm tắt ...
 
Giáo trình lập trình C
Giáo trình lập trình CGiáo trình lập trình C
Giáo trình lập trình C
 
Lap Trinh C Tren Windows
Lap Trinh C Tren WindowsLap Trinh C Tren Windows
Lap Trinh C Tren Windows
 
Model based collaborative filtering
Model based collaborative filteringModel based collaborative filtering
Model based collaborative filtering
 
Ung dung xu ly anh trong thuc te voi thu vien open cv
Ung dung xu ly anh trong thuc te voi thu vien open cvUng dung xu ly anh trong thuc te voi thu vien open cv
Ung dung xu ly anh trong thuc te voi thu vien open cv
 
Xu ly-anh
Xu ly-anhXu ly-anh
Xu ly-anh
 
Cac chuan nen va ung dung truyen video tren mang internet
Cac chuan nen va ung dung truyen video tren mang internetCac chuan nen va ung dung truyen video tren mang internet
Cac chuan nen va ung dung truyen video tren mang internet
 
SBC 2012 - Một số thuật toán phân lớp và ứng dụng trong IDS (Nguyễn Đình Chiểu)
SBC 2012 - Một số thuật toán phân lớp và ứng dụng trong IDS (Nguyễn Đình Chiểu)SBC 2012 - Một số thuật toán phân lớp và ứng dụng trong IDS (Nguyễn Đình Chiểu)
SBC 2012 - Một số thuật toán phân lớp và ứng dụng trong IDS (Nguyễn Đình Chiểu)
 
Giao Trinh Ngon Ngu Lap Trinh C
Giao Trinh Ngon Ngu Lap Trinh CGiao Trinh Ngon Ngu Lap Trinh C
Giao Trinh Ngon Ngu Lap Trinh C
 
E-book kế toán căn bản cho người không chuyên
E-book kế toán căn bản cho người không chuyênE-book kế toán căn bản cho người không chuyên
E-book kế toán căn bản cho người không chuyên
 
Bai giang atbmtt
Bai giang atbmtt Bai giang atbmtt
Bai giang atbmtt
 

Similar to Mã hóa đường cong Elliptic

Hh11 bai-tap-on-chuong-1-dap-an-www.mathvn.com
Hh11 bai-tap-on-chuong-1-dap-an-www.mathvn.comHh11 bai-tap-on-chuong-1-dap-an-www.mathvn.com
Hh11 bai-tap-on-chuong-1-dap-an-www.mathvn.comhoabanglanglk
 
Hh11 bai-tap-on-chuong-1-dap-an-www.mathvn.com
Hh11 bai-tap-on-chuong-1-dap-an-www.mathvn.comHh11 bai-tap-on-chuong-1-dap-an-www.mathvn.com
Hh11 bai-tap-on-chuong-1-dap-an-www.mathvn.comhoabanglanglk
 
MATMA - Chuong3 l tso
MATMA - Chuong3 l tsoMATMA - Chuong3 l tso
MATMA - Chuong3 l tsoSai Lemovom
 
07 mat102-bai 4-v1.0
07 mat102-bai 4-v1.007 mat102-bai 4-v1.0
07 mat102-bai 4-v1.0Yen Dang
 
Giáo trình Phân tích và thiết kế giải thuật - CHAP 5
Giáo trình Phân tích và thiết kế giải thuật - CHAP 5Giáo trình Phân tích và thiết kế giải thuật - CHAP 5
Giáo trình Phân tích và thiết kế giải thuật - CHAP 5Nguyễn Công Hoàng
 
Chữ ký điện tử của chaum van antwerpen
Chữ ký điện tử của chaum van antwerpenChữ ký điện tử của chaum van antwerpen
Chữ ký điện tử của chaum van antwerpenTai Tran
 
36 de-luyen-thi-vao-lop 10
36 de-luyen-thi-vao-lop 1036 de-luyen-thi-vao-lop 10
36 de-luyen-thi-vao-lop 10mcbooksjsc
 
Diophantine equations Phương trình diophant
Diophantine equations Phương trình diophantDiophantine equations Phương trình diophant
Diophantine equations Phương trình diophantBui Loi
 
chuyen de so hoc vao 10
 chuyen de so hoc vao 10  chuyen de so hoc vao 10
chuyen de so hoc vao 10 Toán THCS
 
De thi thu ql3 lan 1
De thi thu ql3 lan 1De thi thu ql3 lan 1
De thi thu ql3 lan 1Hung Le
 
De cuong on tap toan 9
De cuong on tap toan 9De cuong on tap toan 9
De cuong on tap toan 9Hung Anh
 
CHUYÊN ĐỀ SỐ HỌC ÔN THI VÀO LỚP 10 CÁC TRƯỜNG CHUYÊN
CHUYÊN ĐỀ SỐ HỌC ÔN THI VÀO LỚP 10 CÁC TRƯỜNG CHUYÊNCHUYÊN ĐỀ SỐ HỌC ÔN THI VÀO LỚP 10 CÁC TRƯỜNG CHUYÊN
CHUYÊN ĐỀ SỐ HỌC ÔN THI VÀO LỚP 10 CÁC TRƯỜNG CHUYÊNBOIDUONGTOAN.COM
 
60 đề thi thử toán của các trường thpt 2015 có đáp án chi tiết
60 đề thi thử toán của các trường thpt 2015   có đáp án chi tiết60 đề thi thử toán của các trường thpt 2015   có đáp án chi tiết
60 đề thi thử toán của các trường thpt 2015 có đáp án chi tiếtDương Ngọc Taeny
 
Cac dang toan thi vao lop 10
Cac dang toan thi vao lop 10Cac dang toan thi vao lop 10
Cac dang toan thi vao lop 10Quyen Le
 
So chinh phuong lớp 6
So chinh phuong lớp 6So chinh phuong lớp 6
So chinh phuong lớp 6Cảnh
 

Similar to Mã hóa đường cong Elliptic (20)

Ch04
Ch04Ch04
Ch04
 
Hh11 bai-tap-on-chuong-1-dap-an-www.mathvn.com
Hh11 bai-tap-on-chuong-1-dap-an-www.mathvn.comHh11 bai-tap-on-chuong-1-dap-an-www.mathvn.com
Hh11 bai-tap-on-chuong-1-dap-an-www.mathvn.com
 
Hh11 bai-tap-on-chuong-1-dap-an-www.mathvn.com
Hh11 bai-tap-on-chuong-1-dap-an-www.mathvn.comHh11 bai-tap-on-chuong-1-dap-an-www.mathvn.com
Hh11 bai-tap-on-chuong-1-dap-an-www.mathvn.com
 
MATMA - Chuong3 l tso
MATMA - Chuong3 l tsoMATMA - Chuong3 l tso
MATMA - Chuong3 l tso
 
07 mat102-bai 4-v1.0
07 mat102-bai 4-v1.007 mat102-bai 4-v1.0
07 mat102-bai 4-v1.0
 
Giáo trình Phân tích và thiết kế giải thuật - CHAP 5
Giáo trình Phân tích và thiết kế giải thuật - CHAP 5Giáo trình Phân tích và thiết kế giải thuật - CHAP 5
Giáo trình Phân tích và thiết kế giải thuật - CHAP 5
 
Scp mod p
Scp mod pScp mod p
Scp mod p
 
Chữ ký điện tử của chaum van antwerpen
Chữ ký điện tử của chaum van antwerpenChữ ký điện tử của chaum van antwerpen
Chữ ký điện tử của chaum van antwerpen
 
36 de-luyen-thi-vao-lop 10
36 de-luyen-thi-vao-lop 1036 de-luyen-thi-vao-lop 10
36 de-luyen-thi-vao-lop 10
 
Diophantine equations Phương trình diophant
Diophantine equations Phương trình diophantDiophantine equations Phương trình diophant
Diophantine equations Phương trình diophant
 
chuyen de so hoc vao 10
 chuyen de so hoc vao 10  chuyen de so hoc vao 10
chuyen de so hoc vao 10
 
De thi thu ql3 lan 1
De thi thu ql3 lan 1De thi thu ql3 lan 1
De thi thu ql3 lan 1
 
De cuong on tap toan 9
De cuong on tap toan 9De cuong on tap toan 9
De cuong on tap toan 9
 
Bài tập số phức
Bài tập số phứcBài tập số phức
Bài tập số phức
 
CHUYÊN ĐỀ SỐ HỌC ÔN THI VÀO LỚP 10 CÁC TRƯỜNG CHUYÊN
CHUYÊN ĐỀ SỐ HỌC ÔN THI VÀO LỚP 10 CÁC TRƯỜNG CHUYÊNCHUYÊN ĐỀ SỐ HỌC ÔN THI VÀO LỚP 10 CÁC TRƯỜNG CHUYÊN
CHUYÊN ĐỀ SỐ HỌC ÔN THI VÀO LỚP 10 CÁC TRƯỜNG CHUYÊN
 
60 đề thi thử toán của các trường thpt 2015 có đáp án chi tiết
60 đề thi thử toán của các trường thpt 2015   có đáp án chi tiết60 đề thi thử toán của các trường thpt 2015   có đáp án chi tiết
60 đề thi thử toán của các trường thpt 2015 có đáp án chi tiết
 
Luận văn: Vấn đề về phần xoắn của đường cong elliptic, HOT
Luận văn: Vấn đề về phần xoắn của đường cong elliptic, HOTLuận văn: Vấn đề về phần xoắn của đường cong elliptic, HOT
Luận văn: Vấn đề về phần xoắn của đường cong elliptic, HOT
 
Cac dang toan thi vao lop 10
Cac dang toan thi vao lop 10Cac dang toan thi vao lop 10
Cac dang toan thi vao lop 10
 
So chinh phuong lớp 6
So chinh phuong lớp 6So chinh phuong lớp 6
So chinh phuong lớp 6
 
Bai 14
Bai 14Bai 14
Bai 14
 

Mã hóa đường cong Elliptic

  • 1. I. Giới thiệu đường cong elliptic Đường cong Elliptic trên số thực Đường cong Elliptic là đường cong có dạng: Y2 = x3 +ax+b Trước khi khảo sát đồ thị của đường cong Elliptic, chúng ta xem lại đường bậc 3 sau: Y2 =f(x)= x3 +ax+b Nếu a>0 , f(x) đơn điệu tăng. Nếu a≤ 0 ,f(x) có 4 trường hợp sau: đặt Từ đó chúng ta có các trường hợp sau đây của đường cong Elliptic (không sử dụng trường hợp =0 vì lúc này đường cong bị gãy):
  • 2. II. Đường cong Elliptic Trong đường cong Elliptic, chúng ta định nghĩa thêm một điểm O (điểm vô cực). Gọi E(a, b) là tập các điểm thuộc đường cong y=x3 +ax+b cùng với điểm O. Ta định nghĩa phép cộng trên tập các điểm thuộc E(a, b) như sau: 1) Điểm O là phần tử đơn vị của phép cộng. Như vậy với P € E(a,b), P≠0 thì P+0=0. Trong phần tiếp theo, ta giả định P≠0 và Q≠0. 2) Phần tử nghịch đảo của điểm P trong phép cộng, ký hiệu – P, là điểm đối xứng với P qua trục hoành, như vậy P+(-P)=0 3) Với 2 điểm P, Q bất kỳ, kẻ một đường thẳng đi qua P và Q thì sẽ cắt đường cong Elliptic tại một điểm thứ 3 là điểm S. Phép cộng P và Q sẽ là R=P+Q=-S Trong trường hợp P và Q đối xứng qua trục hoành, hay nói cách khác P=-Q thì đường thẳng nối P,Q sẽ cắt đường cong Elliptic tại vô cực,hay P+(-P)=0 . Điều này phù hợp với định nghĩa 2.
  • 3. 4) Để tính P+P , ta vẽ đường thẳng tiếp tuyến với đường cong Elliptic tại P,đường thẳng này cắt đường cong tại điểm S, lúc đó R=P+P=-S Có thể thấy, tập E(a,b) cùng với phép cộng định nghĩa như trên tạo thành một nhóm Abel Gọi điểm P(xp,yp) Q(xq,yq) P+Q=R(xr,yr) xr=∆2 -xp-xq yr =∆(xp-xr)-yp  Với P ≠ Q ∆= 𝑦q – 𝑦p 𝑥q –𝑥p  Với P ≡ Q ∆= 3𝑥 𝑝 2 + 𝐴 2𝑦p III. Đường cong elliptic trên trường Zp. - Đường cong elliptic trên trường Zp, đường con này có dạng Y2 mod p = (x3 +ax+b) mod p a,b,x,y € Zp - Ví dụ trong trường Z11, chọn a=-1, b=0, x=4,y=4 ta có 42 mod 11 = (43 -4) mod 11 16 mod 11= 60 mod 11 = 5 Y2 X3 – X X Y 0 0 0 0 0 1 1 0 1 0 2 4 6 10 0 3 9 2 4 4 or 7 4 5 5 9 4 or 7 5 3 10 6 1 6 3 1 6 10 7 5 6 8 8 or 3 8 9 9
  • 4. 9 4 5 10 1 0 Khi modulo cho các số nguyên tố, theo tính toán sẽ có các điểm như sau: 2 2 3 3 5 7 7 7 11 11 13 7 17 19 19 19 23 23 Gọi N là số các điểm trên đường cong elliptic được định nghĩa trên 𝐹𝑞. Khi đó | 𝑁 − (𝑞 + 1)| ≤ 2√𝑞 IV. Đường cong Elliptic trên trường GF(2m ) Đường cong Elliptic trên trường GF(2m ) là đường cong có các hệ số thuộc trường GF(2m ), đường cong này có dạng hơi khác so với trên Zp: y2 +xy=x3 +ax=b a,b,x,y € GF(2m ) Đường cong y2 +xy=x3 +ax=b trên trường số thực Bây giờ chúng ta sẽ xét tập E2 m (a,b) gồm các điểm trên đường cong Elliptic này cùng với điểm vô cực O. Ví dụ, xét trường GF(24 ) với đa thức tối giản là m(x)=x4 +x+ 1. Phần tử sinh g của trường này có điều kiện g4 = g+ 1 . Bảng các lũy thừa của g là:
  • 5. Xét ví dụ về đường cong Elliptic trên GF(24 ): y2 + xy = x3 + g4 x + 1 (a = g4 ,b = 1) Bảng bên dưới liệt kê các điểm thuộc đường cong này Tương tự như nhóm Abel Ep(a,b) , chúng ta cũng xây dựng một nhóm Abel E2 m gồm các điểm của đường cong Elliptic GF(2m ) cùng với điểm vô cực O. 1) Điểm O là phần tử đơn vị của phép cộng. P + 0 = 0 + P = 0. 2) Phần tử nghịch đảo của điểm P trong phép cộng, ký hiệu – P,là điểm đối xứng với P,ký hiệu P =(xp,yp) thì –P =( xp,xp+yp) 3) Với 2 điểm P, Q bất kỳ (P ≠ Q) phép cộng R=P+Q được xác định bằng công thức: 4) Phép cộng R=P+P được xác định bằng công thức:
  • 6. V. Đường cong Elliptic trong mã hóa – ECC Đối với mã hóa đường cong Elliptic, chúng ta xây dựng hàm một chiều như sau: Trong nhóm Abel Ep(a,b) xây dựng từ đường cong Elliptic Zp, xét phương trình: Q=P+P+P+P+…+P=kP (điểm Q là tổng của k điểm P, k < p) Cho trước k và P,việc tính Q thực hiện dễ dàng. Tuy nhiên nếu cho trước P và Q, việc tìm ra k là công việc khó khăn. Đây chính là hàm logarit rời rạc của đường cong Elliptic. Ví dụ: Y2 mod 17 = (x3 +2x+2) mod 11 a,b,x,y € Z11 Cho điểm G =(5,1); M(7,6) 2G=(6;3) 6G=(16;13) 3G=(10;6) 7G=(0;6) 4G(3;1) 8G=(13;17) 5G=(9;16) 9G=(7;6) Vì 9G = M nên K = 9. Trong thực tế chúng ta sẽ sử dụng đường cong Elliptic Zp với giá trị p lớn, sao cho việc vét cạn là bất khả thi. Hiện nay người ta đã tìm ra phương pháp tìm k nhanh hơn vét cạn là phương pháp Pollar rho. Dựa vào hàm một chiều trên chúng ta có 2 cách sử dụng đường cong Elliptic trong lĩnh vực mã hóa là trao đổi khóa EC Diffie-Hellman và mã hóa EC. VI. Trao đổi khóa EC Diffie-Hellman Trước tiên ta chọn một số nguyên q lớn, với q là số nguyên tố (nếu sử dụng đường cong Elliptic Zp) hoặc q có dạng 2m (nếu chọn đường cong GF(2m )), và chọn 2 tham số a, b tương ứng để tạo thành nhóm Eq(a,b). Ta gọi G là điểm cơ sở của nhóm nếu tồn tại một số nguyên n sao cho nG=0 Số nguyên n nhỏ nhất như vậy được gọi là hạng của G. Trong trao đổi khóa EC Diffie-Hellman, ta chọn một điểm G có hạng n lớn, và giao thức trao đổi khóa giữa Alice và Bob tiến hành như sau: 1) Alice chọn một số bí mật α < n và giữ bí mật α này. Sau đó, trong Eq(a,b), Alice tính A = αG và gửi A cho Bob 2) Tương tự Bob chọn 1 số β, tính B=βG và gửi B cho Alice 3) Alice chọn khóa phiên bí mật là: p = αB = αβG 4) Bob tạo khóa phiên bí mật p = βB = βαG = αβG Giống với khóa của Alice và Eve có thể chặn được A B tuy nhiên chỉ có thể tính được A + B = αG + βG = (α + β)G
  • 7. Để tính được k = αβG, Eve phải tìm được α,β từ A và B và G. Tuy nhiên điều nay là bất khả thi như đã thấy Ví dụ: Cho P=17 a=2 b=2 G=(5;1) n=19 h=1 A=(10;6) B(7;6) Ta bắt đầu tính G=(5;1) 11G=(13;10) 2G=(6;3) 12G=(0;11) 3G=(10;6) 13G=(16;4) 4G=(3;1) 14G=(9;1) 5G=(9;16) 15G=(3;16) 6G=(16;13) 16G=(10;11) 7G=(0;6) 17G=(6;14) 8G=(13;7) 18G=(5;16) 9G=(7;6) 19G=0 10G=(7;11) Ta thấy A = 3G => α = 3 B = 9G => β = 9 β A = 9A = 9(3G) = 27G = 8G = (13;7) αβ = 3B = 3(9G) = 27G = 8G = (13;7) Trên thực tế các thành phần công khai sẽ là
  • 8. VII. Mã hóa và giải mã EC Tương tự như vấn đề trao đổi khóa, trong vấn đề mã hóa/giải mã, ta cũng chọn các tham số để tạo một nhóm Abel Eq(a,b) và chọn một điểm cơ sở G có hạng n lớn. Các thành phần khóa khóa riêng và công khai trong mã hóa EC được định nghĩa như sau: Trong đó d<n và E = dG với d là một số bí mật do người sinh khóa chọn. Do tính chất của hàm một chiều từ E và G không thể suy ra được d. Từ đó chúng ta có hai cách thức thực hiện mã hóa/ giải mã như sau: 1) Phương pháp Elgamal: Giả sử Alice muốn gửi một thông điệp M cho Bob, trước tiên Alice chuyển M từ dạng dãy bít sang dạng điểm PM =(x, y). Bản mã CM (dùng khóa công khai của Bob) được tính là một cặp điểm như sau: CM = {kG, PM + kE) với k là một số ngẫu nhiên do Alice chọn Để giải mã dùng khóa riêng, Bob sẽ nhân điểm thứ nhất trong CM với d, sau đó lấy điểm thứ hai trừ cho kết quả: PM = kE – dkG = PM + kdG – kdG = PM Trong phương thức mã hóa, Alice đã che giấu PM bằng cách cộng PM với kE. Để giải mã, Bob cần trừ ra lại kE. Thay vì gửi trực tiếp k cho Bob để Bob tính kE (Trudy có thể chặn được),Alice gửi một dấu hiệu là kG . Dựa vào kG và d, Bob có thể tính kE. Còn Trudy, dù biết G và kG, tuy nhiên vẫn không thể tính được k do tính chất của hàm một chiều. Ví dụ: chọn p = 751, a = 1, b = 188 ta có đường cong Elliptic trên Z751 như sau:
  • 9. Chọn điểm cơ sở là G =(0, 376). Giả sử Alice cần mã hóa bản rõ là điểm PM = (562, 201) dùng khóa công khai E = (201, 5). Alice chọn k = 386. Ta có: 386(0, 376) = (676, 558) (562,201) + 386(201, 5) = (385, 328) Vậy bản mã là cặp điểm { (676, 558), (385, 328) } 2) Phương pháp Menezes - Vanstone: Thông điệp M của Alice được tách thành hai phần M=(m1, m2) sao cho m1, m2 € Zp. Alice chọn một số ngẫu nhiên k, kết hợp với khóa công khai của Bob, Alice tính điểm P như sau: Bản mã CM gồm ba thành phần Để giải mã dùng khóa riêng, từ dấu hiệu kG, Bob tính: và từ đó tính nghịch đảo của xp -1 và yp -1 trong phép modulo p. Cuối cùng, bản giải mã là: Tương tự như phương pháp Elgamal, dù biết G và kG, Trudy cũng không thể tính được k để tính P. VIII. Độ an toàn của ECC so với RSA Hiện nay, phương pháp nhanh nhất để tính logarit đường cong Elliptic (tính k biết G và kG) là phương pháp Pollar rho. Bảng sau đây liệt kê kích thước khóa của phương pháp ECC và phương pháp RSA dựa trên sự tương đương về chi phí phá mã.
  • 10. Như vậy với cùng một độ an toàn thì mã hóa ECC chỉ dùng các phép tính có số bít nhỏ hơn nhiều lần so với mã hóa RSA. IX. Đánh giá các tấn công hệ mật đường cong Elliptic 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à: ∏ 𝒏 𝒊 𝒆𝒊 𝒊 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. Tấn công MOV. Thuật toán: Input: P,Q , (EFp),ord (P)  N , gcd(N, p)=1, nQ kP. Output: k N (mod ) (1). Chọn một điểm ngẫu nhiên T  E (𝐹 𝑝 𝑚 ) (2). Tính bậc M của T (3). Đặt gcd(M, N), đặt T 1  (M / d) T . Khi đó T1 có bậc d chia hết cho N , vậy T1  E N (4). Tính 1=eN(P,T1) 2(P,T2 ). Khi đó cả 1 2 đều thuộc vào d 𝐹𝑝 𝑛 ∗ (5). Giải bài toán log rời rạc 2= 1 𝑘  trong 𝐹𝑝 𝑛 ∗ . 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). 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 , P1,P2 ….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ệ ∑ 𝑛 𝑖 𝑝𝑖 = 0𝑟 𝑖=1 . Tuy nhiên, xác suất để chúng phụ thuộc tuyến tính là nhỏ. 4 Các tấn công dựa trên giả thuyết Diffie – Hellman
  • 11. 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Zp khi 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. Haibiế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. CDH:Cho  g ,g a ,g b  ,. Tính g ab ? DDH: Cho g, ga ,gb , gc . Xác định xem c ab trong Zp hay không? 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ểm tra 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ể. Nhận xét Tổng hợp các phương pháp trên ta có bảng như sau: 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 Fp là một bộ Fp ,A,B,G,N,h,SEED trong đó:  p>3 là số nguyên tố, xác định trường hữu hạn cơ sở Fp .  E: y2 =x3 +Ax + B với A,BFp.
  • 12.  Phần tử sinh G (xG ,yG ) có bậc nguyên tố là N trên E , (xG ,yG )  e(Fp)và N=# E(FP) . Đồ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ểmtra 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 (Fp,A,B,G,N,h,SEED) Output: (Q – điểm công khai, d – khóa bí mật) (1) Sinh dR[0,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 Q= (xQ,,yQ)  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 (Fp ,A,B,G,N,h,SEED) 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 (Fp ,A,B,G,N,h,SEED) , 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 xQ ,yq Fp (3) Kiểm tra rằng y2 Q = x3 Q + AxQ = B trong Fp . (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 khai không hợp lệ” còn không thì trả về “khóa công khai hợp lệ”. 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 EC5 Output: 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
  • 13. 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ố p Output: Chuỗi SEED và A, B Fp xác định E trên Fp . Tính trước t = log2 p, s= (t-1)/256 ,h=t-256s (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ít của SEED. (2) Tính H=SHA256(SEED), gọi Co là h bít bên phải của H (3) Wo 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 Co thành 0 (nhằm đảm bảo r < p) (4) Với i= 1 đến s tính Wt =SHA256(SEED i) mod 2 (5) W  W0 W1 ..... Ws (6) Với w1 w2 .… wt là các bít của W từ trái qua phải. Tính số nguyên r = ∑ Wi2𝑖−1𝑡 𝑖=1 (7) Chọn A,BFp sao cho rB2 A3 (mod p) (A,B không nhất thiết phải chọn ngẫu nhiên). (8) Nếu 4A3 +27B2 0 (mod P) chuyển sang bước 1. (9) Đường cong được chọn trên Fp là E: y2 = x3 +Ax+B . (10) Return (SEED, A, B).
  • 14. TÀI LIEEUK THAM KHẢO 1. Giáo trình AN TOÀN VÀ BẢO MẬT THÔNGTIN . 2. LUẬN VĂN THẠC SĨ NGHIÊN CỨU HỆ MẬT ĐƯỜNGCONGELLIPTIC VÀ ỨNGDỤNG. 3. Youtube Elliptic Curve Cryptography