Tài liệu Về một phương pháp nhân đa thức dựa trên định lý phần dư trung hoa và phép biến đổi Fourier nhanh: Nghiên cứu khoa học cơng nghệ
Tạp chí Nghiên cứu KH&CN quân sự, Số 59, 02 - 2019 187
VỀ MỘT PHƯƠNG PHÁP NHÂN ĐA THỨC DỰA TRÊN ĐỊNH LÝ
PHẦN DƯ TRUNG HOA VÀ PHÉP BIẾN ĐỔI FOURIER NHANH
Nguyễn Thị Thu Nga*
Tĩm tắt: Bài báo trình bày một phương pháp hiệu quả nhân nhanh các đa thức
và chuỗi lũy thừa cĩ các hệ số nguyên ứng dụng trong việc tạo các tham số cho các
hệ thống mật mã khĩa cơng khai, mà hiệu quả của chúng làm tăng tốc độ thực hiện
các thuật tốn trong các ứng dụng thực tế. Phương pháp này là thích ứng chúng với
tính tốn song song cho phép khai thác tối đa khả năng tính tốn của các bộ vi xử lý
hiện đại. Nhờ kết hợp định lý phần dư Trung Hoa và phép biến đổi Fourier nhanh
cho phép phát triển một phương pháp nhân nhanh hiệu quả.
Từ khĩa: Phép nhân song song đa thức; FFT - Biến đổi Fourier nhanh; CRT - (Định lý phần dư Trung Hoa)
Chinese Remainder Theorem.
1. MỞ ĐẦU
Năm 1971, Schưnhage và Strassen đã đưa ra một thuật tốn mới cho phép nhân các số
nguyên lớ...
9 trang |
Chia sẻ: quangot475 | Lượt xem: 513 | Lượt tải: 0
Bạn đang xem nội dung tài liệu Về một phương pháp nhân đa thức dựa trên định lý phần dư trung hoa và phép biến đổi Fourier nhanh, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Nghiên cứu khoa học cơng nghệ
Tạp chí Nghiên cứu KH&CN quân sự, Số 59, 02 - 2019 187
VỀ MỘT PHƯƠNG PHÁP NHÂN ĐA THỨC DỰA TRÊN ĐỊNH LÝ
PHẦN DƯ TRUNG HOA VÀ PHÉP BIẾN ĐỔI FOURIER NHANH
Nguyễn Thị Thu Nga*
Tĩm tắt: Bài báo trình bày một phương pháp hiệu quả nhân nhanh các đa thức
và chuỗi lũy thừa cĩ các hệ số nguyên ứng dụng trong việc tạo các tham số cho các
hệ thống mật mã khĩa cơng khai, mà hiệu quả của chúng làm tăng tốc độ thực hiện
các thuật tốn trong các ứng dụng thực tế. Phương pháp này là thích ứng chúng với
tính tốn song song cho phép khai thác tối đa khả năng tính tốn của các bộ vi xử lý
hiện đại. Nhờ kết hợp định lý phần dư Trung Hoa và phép biến đổi Fourier nhanh
cho phép phát triển một phương pháp nhân nhanh hiệu quả.
Từ khĩa: Phép nhân song song đa thức; FFT - Biến đổi Fourier nhanh; CRT - (Định lý phần dư Trung Hoa)
Chinese Remainder Theorem.
1. MỞ ĐẦU
Năm 1971, Schưnhage và Strassen đã đưa ra một thuật tốn mới cho phép nhân các số
nguyên lớn. Kể từ đĩ các thuật tốn nhân nhanh dựa trên biến đổi Fourier nhanh FFT (Fast
Fourier Transform) đã được cải tiến liên tục . Ngày nay, chúng ta cĩ nhiều thuật tốn nhân
nhanh các số nguyên lớn [1] và nhân nhanh đa thức [7]. Một số thuật tốn khơng phụ
thuộc vào kiến trúc bộ xử lý và một số khác được thiết kế giành cho một hệ thống tính
tốn cụ thể. Mặc dù FFT cĩ một lợi thế so với các thuật tốn nhân cổ điển, nhưng phiên
bản giành cho các máy tính đa nhân khơng dễ thực hiện. Ngồi ra, khi nhân các số nguyên
lớn bằng phương pháp FFT chỉ hiệu quả khi các số cĩ trên 100.000 bit [4]. Để khắc phục
điều này cần tạo một thuật tốn cùng một lúc sử dụng FFT và định lý phần dư Trung Hoa
CRT (Chinese Remainder Theorem). Định lý phần dư Trung Hoa thường được sử dụng để
tăng tốc độ tính tốn trong thuật tốn mật mã RSA. Việc sử dụng CRT cho phép tách và
thực hiện song song các phép tốn ký hoặc giải mã. Bài báo trình bày một thuật tốn hiệu
quả nhân nhanh các đa thức cĩ các hệ số nguyên.
2. BIỂU DIỄN CÁC PHẦN TỬ TRƯỜNG VÀ PHÉP NHÂN NHANH
TRONG VÀNH ĐA THỨC
Trong phần này sẽ trình bày ngắn gọn về phương pháp tối giản Montgomery. Bổ đề
sau đây là cơ sở cho phương pháp tối giản Montgomery [7]:
Bổ đề 1. Cho a, b, M, R là các số nguyên sao cho (M, R) = 1, a, b <M <R, q = -M-1
mod R, và
t1 = a • b
t2 = t1 mod R
t3 = t2 • q
t4 = t3 mod R
t5 = t4 •M
t = (t1 + t5)/R.
Khi đĩ, một trong những phương trình sau đây là đúng:
abR-1 mod M = t hoặc abR-1 mod M = t - M.
Trong thực tế, số M thường là số lẻ, và R là lũy thừa của số 2. Điều này cĩ nghĩa là
việc giảm và phân chia theo modulo R dẫn đến giảm thích hợp một số lượng bit cao và bit
thấp. Thực tế rút gọn Montgomery cho phép thực hiện tính tốn hiệu quả trên vành ℤ/Mℤ.
Định lý 1. Cho M và R là các số nguyên dương. Nếu (M, R) = 1,M < R và vành
R1 = ,
R2 =
Cơng nghệ thơng tin & Cơ sở tốn học cho tin học
Nguyễn Thị Thu Nga, “Về một phương pháp nhân đa thức biến đổi Fourier nhanh.” 188
và được định nghĩa như sau:
a ± b = a ± b mod M
a • b = ab mod M
a ⊙ b = abR-1 mod M,
thì R1 và R2 đẳng cấu cùng nhau
Chứng minh: Chúng ta định nghĩa biến đổi h: R1 → R2 như sau:
h (x) = xR mod M
Vì M và R nguyên tố cùng nhau, thì R là một modulo M cĩ thể đảo ngược. Điều này
cĩ nghĩa là h trong thực tế là một song ánh. Để hồn thành chứng minh chúng ta phải chỉ
ra rằng biến đổi h là một đồng cấu:
1. h(0) = 0, h(1) = R mod M,
2. h(a ± b) = (a ± b)R mod M = (aR ± bR) mod M = h(a) + h(b),
3. h(a • b) = abR mod M = (aRbR)R-1 mod M = h(a) ⊙ h(b).
Điều này đã được chứng minh.
Giả thiết rằng: n là một số lũy thừa của 2 và lớn hơn bậc tối đa của đa thức đa thức
muốn nhân. Giả định rằng giá trị tuyệt đối các hệ số của đa thức nhỏ hơn B.
Định nghĩa 1: cho f(X) = fn-1 X
n-1 + • • • + f1X + f0 ∈ ℤ[X] và M ∈ ℤ.
Chúng ta định nghĩa f(X) mod M như sau:
f(X) mod M = (fn-1 mod M)X
n−1 + • • • + (f0 mod M),
Trong đĩ,
1 1
mod ,..., 1,0,1,..., ,
2 2
i
M M
f M
với i từ 0 đến n-1
Nếu lựa chọn được một số hợp lý M thì nhân hai đa thức trong vành (ℤ/Mℤ)[X] cho
cùng kết quả như nhân chính các đa thức đĩ cùng trong vành ℤ[X]. Bổ đề sau chỉ ra cách
chọn số M để đạt được kết quả này.
Bổ đề 2. Cho f(X) = fn-1X
n-1 + + f1X + f0, g(X) = gn-1 X
n-1 + • • •+ g1X+g0 là các
đa thức cĩ hệ số nguyên, sao cho |fi| <B và |gi| <B với i = 0, 1 ,. . . , n - 1. Nếu số nguyên
M thỏa mãn điều kiện:
2nB2 <M
Thì f (X)g(X) mod M = f(X)g(X)
Chứng minh: Nếu f(X)g(X) = h(X) = h2n-2 X
2n-2 + • • • + h1X + h0 thì
1 1
0 0
n n
i j
i j
i j
h X f X g X
1 1 1
1
1
0 0 1 0
n i n n i
i n i
j i j i j n j
i j i j
f g X f g X
1 1 1 1
1
1
0 0 0 0
n n n n i
i n i
j i j i j n j
i i i j
X f g X f g
Bởi vì | fi | < B và | gi | < B nên chúng ta cĩ
1 1 2 2
1 10 0 0
1. ( 1)
n i n i i
i i j n j i j n jj j j
h f g f g B i B
với i từ 0
đến n-1.
1 1 2 2
1 1 10 0 0
2. ( )
n i n i i
n i i j n j i j n jj j j
h f g f g B n i B
với i từ
0 đến n-1.
Điều đĩ cĩ nghĩa là |hi|<nB
2 với mọi i từ 0 đến 2n - 2. Nếu M>2nB2 thì tất cả các hệ số
(được mơ tả trong định nghĩa 1) của các đa thức f(X), g(X) và h(X) được biểu diễn trong
Nghiên cứu khoa học cơng nghệ
Tạp chí Nghiên cứu KH&CN quân sự, Số 59, 02 - 2019 189
vành là phần dư theo modulo M mà khơng cần rút gọn. Điều đĩ suy ra phương trình f(X)
g(X) mod M = f(X) g(X).
Định lý 2. Cho f(X) = fn-1 X
n-1 + + f1X + f0, g(X) = gn-1 X
n-1 +• • •+ g1X+g0 là các
đa thức cĩ hệ số nguyên, sao cho |fi| <B và |gi| <B|. Nếu số nguyên tố p thỏa mãn các điều
kiện sau:
(1) 2nB2 <p,
(2) p = 2 m+1 r + 1 với 2 m+1 ≥ 2n và r ∈ ℤ, thì
f(X)g(X) = f(X)g(X) mod p = (f(X) mod p)(g(X) mod p) mod p
và trường p cĩ thể sử dụng để nhân đa thức f và g bằng cách sử dụng thuật tốn FFT.
Chứng minh: Bởi vì tốn tử mod p đồng cấu tự nhiên của vành ℤ, nên
(f(X) mod p)(g(X) mod p) mod p = f(X)g(X) mod p
Trên cơ sở của Bổ đề 2 chúng ta cĩ được đẳng thức:
f(X)g(X) mod p = f(X)g(X).
Như vậy, việc nhân các đa thức f (X), g (X) ∈ ℤ[X] cho cùng kết quả như phép nhân
đa thức f(X) mod p, g(X) mod p ∈ p[X] với điều kiện các phần tử của trường p[X] được
biểu diễn bằng các số
1 1
,..., 1,0,1,..., .
2 2
p p
Số nguyên tố cĩ dạng p = 2m+1r + 1 được chọn khi sử dụng thuật tốn FFT, do thực tế
là với một số p xác định, trường p cĩ nghiệm nguyên thủy với phần tử đơn vị bậc 2
m+1.
Áp dụng biến đổi Fourier nhanh trên trường hữu hạn thay vì trên trường số phức cho
phép loại bỏ các phép tốn dài, phức tạp trên số dấu phẩy động và thay bằng các phép tính
nhanh trên số nguyên. Điều này cho phép xây dựng một thuật tốn nhanh hơn, bởi vì trên
bộ vi xử lý Intel Core 2 thì thực hiện phép nhân các số nguyên khoảng 30 lần nhanh hơn
so với thực hiện phép nhân trên số dấu phẩy động. Trường hữu hạn được đề xuất sử dụng
vì hai lý do:
1. Tối đa hĩa tốc độ của thuật tốn,
2. Loại bỏ lỗi làm trịn, được đặc trưng bởi các phép tốn trên các số dấu phẩy động.
Tất nhiên, ở dây phát sinh câu hỏi về các điều kiện cần phải thỏa mãn sao cho việc
thực hiện các thuật tốn nhân đa thức nhanh nhất. Để trả lời câu hỏi này, cần lưu ý rằng
phép tốn chính được thực hiện khi nhân đa thức là phép nhân trong trường hữu hạn p.
Gồm phép nhân các số nguyên và quy về theo modulo. Tối ưu hĩa việc quy về theo
modulo cho kết quả tốt nhất về tốc độ thuật tốn nhân đa thức. Thơng thường, bài tốn quy
về theo modulo được giải quyết bằng một trong ba cách:
(a) Tìm một số nguyên tố p, sao cho phép tốn rút gọn theo modulo dẫn đến thực hiện
một số phép cộng và phép trừ. Thực tế là cĩ rất nhiều số nguyên tố như vậy. Ví dụ: 2224 –
296 + 1 = 296 (2128 - 1) + 1 hoặc 2512 – 232 + 1 = 232 (2480 - 1) + 1.
(b) Một phương pháp tối ưu hĩa khác phép rút gọn theo modulo là sử dụng thuật tốn
rút gọn Montgomery [7]. Phương pháp này tổng quát hơn và cĩ thể áp dụng cho bất kỳ số
nguyên tố nào khác 2.
(c) Cuối cùng, cĩ thể sử dụng thuật tốn cổ điển để tính tốn tỉ số và phần dư của
phép chia, nhược điểm của phương pháp này là rất khĩ thực hiện một cách hiệu quả [7].
Phương pháp đề xuất trong (a) cho phép tính tích các phần tử phần tử trường hữu hạn
chỉ sử dụng một phép nhân số nguyên và chắc chắn là nhanh nhất trong số các phép tính
được đề xuất. Các số nguyên tố dạng đặc biệt này cĩ vai trị quan trọng trong mật mã và
thường được sử dụng trong các thuật tốn dựa trên đường cong elliptic (FIPS 186-3 và
ANSI X509.62).
190
các vectơ thu đư
tốn này t
của thuật tốn dựa tr
hệ số nhỏ h
đa th
trong trư
trư
n(
vành các chu
ch
cho các vành (padded ring) cho phép chúng ta nhanh chĩng xác đ
chu
cộng v
lặp. Nếu chuỗi lũy thừa cĩ tính nghịch đảo cĩ dạng:
thì giao th
Thu
Trung Hoa. Cách ti
bằ
kh
trư
Vi
Đ
ức tr
Ch
1. Bi
ờng
2. Nhân các t
3. Bi
Đi
2+3
Các thu
ỉ khi hệ số của nĩ cĩ số mũ thấp nhất bằng 1 hoặc
ỗi. Ph
Đ
ng nhi
ả năng phân chia tính tốn trong trư
ớc hết phải t
ệc nhân các
ịnh lý 2
ứng minh:
ề
log (
à tr
ật tốn 1.
ể gi
Nguy
ốn kém nh
ên b
ờng h
ến đổi Fourier của hai đa thức cĩ bậc bé h
p (chúng ta bi
ến đổi Fourier ng
u này cĩ ngh
ương pháp
ừ chuỗi. Để biến đổi ng
ức sau cho
ảm đ
ều phép nhân nh
ễn Thị Thu Nga
ơn B. N
ằng cách sử dụng thuật tốn FFT cần thực hiện
n)) phép nhân trong trư
ật tốn nhân đ
ỗi lũy
ợ
. Cho trư
ữu h
Đ
3. S
PHÂN CHIA TÍNH TỐN GI
ộ ph
ìm ra các s
đa th
c và th
ếu số nguy
ạn
M
ọa đ
th
ảo ng
ứ
ếp c
ất là phép nhân trong trư
ên s
p
ột phép nhân FFT (đ
ến đổi mỗi một đa thức th
ộ
ĩa l
ừa với các hệ số nguy
Newton tính tốn ngh
phép tìm ngh
Ử DỤNG ĐỊNH LÝ PHẦN D
c tạ
ậ
ức bao g
ự
ố phép nhân cần thiết theo modulo
ớc hai đa thức cĩ bậc nhỏ h
.
củ
ư
à m
ược chuỗi lũy thừa bằng cách sử dụng ph
p tính tốn c
n này s
ỏ
ố nguy
,
c hi
a hai vectơ v
ợc của vector với
ộ
ược đề xuất cĩ thể sử dụng để tính tốn biến đổi ng
hơn trong trư
“Về một ph
ện phép bi
ên t
t phép nhân đơn hai đa th
ẽ
ên t
ồm các phép tốn sau: Th
ố
ờ
ược chuỗi cĩ
ịch đảo của nĩ với n hệ số:
cho phép chúng ta thay th
p th
ng
ủa thu
ờ
ố p
ương pháp nhân đa th
ế
ỏa m
ới 2
p, Đi
A X a X
ờng
ng
i cho phép th
Cơng ngh
n đ
ơn) riêng bi
n
ên. M
ịch đảo nhanh v
ật tốn trên, chúng ta s
p
ổi Fourier ngh
ờng
ãn các
hệ
2n
ều cần CM.
n
k j
j
p. M
gi
ành m
số yêu c
hệ số đ
ột chuỗi nh
n h
1
0
ỮA CÁC BỘ VI XỬ LÝ
ột
ữa các bộ vi xử lý. Để đạt đ
ệ thơng tin & C
p. Do đĩ, chúng ta đánh giá đ
ơn n, trong đĩ giá tr
đi
ơn
-
ệ số chúng ta phải thực hiện
j
Ư TRUNG HOA Đ
ưu đi
ực hiện ý t
ều kiện của Định l
ệt gồm ba b
n
ột vector cĩ 2
ầ
ịi h
ứ
1. S
,
p
địi h
u 2
ỏi
c s
ử dụng ph
ì ch
ế
ểm khác của cách tiếp cận
ức
ực hi
ịch đ
.
ỏ
n phép nhân trong
n log (n)
ử d
ư v
phép nhân đơn trong trư
ưởng đề xuất trong thực tế.
ệ
ả
n(2 + 3
ư
i 2n
ụng thu
ậy cĩ thể đảo ng
ỉ sử dụng phép nhân, phép
ương pháp l
ơ s
biến đổi Fourier nhanh
n bi
o. Trong t
ớc sau:
log(
n
ương pháp l
ử d
ở tốn học cho tin học
ến đ
ị tuyệt đối của từng
log(
n
hệ số).
phép nhân trong
ậ
ịnh nghịch đảo của
ụng đ
ổ
ý 1, vi
) phép nhân trong
t tốn FFT c
Ể
i Fourier, nhân
ất c
n)) phép nhân
ặp Newton
ịnh lý ph
ược mục đích,
ả
ộ phức tạp
ệc nhân các
p
ư
ặp Newton
log n
các phép
.
ược tr
ợc khi v
ờ
ần cĩ
phép
ần dư
ng
này là
.”
p.
ên
à
.
p
Nghiên cứu khoa học cơng nghệ
Tạp chí Nghiên cứu KH&CN quân sự, Số 59, 02 - 2019 191
Định lý 3 Cho f(X) = fn-1 X
n-1 + + f1X + f0, g(X) = gn-1 X
n-1 +• • •+ g1X+g0 là các
đa thức với hệ số nguyên, sao cho |fi|<B và |gi|<B. Nếu các số nguyên tố pi thỏa mãn các
điều kiện sau:
1
2 ,
1 ,
2 ,
3 2
i j
k
ii
i
p p
M p
nB p M
1 14 2mi ip r
khi 12 2m n và ir
Thì:
mod mod mod modf X g X f X g X M f X M g X M M
và trường pi cĩ thể sử dụng để nhân song song các đa thức f và g bằng sử dụng biến
đổi nhanh Fourier (Fast Fourier Transform - FFT).
Chứng minh: Chứng minh định lý này sẽ rất giống với chứng minh Định lý 1 vì tốn
tử mod M đồng cấu tự nhiên trên vành ℤ thì:
(f(X) mod M) (g(X) mod M) mod M = f(X)g(X) mod M.
Sử dụng Bổ đề 1 chúng ta cĩ được đẳng thức sau:
f(X) g(X) mod M = f(X) g(X).
Điều này cĩ nghĩa là phép nhân các đa thức g(X), f(X) ∈ Z [X] cho cùng kết quả như
nhân các đa thức g(X) mod M, f(X) mod M ∈ (ℤ/Mℤ) [X] miễn là các phần tử của vành
ℤ/Mℤ được biễu diễn bằng các số từ tập hợp:
1 1
,..., 1,0,1,..., .
2 2
M M
Giả định rằng M là tích của các số nguyên tố khác nhau pi, khi đĩ cĩ thể áp dụng định
lý phần dư Trung Hoa và ta cĩ được đẳng cấu sau:
ℤ/Mℤ ≃ p1 × • • • × pk .
Các đẳng cấu trên cĩ thể mở rộng thành đồng cấu vành đa thức:
(ℤ/Mℤ )[X] ≃ p1[X] × • • • × pk[X].
Điều này cĩ nghĩa là phép nhân trong vành (ℤ/Mℤ )[X] cĩ thể được thay thế bởi k
phép nhân trong các vành pi[X], và mỗi phép nhân trong chúng cĩ thể được thực hiện một
cách độc lập. Điều này cho phép chia tách các phép tính giữa k bộ xử lý (procesor) và thực
hiện chúng một cách song song. Ngồi ra, tất cả các số nguyên tố pi = 2
m + 1 ri + 1 được
chọn, sao cho phép nhân cĩ thể được thực hiện bằng thuật tốn FFT. Thực tế là mỗi trường
pi chứa nghiệm nguyên thủy với phần tử đơn vị bậc 2
m + 1.
Cách giải quyết được đề xuất trong định lý trên hiệu quả hơn rất nhiều so với phương
pháp tiêu chuẩn được trình bày trong phần trước. Để đảm bảo hiệu suất tối đa tính tốn cần
chọn các số nguyên tố pi cĩ thể chứa trong một thanh ghi của bộ xử lý. Điều này dễ dàng
thực hiện với các bộ xử lý 32 và 64 bit.
Giả sử bây giờ chúng ta đã tìm được k số nguyên tố pi cĩ cùng số bit và thỏa mãn giả
thuyết của Định lý 3. Đối với các số như vậy thì định lý sau là đúng:
Định lý 4. Cho trước hai đa thức hệ số nguyên bậc nhỏ hơn n, với giá trị tuyệt đối
từng hệ số nhỏ hơn B. Nếu các số nguyên tố pi thõa mãn điều kiện định lý 3 và ⌊log2(pi)⌋ =
⌊log2(pj)⌋, khi đĩ khi nhân các đa thức như vậy sử dụng thuật tốn FFT địi hỏi thực hiện
2 21 22 3logc k n kn n c k n phép nhân trong trường pi. Trong đĩ, c1, c2 là các
hằng số xác định.
Cơng nghệ thơng tin & Cơ sở tốn học cho tin học
Nguyễn Thị Thu Nga, “Về một phương pháp nhân đa thức biến đổi Fourier nhanh.” 192
Chứng minh: Vì ⌊log2(pi)⌋ = ⌊log2(pj)⌋ cho tất cả i,j; nên chúng ta cĩ thể giả định
rằng chi phí để thực hiện phép nhân trong mỗi phần tử trường Fpi là như nhau. Phép nhân
các đa thức sử dụng biến đổi Fourier nhanh FFT gồm ba bước sau:
1. Sự giảm các hệ số modulo địi hỏi phải thực hiện c1k
2n phép nhân trong trường pi.
Mỗi hệ số đa thức cĩ độ chính xác k liên quan đến số đo của số pi. Do đĩ, một hệ số duy
nhất cĩ thể được giảm bằng cách sử dụng (1∕2)c1k phép nhân trong trường pi (Thuật tốn
2). Bởi vì chúng ta cĩ hai đa thức như vậy, mỗi một trong số chúng đều cĩ n hệ số, và số
các số nguyên tố là k, thì tổng số phép nhân cần thiết bằng (1/2) c1.k.2.n.k = c1k
2n.
2. Chúng ta sử dụng thuật tốn nhân nhanh FFT trong các trường pi với i ∈ {1 ,. . . , k}:
(a) Biến đổi Fourier của hai đa thức bậc nhỏ hơn n địi hỏi phải thực hiện 2nlog(n)
phép nhân trong trường pi (các đa thức được biến đổi thành các vectơ với 2n hệ số),
(b) Việc nhân hai vectơ mà mỗi vectơ cĩ 2n hệ số địi hỏi thực hiện 2n phép nhân
trong trường pi,
(c) Biến đổi Fourier ngược đối với vector cĩ 2n hệ số cần nlog (n) phép nhân trong
trường pi.
3. Sử dụng định lý phần dư Trung Hoa cho phép tạo ra các hệ số của tích nhờ c2k
2n
phép nhân trong trường pi. Kết quả trên là do mỗi một lời giải của hệ phương trình x ≡ ai
mod pi cĩ thể được tạo nên nhờ sử dụng (1/2)c2k
2 phép nhân trong trường pi. Bởi vậy,
chúng ta phải tạo ra 2n hệ số, thì tổng số phép nhân cần thiết bằng (1/ 2)c2k
2 • 2n = c2k
2n.
Do đĩ, thuật tốn mơ tả trong Định lý 3 địi hỏi thực hiện:
c1k
2n + kn (2+3 log (n)) + c2k
2n
phép nhân trong trường pi.
Bây giờ chúng ta so sánh độ phức tạp tính tốn của các thuật tốn được mơ tả trong
các định lý 2 và 3. Để làm điều này, trước tiên chúng ta phải đưa vào một thước đo thống
nhất về độ phức tạp tính tốn của cả hai thuật tốn. Trong trường hợp này là số phép nhân
trong trường p. Chúng ta cĩ thể đưa ra kết luận sau:
- So sánh thuật tốn mới với phương pháp áp dụng phép biến đổi Fourier nhanh cả để
nhân các đa thức và nhân các số. Nếu chúng ta giả định rằng số pi chứa trong một thanh
ghi bộ xử lý, thì độ phức tạp tính tốn của thuật tốn nhân đa thức và các hệ số của nĩ nhờ
sử dụng phép biến đổi Fourier nhanh FFT khoảng:
O((n log n)(k log k)).
Cịn thuật tốn của chúng ta cĩ độ sự phức tạp tính tốn:
O(kn log n + k2n).
Giả sử rằng k = O(n), thì chúng ta thấy rằng thuật tốn dựa hồn tồn trên phép biến
đổi Fourier FFT nhanh hơn nhiều. Độ phức tạp tính tốn của nĩ là O(n2 log2n) trong khi
thuật tốn đề xuất hoạt động trong khoảng thời gian O(n3). Giả sử rằng các hệ số đa thức
nhỏ hơn và k= O(log n). Khi đĩ, thuật tốn dựa hồn tồn trên phép biến đổi Fourier FFT
nhanh cĩ sự phức tạp tính tốn O(n log2n log log n) trong khi phương pháp đề xuất cĩ
phức tạp tiệm cận O(n log2 n). Vì vậy, thuật tốn hiệu quả nhân nhanh đa thức đã được
phát triển.
Hệ quả 1. Nếu k = O(log n), thì độ phức tạp tính tốn của thuật tốn đề xuất nhỏ hơn
độ phức tạp tính tốn của thuật tốn nhân chỉ dựa trên việc sử dụng phép biến đổi Fourier
FFT và bằng: O(n log2 n),
Trong khi độ phức tạp tính tốn của thuật tốn dựa trên phép biến đổi FFT khoảng:
O(n log2 n log log n).
Nghiên c
Tạp chí Nghi
trong trư
hiệu quả đối với các giá trị bé của
64
hợp biến đổi Fourier nhanh với định lý phần d
tốc độ tính tốn. Để so sánh kết quả các phép đo, ta cũng xác định t
tốn nhân đa th
thu
đổi Fourier v
2 trình bày gi
trên hồnh đ
Như đ
Chúng tơi đ
-bit s
ật tốn cổ điển với thời gian thực hiện tr
Hình 1.
ử dụng th
ứu khoa học cơng nghệ
ã minh ch
ờng hợp hệ số của các đa thức cĩ giá trị cỡ v
ên c
à đ
ải thích bằng đồ họa của các kết quả thu đ
ộ v
So sánh t
ứu KH&CN
4. K
ã th
ư vi
ức bằng ph
ịnh lý phần d
à tung đ
ẾT QUẢ THỰC HIỆN TR
ứng trong các thực nghiệm, thuật tốn đề xuất cĩ
ực hiện thuật tốn nhân nhanh đa thức tr
ện OpenMP. Các kết quả thời gian thu đ
ốc độ thực hiện các thuật tốn nhân các đa thức với hệ số 256 bit
ộ đ
Bảng 1.
quân s
ương pháp c
ư Trung Hoa đư
ược biểu diễn trong thang lơgarít.
ự, Số
k
So sánh phương pháp nhân c
và
59
n.
ổ điển. Các kết quả so sánh thời gian tính bằng
, 02
ên các b
- 20
ư Trung Hoa đ
ợc tr
nhân hai đa th
19
ÊN B
ình b
ộ vi xử lý đa l
ài trăm bit. Cĩ ngh
Ộ VI XỬ LÝ 64 BIT
ày trong các
ư
ợc. Cần l
ức bậc n/2
ên b
ược chứng minh rằng nhờ kết
ã làm t
ổ điển với thuật tốn đề xuất
õi (4 nhân) d
ộ vi xử lý
ăng m
hời gian thực hiện thuật
b
ưu
ảng 1 v
ý r
- 1 v
ưu đi
ĩa l
ột cách đáng kể
ằng cả hai tọa độ
ới hệ số 256 bit
à
v
à 2. Hình 1 và
ểm r
ứng dụng cĩ
ới kiến trúc
ựa tr
ên bi
193
õ ràng
.
ến
.
194
Hình 2.
xu
và s
chu
(FFT) nên s
độ chính xác của chúng, khi đĩ tính tốn đ
thừa với sự rút gọn modulo các hệ số đa thức.
thự
nhân các h
trên đ
Bài báo đ
ất dựa tr
ử dụng định lý phần d
ẩn lập tr
Thu
Các k
c ti
ễn cao. Thu
ịnh lý phần d
Nguy
So sánh t
ên ý t
ật tốn dựa tr
ết quả kiểm định,
ệ
ễn Thị Thu Nga
ình song song m
ử dụng trong tr
số
ã phân tích chi ti
ư
trong các trư
ốc độ thực hiện của các thuật tốn nhân đa thức với các hệ số 512 bit
ởng t
ật tốn đ
ư T
ận dụng tối đa khả năng tính tốn của bộ vi xử lý đa nhân hiện đại
ên đ
rung Hoa (CRT) và bi
,
ư Trung Hoa. Thu
ở OpenMP.
ịnh lý phần d
ường hợp số l
đánh giá thu đư
ề
ờ
“Về một ph
Bảng 2.
ết về ph
xuấ
ng
t đ
p
5. K
ã đư
lớn. Kết quả thực nghiệm chỉ ra rằng
ương pháp nhân đa th
So sánh phương pháp c
nhâ
ương pháp nhân đa th
ư
ợ
Cơng ngh
n hai đa th
ẾT LUẬN
ư Trung Hoa (CRT) và bi
ợng các hệ số của đa thức lớn h
ư
c so sánh v
ật tốn tr
ợc thực hiện tr
ợc cho th
ến đổi Fourier nhanh (FFT)
ệ thơng tin & C
ức bậc n/2
ên đư
ấy phương pháp đ
ới việ
ức
ổ điển với thuật tốn đề xuất
ức v
ợc thực hiện bằng sử dụng
ên các đa th
c th
à chu
ực hi
ơ s
biến đổi Fourier nhanh
- 1 v
ến đổi Fo
ở tốn học cho tin học
ới các hệ số 512 bit
ỗi lũy thừa đ
ện thu
ơn nhi
ức hoặc chuỗi lũy
ề xu
ấ
ật tốn c
thu
đề xuất nhanh
urier nhanh
t cĩ ý ngh
ật tốn dựa
ư
ều so với
ợc đề
ổ đi
.”
.
.
ĩa
ển
Nghiên cứu khoa học cơng nghệ
Tạp chí Nghiên cứu KH&CN quân sự, Số 59, 02 - 2019 195
hơn nhiều lần, ngay cả khi khơng thực hiện nhân song song. So sánh với thuật tốn nhân
đa thức bằng phương pháp cổ điển với độ phức tạp O (n2) (Bảng 1 và 2) cũng chỉ rõ ưu
điểm tuyệt đối của thuật tốn đề xuất. Cĩ thể kết luận rằng các thuật tốn đề xuất đã tạo ra
một phương pháp mới hiệu quả nhân nhanh các đa thức ứng dụng trong thực tiễn; đặc biệt
là trong các ứng dụng mật mã.
Bài báo này được hỗ trợ một phần bởi đề tài PTNTĐ17.01 từ Phịng thí nghiệm
Trọng điểm về Cơng nghệ Mạng và Đa phương tiện, Viện Hàn lâm KH&CN Việt Nam.
TÀI LIỆU THAM KHẢO
[1]. K. Lauter, “Computing modular polynomials”, Journal of Computational
Mathematics, pp. 195–204, 2005.
[2]. A. Chmielowiec, “Szybka transformata Fouriera w kryptografii klucza publicznego”.
Centrum Modelowania Matematycznego Sigma, 3 września 2008
[3]. A. Enge, “Computing modular polynomials in quasi-linear time”, Math. Comp., vol.
78, pp. 1809–1824, 2009.
[4]. L. Garcia, “Can Schưnhage multiplication speed up the RSA encryption or
decryption?”, University of Technology, Darmstadt, 2005.
[5]. A. Grama, A. Gupta, G. Karypis, V. Kumar, “Introduction to Parallel Computing”,
Addison Wesley, 2003.
[6]. D. Harvey, “A cache-friendly truncated FFT”, Theoretical Computer Science, vol.
410, pp. 2649–2658, 2014.
[7]. P. Montgomery, “Modular Multiplication Without Trial Division”, Mathematics of
Computation, vol. 44, str. 519–521, 1985.
[8]. J. van der Hoeven, “The truncated Fourier transform and applications”, in: ISSAC
2014, ACM, pp. 290–296, 2014.
ABSTRACT
A METHOD OF MULTIPLYING POLYNOMIALS BASED ON CHINESE
REMAINDER THEOREM AND FAST FOURIER TRANSFORM
This paper presents an efficient method of multiplying the polynomials and
power series with the integer coefficients in the generation of parameters for public
key cryptographic systems, which effectively speed up the implementation of
algorithms in real applications. This approach adapts them to parallel computing to
maximize the computing power of modern microprocessors. The combination of the
Chinese Remainder Theorem and the Fast Fourier Transform made it possible
develop a high effective multiplication method.
Keywords: Multiply polynomial in parallel; FFT- Fast Fourier Transform; CRT- Chinese Remainder Theorem.
Nhận bài ngày 25 tháng 10 năm 2018
Hồn thiện ngày 21 tháng 11 năm 2018
Chấp nhận đăng ngày 19 tháng 02 năm 2019
Địa chỉ: Viện Cơng nghệ thơng tin, Viện Hàn lâm Khoa học và Cơng nghệ Việt Nam.
* Email: ngant1983@hotmail.com.
Các file đính kèm theo tài liệu này:
- 21_nga_0599_2150323.pdf