Phương trình đồng dư bậc hai và thặng dư bậc ha

Một phần của tài liệu nghiên cứu về Chữ ký số trên đường cong Elliptic(ECDSA) (Trang 32)

CHƯƠNG III NGHIÊN CỨU CHUẨN CHỮ KÝ SỐ ECDSA

1.1Phương trình đồng dư bậc hai và thặng dư bậc ha

Ta xét phương trình đồng dư bậc hai có dạng như sau: x2 ≡ a (mod n)

Trong đó n là số nguyên dương, a là số nguyên với gcd(a, n) ≡ 1, và x là ẩn số. Phương trình đó không phải bao giờ cũng có nghiệm, khi nó có nghiệm thì ta gọi a là thặng dư bậc hai mod n. Ngược lại thì a gọi là một bất thặng dư bậc hai mod n.

Tập các số nguyên nguyên tố với n được phân hoạch thành hai tập con. Tập Qn các thặng dư bậc hai mod n, và tập các bất thặng dư bậc hai mod n.

Tiêu chuẩn Euler

Khi p là số nguyên tố, số a là thặng dư bậc 2 mod p nếu và chỉ nếu a(p-1)/2 ≡ 1 (mod p)

1.2. Nhóm

1.2.1 Nhóm

Định nghĩa 1.1.1( nhóm)

Nhóm (G, °) là một tập hợp G cùng với một phép toán hai ngôi, ký hiệu ° (là một ánh xạ từ tập G × G → G) thỏa mãn các tiên đề sau:

G1. Tính đóng: Nếu a, bG, thì a °bG.

G2. Tính kết hợp: (a ° b) °c = a ° (b °c), với ∀a, b, cG.

G3. Phần tử đơn vị (trung hòa): Trong G tồn tại một phần tử được gọi là phần tử đơn vị e sao cho với ∀aG thì a ° e = e°a = a.

G4. Phần tử nghịch đảo: Với mỗi phần tử aG tồn tại một phần tử a-1, gọi là phần tử nghịch đảo của a, sao cho: a-1

°a = a °a-1 = e.

Chú ý: toán tử ° là ký hiệu chung và có thể đại diện cho toán tử cộng, nhân hoặc các toán tử toán học khác.

Định lý 1.2.1: Với ∀aG, a -1

° a = e.

Chứng minh: Khai triển a -1

° a, có: o a -1 °a = a -1 °a °e (theo G3) o a -1 ° a ° e = a -1 ° a ° (a -1

° (a -1) -1) (theo G4, a -1 có một nghịch đảo ký hiệu là (a - 1) -1) o a -1 °a ° (a -1 ° (a -1) -1) = a -1 ° (a °a -1) ° (a -1) -1 = a -1 °e° (a -1) -1 (theo G2 và G4) o a -1 ° e ° (a -1) -1 = a -1 ° (a -1) -1 = e (theo G3 và G4)

a -1 ° a = e

Định lý 1.2.2: Với ∀aG, e °a = a.

Chứng minh: Khai triển e °a, có:

o e °a = (a °a -1) °a (theo G4)

o (a ° a -1) ° a = a ° (a -1

° a) = a ° e (theo G2 và định lý 1.1.1)

o a °e = a (theo G3) ⇒ e °a = a

Định lý 1.2.3: Với ∀a, bG, tồn tại duy nhất xG sao cho a °x = b.

Chứng minh: Chắc chắn, tồn tại ít nhất một phần tử x như vậy, chẳng hạn đặt x = a -1 ° b, thì xG (theo G1) và do đó: o a °x = a ° (a -1 °b) (thế x) o a ° (a -1 °b) = (a °a -1) °b (theo G2). o (a ° a -1) ° b= e °b = b (theo G3).

Như vậy x này luôn tồn tại và thỏa mãn a °x = b. Để chỉ ra tính duy nhất, nếu a °x = b, thì: o x = e ° x o e °x = (a -1 °a) ° x o (a -1 °a) °x = a -1 ° (a ° x) o a -1 ° (a °x) = a -1 °bx = a -1 ° b 34

Định lý 1.2.4: Phần tử đơn vị của một nhóm (G, °) là duy nhất. (adsbygoogle = window.adsbygoogle || []).push({});

Chứng minh: Giả sử G có hai phần tử đơn vị là ef. Vậy thì e ° f = e (theo G3), nhưng cũng có e ° f = f (theo định lý 1.1.2) ⇒ e = f. Như vậy, có thể nói phần tử đơn vị của (G, ° ) thay vì một phần tử đơn vị. Khi đề cập những nhóm khác nhau, sẽ thường ký hiệu eG cho phần tử đơn vị của nhóm (G, °).

Định lý 1.2.5: Phần tử nghịch đảo của mỗi phần tử thuộc (G, °) là duy nhất, hay với ∀aG, a °x = e nếu và chỉ nếu x = a -1.

Chứng minh: Giả sử một phần tử gG có hai phần tử nghịch đảo, hk. Thì h = h °

e = h ° (g ° k) = (h ° g) ° k = e ° k = k (các đẳng thức nhận được theo G3, G4, G2, định lý 1.1.1 và định lý 1.1.2, theo thứ tự). Như vậy, có thể nói phần tử nghịch đảo của một phần tử x, thay vì một phần tử nghịch đảo.

Định lý 1.2.6: Với ∀a ∈ (G, °), (a -1) -1 = a.

Chứng minh: Ta có a -1

° a = e, đi đến kết luận dựa vào định lý 1.1.4.

Định lý 1.2.7: Với ∀a, b∈ (G, °), (a ° b)-1 = b -1 °a -1.

Chứng minh: Ta có (a ° b) ° (b -1

° a -1) = a ° (b ° b -1) ° a -1 = a ° e° a -1 = a * a -1 = e, có kết luận dựa vào định lý 1.4.

Định lý 1.2.8: Với ∀a, x, y ∈ (G, °), nếu a °x = a ° y, thì x = y và nếu x ° a = y ° a, thì x

= y. Chứng minh: Nếu a ° x = a °y thì: o a -1 ° (a °x) = a -1 ° (a °y) o (a -1 °a) °x = (a -1 °a) °y o e °x = e °y

x = y Nếu x °a = y ° a thì o (x ° a) °a -1 = (y °a) ° a -1 o x ° (a ° a -1) = y ° (a °a -1) o x °e = y °e x = y Ví dụ 1.2.1 (Nhóm) 1. Tập số thực (R) là một nhóm dưới phép cộng (+): a. Tổng của hai số thực bất kỳ là một số thực (tính đóng). b. Với ∀ a, b, c R: (a + b) + c = a + (b + c) (tính kết hợp). c. Với ∀ a R: a + 0 = a (0 là phần tử đơn vị). d. Với ∀ a R: –a + a = 0 (tồn tại phần tử đối lập).

2. Tập số thực khác không (R#) là một nhóm dưới phép nhân (*): a. Tích của hai số thực luôn là một số thực (tính đóng).

b. Với ∀ a, b, cR: (a * b) * c = a * (b * c) (tính kết hợp). c. Với ∀ a R: a * 1 = a (1 là phần tử đơn vị). d. Với ∀ a R: a * a -1 = 1 (tồn tại phần tử đối lập). 36

3. Tập Z5 = {0, 1, 2, 3, 4} là một nhóm theo phép cộng modulo 5. Vì theo bảng tính toán dưới đây, nó hoàn toàn thỏa mãn 4 tiên đề của nhóm.

1 2 1 2 2 3 3 4 4 0 0 1

4. Tương tự có thể chứng minh rằng tập Zn = {0, 1, 2, 3, …, n – 1} là nhóm đối với

phép cộng theo modulo n, ký hiệu +

n

Z

.

Định nghĩa 1. 2. 2 (Nhóm hữu hạn và vô hạn)

Nhóm G gọi là hữu hạn nếu như tập G có số lượng phần tử hữu hạn, và trường hợp ngược lại gọi là vô hạn.

Định nghĩa 1. 2 .3 (Nhóm abel hay nhóm giao hoán)

Nhóm G gọi là giao hoán nếu như với ∀a, bG thì a° b = b°a.

Nói cách khác, nhóm abel là nhóm giao hoán. Sau này sẽ không khảo sát các nhóm không giao hoán, vì vậy mọi nhóm đều là nhóm abel, cho nên thuật ngữ “abel” thường bỏ qua.

Ví dụ 1.2.2

1. Tập hợp của các số nguyên Z là nhóm đối với toán tử (+), tức là cặp (G, +) – là nhóm, ở đây e = 0 và a–1 = – a. Đây là nhóm cộng, vô hạn và abel. (Theo G4: a-1 + a = 0 → a-1 = -a).

Tập hợp của các số hữu tỷ Q, tập hợp của các số thực R, tập hợp của các số phức (adsbygoogle = window.adsbygoogle || []).push({});

C cũng là nhóm cộng và vô hạn, trong đó phần tử đơn vị và ngược được xác định theo cùng quy tắc.

2. Các phần tử khác không của tập hợp Q , RC đối với phép nhân – là các nhóm, trong đó e = 1 và a–1 là phần tử nghịch đảo, được xác định theo quy tắc thông thường. Ký hiệu các nhóm này là (Q, * ), (R, *) và (C, *). Các nhóm này được gọi là các nhóm nhân và vô hạn.

3. Đối với số nguyên bất kỳ n ≥ 1, tập hợp các số nguyên theo modulo n hình thành lên nhóm hữu hạn, bao gồm từ n phần tử. Phần tử đơn vị của nhóm này là số 0, đối với phần tử a bất kỳ sẽ thực hiện điều kiện a–1 = na. Nhóm này được ký hiệu là

Zn và ký hiệu đầy đủ của nhóm này là (Zn, + (mod n)). (Theo G4: a-1 + a = 0 mod n → a–1 = na).

Định nghĩa 1. 2. 4 (Bậc của nhóm)

Số lượng phần tử của tập hữu hạn G được gọi là bậc của G, được kí hiệu là #G.

1.2.2 Nhóm con

Định nghĩa 1. 2. 5 (Nhóm con)

Một tập con H của G được gọi là một nhóm con của một nhóm (G, °) nếu H thỏa mãn các tiên đề về nhóm và sử dụng cùng các toán tử °. Như vậy, nếu H là một nhóm con của (G, °), thì (H, °) cũng là một nhóm, và đồng thời thỏa mãn các định lý trên. Kí hiệu

G H ⊆ . Ví dụ 1.2.3 (Nhóm con) 1. Đối với phép cộng C R Q Z ⊆ ⊆ ⊆ . 2. Tập { }e

là nhóm con của mọi nhóm. 38

3. Tất cả các nhóm con của + 6

Z

là {0}, {0, 3}, {0, 2, 4} và chính nó.

Định nghĩa 1 . 2.6 (Nhóm con tách biệt và nhóm con không tầm thường)

Một nhóm con tách biệt của một nhóm G là một nhóm con khác G (H ≠ G), ký hiệu H ⊂ G. Một nhóm con không tầm thường của G là bất kỳ nhóm con tách biệt nào của G

chứa một phần tử khác e.

Định lý 1.2.9: Nếu H là một nhóm con của (G, °), thì phần tử đơn vị eH của H giống với phần tử đơn vị e của nhóm (G, °).

Chứng minh: Nếu hH, thì h ° eH = h; vì h cũng phải thuộc G, h ° e = h; do đó theo định lý 1.1.4, eH = e.

Định lý 1.2.10: Nếu H là một nhóm con của G, và h là một phần tử của H, thì nghịch đảo của h trong H giống với nghịch đảo của h trong G.

Chứng minh: Gọi hk là các phần tử của H, sao cho h ° k = e, bởi vì h cũng thuộc

G, h °h -1 = e do đó theo định lý 1.1.5, k = h -1.

Định lý 1.2.11: Nếu S là một tập con không rỗng của G, thì S là một nhóm con của G

nếu và chỉ nếu với ∀a, bS, a ° b -1 ∈ S.

Chứng minh:

1. Nếu với ∀a, bS, a °b -1 cũng thuộc S, thì

o eS, vì a °a -1 = eS.

o Với ∀aS, e ° a -1 = a -1 ∈ S

o Với ∀a, bS, a °b = a ° (b -1) -1 ∈ S

Do đó, các tiên đề về tính đóng, phần tử đơn vị, phần tử nghịch đảo, và tính kết hợp được kế thừa do đó S là một nhóm con. (adsbygoogle = window.adsbygoogle || []).push({});

2. Ngược lại, nếu S là một nhóm con của G, thì nó tuân theo các tiên đề về nhóm.

o Như đã nói, phần tử đơn vị của S chính là phần tử đơn vị e của G.

o Theo G4, với ∀bS, b -1 ∈ S

o Theo G1, a ° b -1 ∈ S.

Định lý 1.2.12: Giao của các nhóm con của nhóm G là một nhóm con.

Chứng minh:

1. Gọi {Hi} là một tập các nhóm con của G, và K = ∩{Hi}.

2. e là phần tử của mọi Hi theo định lý 1.1.9, do đó K không rỗng. 3. Nếu hk là các phần tử của K, thì với ∀i, có:

o hkHi.

o Theo định lý trước, h °k -1 ∈ Hi

o Do đó, h °k -1 ∈ ∩{Hi}.

o Do đó với ∀h, kK, h °k -1 ∈ K.

o ⇒ K = ∩{Hi} là một nhóm con của G và hơn nữa K là một nhóm con của mỗi

Hi.

Định lý 1.2.13: Gọi a là một phần tử của một nhóm (G, °), khi đó tập hợp {an: n

nguyên} là một nhóm con của G.

Định nghĩa 1. 2 .7 (Liên tập, hay liền kề)

Cho G là nhóm abel, HGaGthì

tập hợp {a ° hhH} gọi là liên tập trái (left coset) của nhóm con H trong G và ký hiệu là a° H, và

tập hợp {h° ahH} gọi là liên tập phải (right coset) của nhóm con H trong G và ký hiệu là H° a

Định lý 1.2.14: Nếu H là một nhóm con của G, và x, y là các phần tử của G, thì x ° H

= y°H, hoặc x°Hy° H không giao nhau.

Định lý 1.2.15: Nếu H là một nhóm con của G, thì mọi liên tập trái (phải) của H trong

G chứa cùng số phần tử.

Định lý 1.2.16: Nếu H là một nhóm con của G, thì số liên tập trái phân biệt của H

bằng với số liên tập phải phân biệt của H.

Định lý Lagrange: Nếu H là một nhóm con của một nhóm hữu hạn G, thì

GH|# H|# #

, tức là số lượng phần tử của H là ước số của #G.

Chứng minh: Giả sử G là nhóm hữu hạn và H là nhóm con của nó. Nếu G = H, thì điều cần chứng minh là hiển nhiên đúng. (adsbygoogle = window.adsbygoogle || []).push({});

Giả sử H ={h1,..., hn}

nhỏ hơn nhóm G và giả sử xG\H. Lúc này tất cả các phần tử

của tập Hx={h1x,..., hnx}

khác nhau và không trùng với các phần tử của H. Vì từ

x h x hi = j dẫn đến j i h h = , nhưng j ix h h = dẫn đến H h h x= i−1 j

là không thể. Nếu như HHx=G, thì

định lý được chứng minh. Nếu như HHx nhỏ hơn G, thì có thể chọn

)( ( \ H Hx G y∈ ∪ và thành lập nên tập Hy={h1y,..., hny}

không trùng với các phần tử của tập HHx. Cứ tiếp tục như thế, nhận kết quả như sau ... ∪ ∪ ∪ =H Hx Hy G . Từ đây có | |G chia hết cho n. 1.2.3 Bậc phần tử của nhóm Định nghĩa 1.2.8 (Bậc phần tử của nhóm)

Cho G là một nhóm và aG. Bậc của phần tử a là số dương nhỏ nhất iZ , thỏa mãn

điều kiện a e

i =

. Số này ký hiệu là ord(a). Nếu như số i không tồn tại thì a là phần tử có bậc vô hạn.

Chú ý: biểu thức ai được sử dụng để chỉ toán tử lặp (a ° a °…°a) i lần (i nguyên, dương). Khi ° = +, thì a ° a °…°a = a . i, còn khi ° = *, thì a ° a °…°a = ai . Ví dụ 1.2.4 1. Bậc của các phần tử của nhóm + 6 Z , * 9 Z và * 8 Z

, khi lập bảng lưu tâm chú ý trên, như sau: Đối với nhóm + 6 Z (nhóm với toán tử cộng, e = 0) a ord(a) Đối với nhóm * 9 Z

(nhóm với toán tử nhân, e = 1)

a

ord(a)

Đối với nhóm * 8

Z

(nhóm với toán tử nhân, e = 1)

2. Nhóm +

Z

gồm tất cả các số nguyên theo phép cộng – là một nhóm cyclic, > < = + 1 Z và =∞ ) (n ord với nZ , n ≠ 0.

Định lý 1.2.17: Cho G là nhóm hữu hạn và aG là phần tử bất kỳ của nhóm. Khi đó ord(a)|#G.

Chứng minh: Nếu như a = e, thì ord(a) = 1 và điều kiện ord(a)|#G là hiển nhiên.

Ngược lại các phần tử

e a

a

a, 2,..., ord(a) = (adsbygoogle = window.adsbygoogle || []).push({});

, sẽ tạo nên nhóm con của G. Theo định lý Lagrange thì ord(a)|#G.

Định lý 1.2.17, dẫn ra từ định lý Lagrange, miêu tả sự liên hệ giữa bậc của nhóm với các bậc của các phần tử của nhóm này. Mối tương hỗ này có ứng dụng quan trọng trong mật mã với khoá công khai: hệ mật nổi tiếng Rivest, Shamir và Adleman (RSA), hoạt động trên cơ sở của nhóm, mà bậc của nó là khoá riêng, chỉ được biết bởi chủ nhân của khoá. Văn bản mã có thể xem xét như phần tử ngẫu nhiên của nhóm nào đó. Biết bậc của nhóm, chủ nhân của khoá có thể sử dụng sự phụ thuộc giữa bậc của phần tử và bậc của nhóm để biến đổi văn bản mã thành văn bản rõ (tức là giải mã). Chúng ta sẽ nghiên cứu hệ mật RSA sau này.

1.2.4 Nhóm vòng

Nói một cách không hình thức, nhóm có biểu diễn vòng, thì được gọi là nhóm vòng (cyclic group). Các nhóm như thể có nhiều đặc tính rất hấp dẫn và chúng được các ứng dụng rộng rãi trong mật mã học.

Định nghĩa 1.2.10 (Nhóm cyclic, phần tử sinh của nhóm)

Nhóm G gọi là nhóm cyclic, nếu như tồn tại phần tửaG, sao cho đối với ∀bGtồn

tại số nguyên i≥0, thỏa mãn điều kiện

i

a b=

. Phần tử a gọi là phần tử sinh của nhóm G.

Nếu nhóm G sinh ra bởi a, thì ký hiệu G = <a>.

Ví dụ 1.2.6 (Nhóm cyclic) 1. { }=< >=< > = + 0,1,2,3,4,5 1 5 6 Z

, bởi vì mọi phần tử của 6

Z

đều có thể biểu diễn dưới dạng tổng của 1 hoặc 5 theo modulo 6.

2. { }=< >=< > { }=< >=< > = 1,2,4,5,7,8 2 5 * 9 Z

,bởi vì mọi phần tử của 9

Z

đều có thể biểu diễn dưới dạng tích của các số 2 hoặc 5 theo modulo 9

3. { } =< > { } =< > = 1,2,3,4,5,6 3 * 7 Z 4. Nhóm * {1,3,5,7} 8 = Z không là nhóm cyclic

5. Cũng dễ dàng chứng minh được rằng nhóm nhân * p Z với p là số nguyên tố là một nhóm cyclic. 6. Với 3

Một phần của tài liệu nghiên cứu về Chữ ký số trên đường cong Elliptic(ECDSA) (Trang 32)