Tải bản đầy đủ (.pdf) (5 trang)

Tìm hiểu hệ mật ELGAMAL và các LOGARITHM rời rạc phần 4 pptx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (136.67 KB, 5 trang )

Vietebooks Nguyn Hong Cng
Trang 16
điều này kéo theo

x
i+1
= L
2
(
i
) , i0

Vì rằng x
i+1
= L
2
() nên thuật toán là đúng. Các chi tiết dành cho độc giả
xem xét.


5.2. Trờng hữu hạn và các hệ thống đơng cong
elliptic.

Chúng ta đã dành thời gian đáng kể để xét bài toán logarithm rời rạc
(DL) vào việc phân tích số. Ta sẽ còn trở lại hai bài toán này trong các loại
hệ mật và các giao thức mã khác nhau. Bài toán DL đã đợc nghiên cứu
trong trơng hữu hạn Z
p
, tuy nhiên việc xét bài toán này theo các thiết lập
khác nhau cũng rất có ích và là chủ đề của phần này.


Hệ mật Elgamal có thể đợc áp dụng trong một nhóm bất kì mà bài
toán DL là khó giải. Ta đã dùng nhóm nhân Z
p
*
tuy nhiên các nhóm khác
cũng là những ứng cử viên thích hợp. Trớc hết ta phát biểu bài toán DL
trong một nhóm hữu hạn nói chung G (hữu hạn) và ở đó kí hiệu phép lấy
nhóm là dấu "
". Dạng bài toán tổng quát hoá nh vậy trình bài trên hình 5.8.

Dễ dàng xác định một hệ mật Elgamal trong nhóm con H theo cách
tơng tự đã mô tả trong Z
p
*
và đợc trình bày trên hình 5.9. Chú ý rằng phép
mã hoá yêu cầu dùng số nguyên k ngẫu nhiên sao cho 0 k | H | - 1. Tuy
nhiên, nếu Alice không biết cấp của nhóm con H thì cô ta có thể tạo một số
nguyên k thoả mãn 0 k | G | -1, khi đó sẽ không có bất kì sự thay đổi nào
trong quá trình mã và giải mã. Cũng cần chú ý là nhóm G không phải là
nhóm Aben (Tuy H vẫn là nhóm Aben vì nó là nhóm cyclic).











Vietebooks Nguyn Hong Cng
Trang 17
Hình 5.8. Bài toán logarithm rời rạc trong (G,0)


Đặc trng của bài toán: I = (G, , ), trong đó G là một nhóm hữu
hạn với phép lấy nhóm
o , G và H, trong đó

H = {
i
: i 0}

là một nhóm con sinh bởi .

Mục tiêu: Tìm một số nguyên duy nhất a sao cho 0 a | H | -1 và

a
= , với kí hiệu
a
có nghĩa là o . . . o (a lần)
Ta sẽ kí hiệu số nguyên a này bằng log





Bây giờ ta sẽ trở lại bài toán DL tổng quát hoá . Nhóm con H đợc sinh bởi
phần tử tuỳ ý G dĩ nhiên phải là nhóm con cyclic cấp | H |. Bởi vậy, dạng
bất kì của bài toán theo một nghĩa nào đó đều tơng đơng với bài toán DL

trong một nhóm cyclic. Tuy nhiên, độ khó của bài toán DL dờng nh phụ
thuộc vào cách biểu diễn nhóm đợc dùng.

Xét một ví dụ về cách biểu diễn mà với nó, bài toán logarithm rời rạc
rất dễ giải. Xét nhóm cộng cyclic Z
n
và giả sử UCLN(,n) = 1, bởi vậy là
phần tử sinh của Z
n
. Vì phép toán trong nhóm là cộng theo modulo n nên
phép lấy mũ sẽ là nhân với a theo modulo n. Vì thế trong cách xây dựng này,
bài toán logarithm rời rạc sẽ là tìm số nguyên a sao cho.
a (mod n)
Vì UCLN(,n) = 1 nên có phần tử nghịch đảo nhân theo modulo n và ta có
thể dễ dàng tính
-1
mod n bằng thuật toán Euclide. Sau đó có thể giải để tìm
a và nhận đợc
log

=
-1
mod n









Vietebooks Nguyn Hong Cng
Trang 18
Hình 5.9. Hệ mật khoá công khai Elgamal tổng quát


Giả sử G là một nhóm hữu hạn có phép lấy nhóm
o. Giả sử G là một
phần tử sao cho bài toán DL trong H là khó; ở đây H = {
i
, i 0} là một
nhóm con sinh bởi . Đặt P = G, C = GìG và định nghĩa:
K = {(G, , a, ) : =
a
}
Các giá trị , công khai, còn a đợc giữ kín.
Với K = (G, , a, ) và với một số ngẫu nhiên bí mật k Z
|H|
ta xác định:
e
K
(x,k) = (y
1
,y
2
)
trong đó y
1
=
k


và y
2
= (x o
k
)
Với bản mã y = (y
1
,y
2
) ta xác định:
d
K
(y) = y
2
o (y
1
a
)
-1



ở phần trên ta đã nghiên cứu bài toán DL trong nhóm nhân Z
p
*
vơi p là
là số nguyên tố . Nhóm này là nhóm cyclic cấp p-1 và bởi vậy nó đẳng cấu
với nhóm cộng Z
p-1

. Theo thảo luận ở trên, ta đã biết cách tinh các logarithm
rời rạc một cách hiệu quả trong nhóm cộng này. Điều đó gợi ý khả năng giải
bài toán DL trong Z
p
*
bằng cách quy nó về bài toán giải đợc dễ dàng trong
Z
p-1
.

Ta hãy xem xét điều này đợc thực hiện nh thế nào?. Khi nói rằng,
(Z
p
*
, ì) là đẳng cấu với (Z
p-1
, +) có nghĩa là có một song ánh :
: Z
p
*
ặ Z
p-1

sao cho (xy mod p) = ((x) + (y)) mod (p-1)
Điều đó kéo theo:
(
a
mod p) = a () mod (p-1)
Bởi vậy


a
mod p a () () (mod p-1)
Do đó nếu tìm a theo mô tả ở trên, ta có:
log

= () (())
-1
mod (p-1)

Bây giờ, nếu có một phơng pháp hữu hiệu để tính phép đẳng cấu thì
ta sẽ có một thuật toán hữu hiệu để tính các logarithm rời rạc trong Z
p
*
. Khó
khăn ở đây là không có một phơng pháp chung đã biết nào để tính hiệu quả
phép đẳng cấu với số nguyên tố tuỳ ý. Ngay cả khi đã biết hai nhóm là
Vietebooks Nguyn Hong Cng
Trang 19
đẳng cấu thì vẫn không thể biết một thuật toán hiệu quả để mo tả tơng minh
phép đẳng cấu.

Phơng pháp này có thể áp dụng cho bài toán DL trong một nhóm G
tuỳ ý. Nếu có một phơng pháp hiệu quả tính phép đẳng cấu giữa H và Z
|H|

thì bài toán DL trong G mô tả ở trên có thể giải đợc một cách hữu hiệu.
Ngợc lại, dễ dàng thấy rằng, một phơng pháp tính các logarithm rời rạc có
hiệu quả sẽ tạo ra phơng pháp hiệu quả tính phép đẳng cấu giữa hai nhóm.

Thảo luận ở trên chỉ ra rằng, bài toán DL có thể dễ hoặc khó (xétbề

ngoài) tuỳ thuộc vào biểu diễn của nhóm cyclic đợc dùng. Nh vậy, sẽ tốt
hơn nếu xem xét các nhóm khác với hy vọng tìm đợc các thiết lập khác
nhau để bài toán DL có vẻ khó. Có hai lớp nhóm nh vậy.

1. Nhóm nhân của trờng Galois GF(p
n
)
2. Nhóm của một đờng cong elliptic xác định trên một trơng hữu
hạn.
Ta hãy xem xét hai lớp nhóm này ở phần sau.

5.1.2. Trờng Galois
Ta đã biết rằng, nếu p là số nguyên tố thì Z
p
sẽ là một trờng. Tuy
nhiên có nhiều trờng hữu hạn khác không có dạng trên. Thực tế có các
trờng hữu hạn q phần tử nếu q = p
n
, trong đó p là số nguyên tố , n 1là số
nguyên. Bây giờ ta sẽ mô tả ngắn gọn cách xây dựng một trờng nh vậy.
Trớc tiên ta sẽ đa ra một vài định nghĩa.

Định nghĩa 5.1
Giả sử p là số nguyên tố. Gọi Z
p
[x] là tập tất cả các đa thức biến x.
Bằng cách xây dựng phép cộng và nhân đa thức theo quy tắc thông thờng (
và rút gọn hệ số theo modulo p) ta sẽ tạo nên một vành.
Với f(x), g(x)


Z
p
[x], ta nói rằng, f(x) chia hết cho g(x) ( kí hiệu f(x) |
g(x)) nếu tồn tại q(x)

Z
p
[x] sao cho:
g(x) = q(x)f(x)
Với f(x)

Z
p
[x], ta xác định bậc của f ( kí hiệu là deg(f)) là số mũ cao
nhất có trong các số hạng của f.
Giả sử f(x), g(x), h(x)

Z
p
[x] và deg(f) = n

1, ta định nghĩa:
g(x)

h(x) (mod f(x))
nếu f(x) | (g(x) - h(x)).

Vietebooks Nguyn Hong Cng
Trang 20
Chú ý sự tơng tự giữa định nghĩa về đồng d của các đa thức với định nghĩa

về đồng d của các số nguyên.

Bây giờ ta sẽ định nghĩa vành các đa thức theo modulo f(x). (ta kí hiệu
vành này là Z
p
[x]/f(x)). Việc xây dựng Z
p
[x]/f(x) từ Z
p
[x] dựa trên khái niệm
về các đồng d thức theo modulo f(x) và nó tơng tự nh việc xây dựng Z
m

từ Z.

Giả sử deg(f) = n. Nếu chia g(x) cho f(x), ta thu đợc thơng q(x) và
phần d r(x), trong đó:
g(x) = q(x)f(x) + r(x)
và deg(r) < n.
Điều này có thể thực hiện theo cách chia các đa thức thông thờng. Bởi vậy,
một đa thứ bất kì trong Z
p
[x] đều đồng d theo modulo f(x) với một đa thức
duy nhất có bậc n-1.

Bây giờ ta sẽ xác định các phần tử của Z
p
[x]/f(x) là p
n
các đa thức

trong Z
p
[x] có bậc nhiều nhất là n-1. Phép cộng và nhân trong Z
p
[x]/(f(x))
đợc xác định nh trong Z
p
[x], sau đó thực hiện rút gọn theo modulo f(x).
Với phép toán này, Z
p
[x]/(f(x)) sẽ tạo thành một vành.

Cần nhớ lại rằng, Z
m
là một trờng khi và chỉ khi m là số nguyên tố và
các phần tử nghịch đảo nhân có thể tìm đợc qua thuật toán Euclide. Tình
hình cũng tơng tự xảy ra đối với Z
p
[x]/(f(x)). Sự tơng tự của các số nguyên
tố với các đa thức bất khả quy đợc xác định nh sau:

Định nghĩa 5.2
Đa thức f(x)

Z
p
[x] đợc gọi là bất khả quy nếu không tồn tại các đa
thức f
1
(x), f

2
(x)

Z
p
[x] sao cho
f(x) = f
1
(x)f
2
(x).
trong đó deg(f
1
) > 0 và deg(f
2
) > 0.

Một thực tế rất quan trọng là Z
p
[x]/(f(x)) là một trờng khi và chỉ khi
f(x) bất khả quy. Hơn nữa, các phần tử nghịch đảo nhân trong Z
p
[x]/(f(x)) có
thể tính đợc bằng cách dùng thuật toán Euclide mở rộng có biến đổi đôi
chút.

Sau đây là một ví dụ minh hoạ cho vấn đề nêu ra.

Ví dụ 5.6

×