Trường hợ pl 6= 2

Một phần của tài liệu PHÉP NHÂN PHỨC TRONG LÝ THUYẾT ĐƯỜNG CCONG ELLIPTI (Trang 44 - 56)

3 Vành các tự đồng cấu của đường cong elliptic

3.1.1 Trường hợ pl 6= 2

Trước hết ta sẽ đi tìm một số a ∈ Zsao cho Z[π−a

m ] là một order trong trường toàn phươngKtức là π−a

m là một số nguyên đại số. Sử dụng quan hệπ2−tπ+p =0, ta có: (π−a m ) 2+t−2a m .( π−a m )− a2−at+p m2 =0.

Do đó số nguyên aphải thoả mãna2−ta+p≡0(modm2) và2a ≡t(modm). Có thể chọn a=t/2nếuDK ≡0(mod 4) hoặc a= (t+m)/2nếu DK ≡1(mod 4). Với số nguyêna được chọn như vậy, ta có:

Z[π−a m ] : Z[π] =m. Do đó: OK =Zπ−a m .

Mệnh đề 3.1 Cho n là một số tự nhiên khác 0. Khi đó, n|[OE : Z[π]] khi và chỉ khi

E[n] ⊆Ker(π−a).

CHỨNG MINH Có chuỗi biến đổi tương đương sau:

E[n] ⊆Ker(π−a) ⇔tồn tại ϕ∈ OE sao choπ−a =n.ϕπ−a n ∈ OE ⇔Z[π]⊆Z[(π−a)/n]⊆ OE.

Mặt khác n= [Z[(π−a)/n]: Z[π]]. Do đón|[OE :Z[π]]. Bây giờ ta tìmn=lr lớn nhất sao cho E[n]⊆Ker(π−a).

Ta đã biết: (x,y) ∈ E[n] khi và chỉ khi ψn(x,y) = 0 trong đó ψn là đa thức chia bậc n

của đường cong E. Như vậy, ta sẽ đi tìm sốrlớn nhất sao cho(π−a)(modψlr) =0mà (π−a) (mod ψlr+1) 6= 0 hoặc (r+1) vượt quá số mũ của l trong phân tích nguyên tố củam.

Tính (π−a) (mod ψlr). Vìlr là một số lẻ nên ta có thể rút gọnψlr, ψa−1.ψa+1 và ψ2a về một hàm biếnx (có thể lấy a˜ ≡a(mod lr)). Tính toạ độx của(π−a):

πx−ax =xp−x+ ψa−1.ψa+1(x)

Vìa<lr và a- lr nên ta có thể lấy:

hr(x) ≡ ψ2a(πx−ax)(x) (mod ψlr(x))

≡ (xp−x).ψa2(x) +ψa+1ψa−1(x) (mod ψlr(x)).

Nếu hr(x) = 0 thì ta tiếp tục tăngr lên cho đến khi hr(x) 6= 0 hoặcr vượt quá số mũ lớn nhất của l trong khai triển củam . Khi đó ta tìm được thành phần lr trong chỉ số [OE : Z[π]].

Với l không quá lớn thì cách làm này rất đơn giản và hiệu quả. Vấn đề ở đây là nếu l

lớn thìψn có bậc khá lớn, do đó độ phức tạp của tính toán sẽ cao.

3.1.2 Trường hợp l = 2

Ta phải xét riêng trường hợp này vì ψ2r(x,y) không rút gọn được về một đa thức đối với biến x. Phương pháp mà chúng ta sẽ xem xét dưới đây có thể áp dụng cho cả trường hợp tổng quát với l là số nguyên tố bất kì. Tuy nhiên với l 6= 2, phương pháp đã trình bày ở trên hiệu quả hơn.

Cho một đẳng giống bậcn (n-đẳng giống) : ϕ : E → E0. ĐặtK = End(E)⊗Q. Khi đó ϕ xác định một đồng cấu:

i : O0 →K , ψ7→ ϕψϕb ⊗n−1,

trong đóO0 ∼=End(E0) và ϕblà phép đẳng giống đối ngẫu của ϕ.

Đồng cấu này xác định không phụ thuộc vào bậc của phép đẳng giống. Thật vậy, nếu lấy một phép đẳng giống khácη : E →E0có bậck. Ta có: b ηψη⊗k−1 = η(b ϕϕ)ψ(ϕb ϕ)ηb ⊗k−1n−2 = (η ϕ)b ϕψϕ(b ϕη)b ⊗k−1n−2 = ϕψϕb (bη ϕ)(ϕηb )⊗k−1n−2 = ϕψϕb ⊗n−1.

Như vậy, với đường cong elliptic thường E, chúng ta có thể nhúng tất cả các vành tự đồng cấu của các đường cong đẳng giống với E vào trường K ∼= O ⊗Q, trong đóO là vành tự đồng cấu của E.

Mệnh đề 3.2 Cho E,E0 là các đường cong elliptic thường trên trường hữu hạnFp, giả sử có ϕ : E → E0 là một đẳng giống bậc nguyên tố l (l khác đặc số p của trường). Gọi

O = End(E) O0 = End(E0), K ∼= O ⊗Q. Khi đó hoặc O chứa O0 hoặc O0 chứa O

trongK với chỉ số là 1 hoặcl.

CHỨNG MINH Giả sử phép đẳng giống ϕcó đối ngẫu ϕb, ta có ϕϕb = [l]E và ϕϕb = [l]E0. Ta có:

Do đó, với orderZ+l2Ocó chỉ số l2trong O, ta có dãy bao hàm thức các order sau:

Z+l2O ⊆Z+ϕOb 0ϕ⊆ O.

Suy ra chỉ số củaZ+ϕOb 0ϕtrongO chỉ có thể là1,l hoặcl2. Với phép nhúng

i: O0 →K , ψ7→ ϕψϕb ⊗l−1,

thìO0 ∼= ϕOb 0ϕ⊗l−1. Suy ra lO0 =∼ ϕOb 0ϕ, hay Z+lO0 =Z+ϕOb 0ϕ. Ta có các trường hợp có thể xảy ra:

• Nếu[O :Z+lO0] =1thì[O0 : O] = l. • Nếu[O :Z+lO0] = lthì[O0 : O] = 1. • Nếu[O :Z+lO0] = l2 thì[O : O0] =l. Ta có điều phải chứng minh.

Từ đó, ta nói l-đẳng giống ϕlà một đẳng giống ’lên’ (isogeny ’up’) nếu [O0 : O] = l; là một đẳng giống ’ngang’ (horizontal) nếu O = O0; là một đẳng giống ’xuống’ (down) nếu[O :O0] = l.

Định lý sau cho chúng ta biết rõ hơn về số các phépl-đẳng giống đó.

Định lý 3.3 [Số các phép đẳng giống] (Định lý 4 [3]).

Cho E/Fp là một đường cong elliptic thường có vành tự đồng cấu O có biệt thứcD và:

Z[π]⊆ O ⊆ OK. Cho llà một số nguyên tố và(Dl )là kí hiệu Legendre. 1. Nếul -[OK : O] thì số cácl-đẳng giống ngang là1+ (Dl ).

2. Nếul | [OK : O]thì có duy nhất mộtl-đẳng giống lên. 3. Nếul -[O :Z[π]]thì không cól-đẳng giống xuống nào.

4. Nếul | [OK : O]l | [O: Z[π]]thì sốl-đẳng giống xuống làl.

5. Nếul -[OK : O] l | [O : Z[π]]thì sốl-đẳng giống xuống làl−(Dl).

CHỨNG MINH Định lý nâng Deuring cho phép chúng ta chuyển từ một đường cong elliptic E trên trường hữu hạn Fp lên một đường cong E trên trường số phức C

End(E) được bảo toàn.

Giả sửE ∼=C/{1,τ}, vàτ thoả mãn :Aτ2+Bτ+C =0, với(A,B,C) =1. Khi đó vành các tự đồng cấuOcó biệt thức D= B2−4AC.

Ta có #Kerϕ = l nên Kerϕlà một nhóm con cấp l của E. Do đó Kerϕ ⊆ E[l] ∼= ZlZl

(theo Hệ quả 1.40). Mặt khác ZlZl có (l+1) nhóm con cấp l lần lượt sinh bởi các phần tử(0, 1) và(1,k)vớik =0,· · · ,l−1. Như vậyKerϕcó (l+1) khả năng:

l0 ={1/l,τ}/{1,τ}; lk ={1,τ+k

Theo Định lý 1.37, đường cong đẳng giống vớiEcó dạng E/Kerϕ:

E0 =E/l0 =∼C/{1,lτ}.

Ek = E/lk ∼=C/{1,k+τ

l }, k=1,· · · ,l.

Bây giờ chúng ta sẽ đi xác địnhEnd(Ek).

• Đường congE0 : đặtα =lτ, ta có Aα2+lBα+l2C =0.

Nếul - Athì(A,lB,l2C) =1, khi đó End(E0)có biệt thức bằng l2D. Do vậy [O : End(E0)] = lvà ta có mộtl-đẳng giống xuống.

Nếul | Athì đặt A0 = A/l. Nếul - Bthìα là nghiệm của phương trình:

A0α2+Bα+lC = 0 và (A0,B,lC) = 1. Do vậy End(E0) có biệt thức bằng D hay

End(E0) = O. Khi đó ta có một l-đẳng giống ngang.

Nếul | Bthì đặtB0 = B/l. Nếul - A0 thì ta có mộtl-đẳng giống ngang. Nếul | A0

thì đặt A”= A/l2. Khi đóαthoả mãn :A”α2+B0α+C=0, do đóEnd(E0)có biệt thức D/l2. Do vậy [End(E0) : O] = l và ta có một l-đẳng giống lên. Trường hợp nàyl2|D nênl|[OK : O].

• Đường congEk (k =1,· · · ,l): đặt α = k+τ

l , ta cóαlà nghiệm của phương trình: l2Aα2+l(B−2Ak)α+ (Ak2−Bk+C) = 0.

Nếu(l2A,l(B−2Ak),(Ak2−Bk+C)) =1thìEnd(Ek)có biệt thức bằngl2D. Như vậy ta sẽ có mộtl-đẳng giống xuống.

Ta có(l2A,l(B−2Ak),(Ak2−Bk+C)) 6=1khi và chỉ khil | (Ak2−Bk+C). Xét phương trình Ak2−Bk+C =0(modl).

Nếul | Avàl | Bthì phương trình vô nghiệm hay l -(Ak2−Bk+C)tức là

(l2A,l(B−2Ak),(Ak2−Bk+C)) =1. Trường hợp này, tất cảl đường congEk đều có[O: End(Ek)] =l và ta cól phép đẳng giống xuống.

Nếu l | A và l - B thì phương trình có một nghiệm tức là có một giá trị k0 mà

l | (Ak20−Bk0+C). Khi đóαlà nghiệm của phương trình:

l Aα2+ (B−2Ak0)α+ Ak20−Bk0+C

l =0,

trong đó các hệ số nguyên tố cùng nhau. Trường hợp này End(Ek0) có biệt thức bằngD. Như vậy ta có mộtl-đẳng giống ngang và(l−1)phép đẳng giống còn lại làl-đẳng giống xuống.

Nếul - Athì Ak2−Bk+C =0( modl)là phương trình bậc 2.

Nếul | D =B2−4ACtức là(Dl )= 0 thì phương trình có một nghiệm kép. Trường hợp này ta có một l-đẳng giống ngang và(l−1)đẳng giống xuống.

NếuDlà một số chính phương khác không modl tức là(Dl )= 1 thì phương trình có hai nghiệm phân biệt. Trường hợp này ta thu được 2 đẳng giống ngang và

(l−2) đẳng giống xuống.

Còn lại, nếu D không là một số chính phương mod l tức là (Dl ) = -1 thì phương trình vô nghiệm. Vậy ta cól đẳng giống xuống.

Sau đó, chúng ta lại rút gọn đường cong elliptic trong C về đường cong trên trường hữu hạn. Những đường cong E được xác định trên Fp khi và chỉ khi

End(E)chứaZ[π]tức là biệt thức của End(E)chia hết(t2−4p). Tổng hợp các kết quả lại ta có ngay trường hợp 1,2,4,5.

Trường hợp 3, giả sử có một phépl-đẳng giống xuống từEđến đường congE0. Khi đó biệt thức củaEnd(E0) bằngl2D, nếul -[O : Z[π]] =

q t2−4p

D thìl2D-(t2−4p), như vậy đường cong rút gọn củaE0 không định nghĩa được trongFp, tức là không cól-đẳng giống xuống nào.

Định lý 1.42 cho ta một tính chất rất quan trọng làj-bất biến của các đường cong đẳng giống vớiElà nghiệm của đa thức môđula:

Φl(X,j(E)) =0.

Trong đó Φl(X,Y) ∈ Z[X,Y]. Hệ số của đa thức môđula rất lớn khil lớn nên ở đây ta chỉ mô tả thuật toán chol =2. Giả sửl =2là ước nguyên tố của chỉ sốm= [OK :Z[π]]. Trước tiên ta sẽ tính j-bất biến của đường congE và đa thức môđula:

Φ2(X,Y) =Y3+ (−X2+1488X−162000)Y2

+(1488X2+40773375X+8748000000)Y

+(X3−162000X2+8748000000X−157464000000000.

Tiếp theo chúng ta sẽ xét phương trình bậc 3, Φ2(X,j(E)) = 0. Vì (D2) chỉ có thể là 0 hoặc 1 nên luôn tồn tại ít nhất một đường cong đẳng giống với Etức là phương trình luôn có nghiệm. Nếu phương trình chỉ có một nghiệm j(E0) tức là chỉ có một phép

l-đẳng giống. Nếu l - [OK : O] thì có1+ (D2) đẳng giống ngang và2−(D2) đẳng giống xuống, vô lý. Vậy l | [OK : O] tức là rơi vào trường hợp 2, khi đó phép đẳng giống tới đường cong E0 là đẳng giống lên. Vậy không có phép đẳng giống xuống nào. Do đó

l =2-[O : Z[π]].

Nếu Φ2(X,j(E)) = 0 có đủ ba nghiệm thì có ba đường cong đẳng giống với E, tức là có ba phép l-đẳng giống. Giả sử l = 2 - [O : Z[π]] thì l | [OK : O]. Trường hợp này không có phép đẳng giống xuống nào và có một phép đẳng giống lên, vô lý. Vậy

l =2| [O : Z[π]]. ĐặtE0 =E,E1 =E0, chúng ta xây dựng một dãy các j(Er)vớij(Er+1) là nghiệm củaΦ2(X,j(Er))và[Er : Er+1] = 2cho đến khi tìm được một giá trịrsao cho

Φ2(X,j(Er))có đúng một nghiệm hoặcrvượt quá số mũ của l =2trong phân tích của

m = [OK : Z[π]]. Như vậy, ta sẽ tìm được thành phần 2r trong phân tích thành thừa số nguyên tố của chỉ số[O : Z[π]].

Trong thực tế, chúng ta không thể biết phép đẳng giống nào là lên, xuống hay ngang, do đó chúng ta sẽ phải xây dựng hai dãy như thế và ta sẽ lấy giá trị nhỏ nhất trong hai giá trịrtìm được.

3.2 Thuật toán xác định vành các tự đồng cấu

Trước hết chúng ta cần hai thuật toán sau:

Thuật toán 3.4 (Tìm thành phần 2r trong phân tích của c = [O : Z[π]], với 2 | [OK :

Z[π]]).

Input: E là đường cong elliptic trên trường hữu hạn Fp, r2 là số mũ của l =2 trong phân tích của m = [OK : Z[π]]. Output:r ∈ Nmà 2r |[O :Z[π]] và 2r+1 -[O: Z[π]]. 1. Đặt Φ2(X,Y):=Y3+ (−X2+1488X−162000)Y2 +(1488X2+40773375X+8748000000)Y +(X3−162000X2+8748000000X−157464000000000 Với i = 1, 2 thì làm các bước (2)..(12). 2. stop:=false; j(E0) :=j(E);ri =0; 3. Φ(X) :=Φ2(X,j(E0));

Nếu Φ(X) có một nghiệm (mod p) thì r:=0; 4. RETURN(r); Nếu không thì 5. Đặt j(E1i):=nghiệm thứ i của Φ(X) (j(E11) 6=j(E12)); 6. Đặt j0 := j(E0); 7. Đặt ri :=ri+1; # Xây dựng dãy j(Er): Lặp 8. Φ(X) :=Φ2(X,j(Eri));

Nếu Φ(X) có đúng một nghiệm (mod p) thì 9. stop:=true;

Nếu không thì

10. Đặt j(Eri+1) :=nghiệm củaΦ(X)6=j0; 11. Đặt j0 := j(Eri);

12. Đặtri :=ri+1;

13. r:= min (r1,r2);

14. Nếu r>r2thì RETURN (r2); Nếu không thì RETURN(r);

Thuật toán 3.5 (Tìm thành phầnlr trong phân tích của c= [O :Z[π]], với 26=l | [OK : Z[π]]).

Input: E là đường cong elliptic trên trường hữu hạn Fp, k là số là số mũ của số nguyên tố lẻ l trong phân tích của m = [OK : Z[π]].

Output:r ∈ Nmà lr |[O :Z[π]] và lr+1 -[O: Z[π]]. (Đã biết số nguyên a sao cho OK =Z[π−a

m ]). 1. r:=0;

Lặp

2. r :=r+1;a0 :=a mod lr;

3. Tính h(X) ≡(Xp−X).ψ2a0(X) +ψa0+1.ψa0−1(X) mod ψlr(X)

Nếu h(X) 6=0 thì 4. r :=r−1;stop:=true;

Cho đến khi r=k hoặc stop;(Kết thúc vòng lặp)

5. RETURN(r);

Tổng hợp hai thuật toán trên, chúng ta có thuật toán tính chỉ số của vành tự đồng cấu, một bước quan trọng để chỉ ra dạng của vành tự đồng cấu.

Thuật toán 3.6 (Chỉ số của vành các tự đồng cấu) . Input: E là đường cong elliptic trên Fp.

Output: f ∈N mà [OK : OE] = f.

1. Tính vết t của tự đồng cấu Frobenius.

2. Tính biệt thức của order Z[π]: d:=t2−4p; 3. Đặt K =Q(√

D), trong đó D là ước của d và D không chứa nhân tử chính phương nào. Tính biệt thức của order cực đại OK của K.

Chỉ số m= [OK : Z[π]] =√

d/DK; Nếu DK mod 4 = 0 thì a:=t/2;

Nếu DK mod 4 = 1 thì a:= (t+m)/2;

4. c :=1; phân tích thành các thừa số nguyên tố m =∏ls; Với l là ước nguyên tố của m

6. Nếu l lẻ thì sử dụng thuật toán 3.5 tính được r; c :=c.lr; 7. f :=m/c;RETURN(f);

Nhận xét 3.7 Sau khi tính được chỉ số [O: Z[π]] =c, chúng ta có thể xác định dạng củaO. Với a là số nguyên xác định ở trong phần trước thì π−a

m là một số nguyên đại số nên π−a c cũng là một số nguyên đại số vì c | m. Như vậy ta có

Z[π−a c ] : Z[π] =c. Do đó vành tự đồng cấu cần tìm là: O =Z[π−a c ].

Ví dụ 3.8 Xét đường cong elliptic E trên F271 có phương trình Weierstrass: y2= x3+81x+54.

Có #E(F271) = 252, vết t = 20. Khi đó vành các tự đồng cấu OE là một order trong trường toàn phương ảo K =Q(√

−19), order cực đại OK có biệt thức DK = −19. Như vậy, gọi π là tự đồng cấu Frobenius thì: OK :Z[π] = s t2−4p DK =6. Phân tích 6 thành tích các thừa số nguyên tố: 6=2.3.

Bước 1: Tìm luỹ thừa của 2 trong chỉ số c =OE : Z[π].

Tính được j-bất biến của E bằng 79.

Đa thức môđula Φ2(x, 79) có đủ 3 nghiệm trong F271 là: 3, 28, 252. Xây dựng hai dãy các j-bất biến của các đường cong đẳng giống:

jE0 =79,jE1 =3.

jE00 =79,jE10 =28.

Ta thấyΦ2(x, 3),Φ2(x, 28)đều có duy nhất nghiệm trongF271. Như vậy ta thu được trong phân tích của c chứa 21.

Bước 2: Tìm luỹ thừa của 3 trong chỉ số c =

OE : Z[π]

.

Số nguyên a thoả mãn điều kiện trong thuật toán là 13. Lấy a0 =1≡13 (mod 3). Khi đó tính được:

hr(x) = x271−x, ψ3(x) = 3x4+215x2+106x+214.

Ta thấy hr(x) (mod ψ3(x)) =0. Vậy trong phân tích của c chứa 31. Tổng kết lại, tìm được c=6, do đó OE =OK.

Ví dụ 3.9 Xét đường cong elliptic E trên F271 có phương trình Weierstrass: y2 =x3+70x+137.

Có #E(F271) = 252, vết t = 20. Khi đó vành các tự đồng cấu OE là một order trong trường toàn phương ảo K =Q(√

−19). Hoàn toàn tương tự như ví dụ trên, ta tìm được c =2, tức là chỉ số [OK :OE] = 6/2=3 và: OE =Z[π−a c ] = Z+Z.1+3 √ −19 2 .

Các lệnh cho đường cong elliptic E trên trường hữu hạn.

Với các thuật toán đã trình bày ở trên và một số thuật toán trong [11] như: cộng điểm, tìm bậc của một điểm trên đường cong, tìm số điểm của đường cong theo thuật toán Baby-step, Giant-step, chúng tôi giới thiệu một số chương trình tính toán viết trên Maple 10 cho đường cong elliptic Etrên trường hữu hạn.

1. Cộng hai điểm trong E(Fp).

ChoP(x1,y1)và Q(x2,y2)trên E(Fp):y2=x3+Ax+B, tính(x3,y3) = P+Q.

Ý tưởng: Chúng ta dựa vào định nghĩa luật cộng trong [11] để đưa ra thuật toán. Input: A,B∈ Z;P(x1,y1),Q(x2,y2) ∈ E(Fp).

Output:[x3,y3].

Câu lệnh gọi: add_points_Fp(A,B,[x1,y1],[x2,y2],p).

Ví dụ 3.10 >add_points_Fp(-10,21,[58,164],[56,339],557); Kết quả: [162,24].

2. Phép tính bội của một điểm trên đường cong.

Ý tưởng: Xem [11, 2.2], khai triểnk theo hệ nhị phân, sau đó tính: 2P = P+P,

4P =2P+2P,...

Input: A,B∈ Z,k ∈ Z+,P = [x,y] ∈ E(Fp). Output:kP.

Câu lệnh gọi: mul_points_Fp(A,B,k,[x,y],p);

Ví dụ 3.11 >mul_points_Fp(-10,21,558,[2,3],557); Kết quả: [418,33].

3. Tìm bậc của một điểm trên đường cong E(Fp).

Ý tưởng: Dựa thuật toán Baby Step, Giant Step, xem [11].

Một phần của tài liệu PHÉP NHÂN PHỨC TRONG LÝ THUYẾT ĐƯỜNG CCONG ELLIPTI (Trang 44 - 56)