Bài viết 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 toán trong các ứng dụng thực tế.
Trang 1Nghiê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 toá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 toán song song cho phép khai thác tối đa khả năng tính toá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 toán mới cho phép nhân các số nguyên lớn Kể từ đó các thuật toá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 toá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 toá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 toán cụ thể Mặc dù FFT có một lợi thế so với các thuật toá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 Ngoà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 toá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 toán trong thuật toá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 toán ký hoặc giải mã Bài báo trình bày một thuật toá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à
t 1 = a • b
t 2 = t 1 mod R
t 3 = t 2 • q
t 4 = t 3 mod R
t 5 = t 4 •M
t = (t 1 + t 5 )/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 toá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
R 1 = <{0,1 , M - 1}, 0, 1, + , − , • >,
R 2 = <{0,1, , M-1}, 0, R mod M, + , - , ⊙ >
Trang 2và được định nghĩa như sau:
a ± b = a ± b mod M
a • b = ab mod M
a ⊙ b = abR -1
mod M, thì R 1 và R 2 đẳng cấu cùng nhau
Chứng minh: Chúng ta định nghĩa biến đổi h: R 1 → R 2 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 Để hoà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) = f n-1 X n-1 + • • • + f 1 X + f 0∈ ℤ[X] và M ∈ℤ
Chúng ta định nghĩa f(X) mod M như sau:
f(X) mod M = (f n-1 mod M)X n−1 + • • • + (f 0 mod M),
i
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) = f n-1 X n-1 + … + f 1 X + f 0 , g(X) = g n-1 X n-1 + • • •+ g 1 X+g 0 là các
đa thức có hệ số nguyên, sao cho |f i | <B và |g i | <B với i = 0, 1 , , n - 1 Nếu số nguyên
M thỏa mãn điều kiện:
2nB 2 <M Thì f (X)g(X) mod M = f(X)g(X)
Chứng minh: Nếu f(X)g(X) = h(X) = h 2n-2 X 2n-2 + • • • + h 1 X + h 0 thì
h X f X g X
1 1
1
1
Bởi vì | f i | < B và | g i | < B nên chúng ta có
với i từ 0 đến n-1
với i từ
0 đến n-1
Điều đó có nghĩa là |h i |<nB2 với mọi i từ 0 đến 2n - 2 Nếu M>2nB 2 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
Trang 3Nghiê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) = f n-1 X n-1 + … + f 1 X + f 0 , g(X) = g n-1 X n-1 +• • •+ g 1 X+g 0 là các
đa thức có hệ số nguyên, sao cho |f i | <B và |g i | <B| Nếu số nguyên tố p thỏa mãn các điều
kiện sau:
(1) 2nB 2 <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 toán FFT
Chứng minh: Bởi vì toá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, ,
Số nguyên tố có dạng p = 2 m+1r + 1 được chọn khi sử dụng thuật toá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 toá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 toá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 toán,
2 Loại bỏ lỗi làm tròn, được đặc trưng bởi các phép toá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 toá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 toá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 toán nhân đa thức Thông thường, bài toá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 toá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 toá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 toán cổ điển để tính toá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 toán dựa trên đường cong elliptic (FIPS 186-3 và ANSI X509.62)
Trang 4các vectơ thu đư
toán này t
của thuật toá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ác vectơ thu đư
toán này t
ủa thuật toán dựa tr
Đ
ệ số nhỏ h
đa thức tr
trong trư
Ch
1 Bi
trường
2 Nhân các t
3 Bi
Đi
(2+3
Các thu
vành các chu
chỉ khi hệ số của nó có số mũ thấp nhất bằng 1 hoặc
cho các vành (padded ring) cho phép chúng ta nhanh chóng xác đ
chuỗi Ph
ộng v
ặ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
ằng nhi
khả năng phân chia tính toán trong trư
trước hết phải t
Việc nhân các
các vectơ thu đư
toán này t
ủa thuật toán dựa tr
Định lý 2
ệ số nhỏ h
ức tr
trong trư
Chứng minh:
1 Bi
ng
2 Nhân các t
3 Bi
Điề
2+3 log (
Các thu
vành các chu
ỉ khi hệ số của nó có số mũ thấp nhất bằng 1 hoặc
cho các vành (padded ring) cho phép chúng ta nhanh chóng xác đ
ỗi Ph
ộng và tr
ặp Nếu chuỗi lũy thừa có tính nghịch đảo có dạng:
thì giao th
Thuật toán 1.
Để gi
Trung Hoa Cách ti
ng nhi
năng phân chia tính toán trong trư
ớc hết phải t
ệc nhân các
các vectơ thu đư
toán này tốn kém nh
ủa thuật toán dựa tr
ịnh lý 2
ệ số nhỏ h
ức trên b
trong trường h
ứng minh:
1 Biến đổi Fourier của hai đa thức có bậc bé h
p (chúng ta bi
2 Nhân các t
3 Biến đổi Fourier ng
ều này có ngh
log (
Các thu
vành các chu
ỉ khi hệ số của nó có số mũ thấp nhất bằng 1 hoặc
cho các vành (padded ring) cho phép chúng ta nhanh chóng xác đ
ỗi Phương pháp
à trừ chuỗi Để biến đổi ng
ặp Nếu chuỗi lũy thừa có tính nghịch đảo có dạng:
thì giao thức sau cho
ật toán 1.
giảm đ
Trung Hoa Cách ti
ng nhiều phép nhân nh
năng phân chia tính toán trong trư
ớc hết phải t
ệc nhân các
các vectơ thu đư
n kém nh
ủa thuật toán dựa tr
ịnh lý 2
ệ số nhỏ hơn B N
ên bằng cách sử dụng thuật toán FFT cần thực hiện
ng h
ứng minh:
ến đổi Fourier của hai đa thức có bậc bé h
(chúng ta bi
2 Nhân các t
ến đổi Fourier ng
u này có ngh
log (n)) phép nhân trong trư
Các thuật toán nhân đ
vành các chuỗi lũy
ỉ khi hệ số của nó có số mũ thấp nhất bằng 1 hoặc
cho các vành (padded ring) cho phép chúng ta nhanh chóng xác đ
ương pháp
ừ chuỗi Để biến đổi ng
ặp Nếu chuỗi lũy thừa có tính nghịch đảo có dạng:
ức sau cho
ật toán 1.
m đ
Trung Hoa Cách ti
u phép nhân nh
năng phân chia tính toán trong trư
ớc hết phải t
ệc nhân các
các vectơ thu đượ
n kém nh
ủa thuật toán dựa tr
ịnh lý 2 Cho trư
ơn B N
ằng cách sử dụng thuật toán FFT cần thực hiện
ng hữu h
ứng minh:
ến đổi Fourier của hai đa thức có bậc bé h
(chúng ta bi
2 Nhân các t
ến đổi Fourier ng
u này có ngh
)) phép nhân trong trư
ật toán nhân đ
ỗi lũy
ỉ khi hệ số của nó có số mũ thấp nhất bằng 1 hoặc
cho các vành (padded ring) cho phép chúng ta nhanh chóng xác đ
ương pháp
ừ chuỗi Để biến đổi ng
ặp Nếu chuỗi lũy thừa có tính nghịch đảo có dạng:
ức sau cho
ật toán 1 Đ
3 S PHÂN CHIA TÍNH TOÁN GI
m độ ph
Trung Hoa Cách ti
u phép nhân nh
năng phân chia tính toán trong trư
ớc hết phải tìm ra các s
ệc nhân các đa th
ợc và th
n kém nh
ủa thuật toán dựa tr
Cho trư
ơn B Nếu số nguy
ằng cách sử dụng thuật toán FFT cần thực hiện
u hạn
ứng minh: M
ến đổi Fourier của hai đa thức có bậc bé h
(chúng ta bi
2 Nhân các tọa đ
ến đổi Fourier ng
u này có ngh
)) phép nhân trong trư
ật toán nhân đ
ỗi lũy th
ỉ khi hệ số của nó có số mũ thấp nhất bằng 1 hoặc
cho các vành (padded ring) cho phép chúng ta nhanh chóng xác đ
ương pháp
ừ chuỗi Để biến đổi ng
ặp Nếu chuỗi lũy thừa có tính nghịch đảo có dạng:
ức sau cho
Đảo ng
3 S PHÂN CHIA TÍNH TOÁN GI
phứ Trung Hoa Cách tiếp c
u phép nhân nh
năng phân chia tính toán trong trư
ìm ra các s
đa th
c và th
n kém nhất là phép nhân trong trư
ủa thuật toán dựa trên s
Cho trư
ếu số nguy ằng cách sử dụng thuật toán FFT cần thực hiện
n p
Một phép nhân FFT (đ
ến đổi Fourier của hai đa thức có bậc bé h
(chúng ta biến đổi mỗi một đa thức th
a độ
ến đổi Fourier ng
u này có nghĩa l
)) phép nhân trong trư
ật toán nhân đ
thừa với các hệ số nguy
ỉ khi hệ số của nó có số mũ thấp nhất bằng 1 hoặc
cho các vành (padded ring) cho phép chúng ta nhanh chóng xác đ
ương pháp Newton tính toán ngh
ừ chuỗi Để biến đổi ng
ặp Nếu chuỗi lũy thừa có tính nghịch đảo có dạng:
ức sau cho phép tìm ngh
ảo ng
3 SỬ DỤNG ĐỊNH LÝ PHẦN D PHÂN CHIA TÍNH TOÁN GI
ức tạ
p cậ
u phép nhân nh
năng phân chia tính toán trong trư
ìm ra các s
đa thức bao g
c và thự
t là phép nhân trong trư
ên số phép nhân cần thiết theo modulo Cho trước hai đa thức có bậc nhỏ h
ếu số nguy ằng cách sử dụng thuật toán FFT cần thực hiện
p
ột phép nhân FFT (đ
ến đổi Fourier của hai đa thức có bậc bé h
ến đổi mỗi một đa thức th
ộ củ
ến đổi Fourier ngư
ĩa là m )) phép nhân trong trư
ật toán nhân đ
ừa với các hệ số nguy
ỉ khi hệ số của nó có số mũ thấp nhất bằng 1 hoặc
cho các vành (padded ring) cho phép chúng ta nhanh chóng xác đ
Newton tính toán ngh
ừ chuỗi Để biến đổi ng
ặp Nếu chuỗi lũy thừa có tính nghịch đảo có dạng:
phép tìm ngh
ảo ngược chuỗi lũy thừa bằng cách sử dụng ph
Ử DỤNG ĐỊNH LÝ PHẦN D PHÂN CHIA TÍNH TOÁN GI
ạp tính toán c
ận này s
u phép nhân nhỏ
năng phân chia tính toán trong trư
ìm ra các số nguy
c bao g
ực hi
t là phép nhân trong trư
ố phép nhân cần thiết theo modulo
ớc hai đa thức có bậc nhỏ h
ếu số nguy ằng cách sử dụng thuật toán FFT cần thực hiện
ột phép nhân FFT (đ
ến đổi Fourier của hai đa thức có bậc bé h
ến đổi mỗi một đa thức th
ủa hai vectơ v
ến đổi Fourier ngược của vector với
à mộ )) phép nhân trong trư
ật toán nhân được đề xuất có thể sử dụng để tính toán biến đổi ng
ừa với các hệ số nguy
ỉ khi hệ số của nó có số mũ thấp nhất bằng 1 hoặc
cho các vành (padded ring) cho phép chúng ta nhanh chóng xác đ
Newton tính toán ngh
ừ chuỗi Để biến đổi ng
ặp Nếu chuỗi lũy thừa có tính nghịch đảo có dạng:
phép tìm ngh
ợc chuỗi lũy thừa bằng cách sử dụng ph
Ử DỤNG ĐỊNH LÝ PHẦN D PHÂN CHIA TÍNH TOÁN GI
p tính toán c
n này s hơn trong trư năng phân chia tính toán trong trư
ố nguy
c bao g
c hiện phép bi
t là phép nhân trong trư
ố phép nhân cần thiết theo modulo
ớc hai đa thức có bậc nhỏ h
ếu số nguyên t ằng cách sử dụng thuật toán FFT cần thực hiện
ột phép nhân FFT (đ
ến đổi Fourier của hai đa thức có bậc bé h
ến đổi mỗi một đa thức th
a hai vectơ v
ợc của vector với
ột phép nhân đơn hai đa th )) phép nhân trong trư
ợc đề xuất có thể sử dụng để tính toán biến đổi ng
ừa với các hệ số nguy
ỉ khi hệ số của nó có số mũ thấp nhất bằng 1 hoặc
cho các vành (padded ring) cho phép chúng ta nhanh chóng xác đ
Newton tính toán ngh
ừ chuỗi Để biến đổi ng
ặp Nếu chuỗi lũy thừa có tính nghịch đảo có dạng:
phép tìm ngh
ợc chuỗi lũy thừa bằng cách sử dụng ph
Ử DỤNG ĐỊNH LÝ PHẦN D PHÂN CHIA TÍNH TOÁN GI
p tính toán c
n này sẽ hơn trong trư năng phân chia tính toán trong trư
ố nguyên t
c bao gồm các phép toán sau: Th
n phép bi
t là phép nhân trong trư
ố phép nhân cần thiết theo modulo
ớc hai đa thức có bậc nhỏ h
ên tố ằng cách sử dụng thuật toán FFT cần thực hiện
ột phép nhân FFT (đ
ến đổi Fourier của hai đa thức có bậc bé h
ến đổi mỗi một đa thức th
a hai vectơ v
ợc của vector với
t phép nhân đơn hai đa th )) phép nhân trong trườ
ợc đề xuất có thể sử dụng để tính toán biến đổi ng
ừa với các hệ số nguy
ỉ khi hệ số của nó có số mũ thấp nhất bằng 1 hoặc
cho các vành (padded ring) cho phép chúng ta nhanh chóng xác đ
Newton tính toán ngh
ừ chuỗi Để biến đổi ngược chuỗi có
ặp Nếu chuỗi lũy thừa có tính nghịch đảo có dạng:
phép tìm nghịch đảo của nó với n hệ số:
ợc chuỗi lũy thừa bằng cách sử dụng ph
Ử DỤNG ĐỊNH LÝ PHẦN D PHÂN CHIA TÍNH TOÁN GI
p tính toán c
cho phép chúng ta thay th hơn trong trư
năng phân chia tính toán trong trư
ên t
m các phép toán sau: Th
n phép bi
t là phép nhân trong trư
ố phép nhân cần thiết theo modulo
ớc hai đa thức có bậc nhỏ h
ố p th
ằng cách sử dụng thuật toán FFT cần thực hiện
ột phép nhân FFT (đ
ến đổi Fourier của hai đa thức có bậc bé h
ến đổi mỗi một đa thức th
a hai vectơ v
ợc của vector với
t phép nhân đơn hai đa th ờng
ợc đề xuất có thể sử dụng để tính toán biến đổi ng
ừa với các hệ số nguy
ỉ khi hệ số của nó có số mũ thấp nhất bằng 1 hoặc
cho các vành (padded ring) cho phép chúng ta nhanh chóng xác đ
Newton tính toán ngh
ợc chuỗi có
ặp Nếu chuỗi lũy thừa có tính nghịch đảo có dạng:
ịch đảo của nó với n hệ số:
ợc chuỗi lũy thừa bằng cách sử dụng ph
Ử DỤNG ĐỊNH LÝ PHẦN D PHÂN CHIA TÍNH TOÁN GI
p tính toán của thu
cho phép chúng ta thay th hơn trong trư
năng phân chia tính toán trong trườ
ên tố p
m các phép toán sau: Th
n phép biế
t là phép nhân trong trư
ố phép nhân cần thiết theo modulo
ớc hai đa thức có bậc nhỏ h
thỏa m ằng cách sử dụng thuật toán FFT cần thực hiện
ột phép nhân FFT (đ
ến đổi Fourier của hai đa thức có bậc bé h
ến đổi mỗi một đa thức th
a hai vectơ với 2
ợc của vector với
t phép nhân đơn hai đa th
ng p, Đi
ợc đề xuất có thể sử dụng để tính toán biến đổi ng
ừa với các hệ số nguy
ỉ khi hệ số của nó có số mũ thấp nhất bằng 1 hoặc
cho các vành (padded ring) cho phép chúng ta nhanh chóng xác đ
Newton tính toán ngh
ợc chuỗi có
ặp Nếu chuỗi lũy thừa có tính nghịch đảo có dạng:
ịch đảo của nó với n hệ số:
ợc chuỗi lũy thừa bằng cách sử dụng ph
Ử DỤNG ĐỊNH LÝ PHẦN D PHÂN CHIA TÍNH TOÁN GI
a thu cho phép chúng ta thay th hơn trong trường
năng phân chia tính toán trong trường
p i cho phép th
m các phép toán sau: Th
ến đ
t là phép nhân trong trư
ố phép nhân cần thiết theo modulo
ớc hai đa thức có bậc nhỏ h
ỏa m ằng cách sử dụng thuật toán FFT cần thực hiện
ột phép nhân FFT (đơn) riêng bi
ến đổi Fourier của hai đa thức có bậc bé h
ến đổi mỗi một đa thức th
i 2n
ợc của vector với
t phép nhân đơn hai đa th
, Đi
ợc đề xuất có thể sử dụng để tính toán biến đổi ng
ừa với các hệ số nguyên M
ỉ khi hệ số của nó có số mũ thấp nhất bằng 1 hoặc
cho các vành (padded ring) cho phép chúng ta nhanh chóng xác đ
Newton tính toán nghịch đảo nhanh v
ợc chuỗi có
ặp Nếu chuỗi lũy thừa có tính nghịch đảo có dạng:
ịch đảo của nó với n hệ số:
ợc chuỗi lũy thừa bằng cách sử dụng ph
Ử DỤNG ĐỊNH LÝ PHẦN D PHÂN CHIA TÍNH TOÁN GI
a thuật toán trên, chúng ta s cho phép chúng ta thay th
ng
ng p cho phép th
m các phép toán sau: Th
n đổi Fourier ngh
t là phép nhân trong trường
ố phép nhân cần thiết theo modulo
ớc hai đa thức có bậc nhỏ h
ỏa mãn các ằng cách sử dụng thuật toán FFT cần thực hiện
ơn) riêng bi
ến đổi Fourier của hai đa thức có bậc bé h
ến đổi mỗi một đa thức th
hệ
ợc của vector với 2n
t phép nhân đơn hai đa th
, Điều cần CM
ợc đề xuất có thể sử dụng để tính toán biến đổi ng
ên M
ỉ khi hệ số của nó có số mũ thấp nhất bằng 1 hoặc
cho các vành (padded ring) cho phép chúng ta nhanh chóng xác đ
ịch đảo nhanh v
ợc chuỗi có
ặp Nếu chuỗi lũy thừa có tính nghịch đảo có dạng:
n
j
ịch đảo của nó với n hệ số:
ợc chuỗi lũy thừa bằng cách sử dụng ph
Ử DỤNG ĐỊNH LÝ PHẦN D PHÂN CHIA TÍNH TOÁN GI
t toán trên, chúng ta s cho phép chúng ta thay th
p M
p gi
cho phép th
m các phép toán sau: Th
i Fourier ngh
ng
ố phép nhân cần thiết theo modulo
ớc hai đa thức có bậc nhỏ h
ãn các ằng cách sử dụng thuật toán FFT cần thực hiện
ơn) riêng bi
ến đổi Fourier của hai đa thức có bậc bé h
ến đổi mỗi một đa thức thành m
số yêu c
2n hệ số đ
t phép nhân đơn hai đa th
ều cần CM
ợc đề xuất có thể sử dụng để tính toán biến đổi ng
ên Một chuỗi nh
ỉ khi hệ số của nó có số mũ thấp nhất bằng 1 hoặc
cho các vành (padded ring) cho phép chúng ta nhanh chóng xác đ
ịch đảo nhanh v
ợc chuỗi có n h
ặp Nếu chuỗi lũy thừa có tính nghịch đảo có dạng:
1
0
n
j
ịch đảo của nó với n hệ số:
ợc chuỗi lũy thừa bằng cách sử dụng ph
Ử DỤNG ĐỊNH LÝ PHẦN D PHÂN CHIA TÍNH TOÁN GIỮA CÁC BỘ VI XỬ LÝ
t toán trên, chúng ta s cho phép chúng ta thay th
Một giữa các bộ vi xử lý Để đạt đ cho phép th
m các phép toán sau: Th
i Fourier ngh
p Do đó, chúng ta đánh giá đ
ố phép nhân cần thiết theo modulo
ớc hai đa thức có bậc nhỏ hơn n, trong đó giá tr
ãn các đi ằng cách sử dụng thuật toán FFT cần thực hiện
ơn) riêng bi
ến đổi Fourier của hai đa thức có bậc bé hơn
ành m yêu c
ệ số đ
t phép nhân đơn hai đa th
ều cần CM
ợc đề xuất có thể sử dụng để tính toán biến đổi ng
ột chuỗi nh
ỉ khi hệ số của nó có số mũ thấp nhất bằng 1 hoặc
-cho các vành (padded ring) -cho phép chúng ta nhanh chóng xác đ
ịch đảo nhanh v
hệ số chúng ta phải thực hiện
ặp Nếu chuỗi lũy thừa có tính nghịch đảo có dạng:
1
0
j
ịch đảo của nó với n hệ số:
ợc chuỗi lũy thừa bằng cách sử dụng ph
Ử DỤNG ĐỊNH LÝ PHẦN DƯ TRUNG HOA Đ
ỮA CÁC BỘ VI XỬ LÝ
t toán trên, chúng ta s cho phép chúng ta thay th
ột ưu đi
ữa các bộ vi xử lý Để đạt đ cho phép thực hiện ý t
m các phép toán sau: Th
i Fourier ngh
Do đó, chúng ta đánh giá đ
ố phép nhân cần thiết theo modulo
ơn n, trong đó giá tr điều kiện của Định l ằng cách sử dụng thuật toán FFT cần thực hiện
ơn) riêng biệt gồm ba b
ơn n
ành một vector có 2 yêu cầ
ệ số đòi h
t phép nhân đơn hai đa thứ
ều cần CM
ợc đề xuất có thể sử dụng để tính toán biến đổi ng
ột chuỗi nh -1 S cho các vành (padded ring) cho phép chúng ta nhanh chóng xác đ
ịch đảo nhanh v
ệ số chúng ta phải thực hiện
,
j
ịch đảo của nó với n hệ số:
ợc chuỗi lũy thừa bằng cách sử dụng ph
Ư TRUNG HOA Đ
ỮA CÁC BỘ VI XỬ LÝ
t toán trên, chúng ta s cho phép chúng ta thay th
ưu đi
ữa các bộ vi xử lý Để đạt đ
ực hiện ý t
m các phép toán sau: Th
i Fourier ngh
Do đó, chúng ta đánh giá đ
ố phép nhân cần thiết theo modulo p
ơn n, trong đó giá tr
ều kiện của Định l ằng cách sử dụng thuật toán FFT cần thực hiện
ệt gồm ba b đòi h
ột vector có 2
ầu 2
òi hỏi
ức s
ợc đề xuất có thể sử dụng để tính toán biến đổi ng
ột chuỗi nh
1 Sử dụng ph cho các vành (padded ring) cho phép chúng ta nhanh chóng xác đ
ịch đảo nhanh vì ch
ệ số chúng ta phải thực hiện
,
ịch đảo của nó với n hệ số:
ợc chuỗi lũy thừa bằng cách sử dụng ph
Ư TRUNG HOA Đ
ỮA CÁC BỘ VI XỬ LÝ
t toán trên, chúng ta s cho phép chúng ta thay thế
ưu điểm khác của cách tiếp cận
ữa các bộ vi xử lý Để đạt đ
ực hiện ý t
m các phép toán sau: Thực hi
i Fourier nghịch đ
Do đó, chúng ta đánh giá đ
p
ơn n, trong đó giá tr
ều kiện của Định l ằng cách sử dụng thuật toán FFT cần thực hiện
ệt gồm ba b
òi hỏ
ột vector có 2
u 2n phép nhân trong
ỏi n log (n)
c sử d
ợc đề xuất có thể sử dụng để tính toán biến đổi ng
ột chuỗi như v
ử dụng ph cho các vành (padded ring) cho phép chúng ta nhanh chóng xác đ
ì ch
ệ số chúng ta phải thực hiện
,
ịch đảo của nó với n hệ số:
ợc chuỗi lũy thừa bằng cách sử dụng ph
Ư TRUNG HOA Đ
ỮA CÁC BỘ VI XỬ LÝ
t toán trên, chúng ta s
phép nhân đơn trong trư
ểm khác của cách tiếp cận
ữa các bộ vi xử lý Để đạt đ
ực hiện ý tưởng đề xuất trong thực tế
c hiệ
ch đả
Do đó, chúng ta đánh giá đ
ơn n, trong đó giá tr
ều kiện của Định l
n(2 + 3
ệt gồm ba bư
ỏi 2n
ột vector có 2
phép nhân trong
n log (n)
dụng thu
ợc đề xuất có thể sử dụng để tính toán biến đổi ng
ư vậy có thể đảo ng
ử dụng ph cho các vành (padded ring) cho phép chúng ta nhanh chóng xác đ
ì chỉ sử dụng phép nhân, phép
ệ số chúng ta phải thực hiện
ợc chuỗi lũy thừa bằng cách sử dụng phương pháp l
Ư TRUNG HOA Đ
ỮA CÁC BỘ VI XỬ LÝ
t toán trên, chúng ta s
phép nhân đơn trong trư
ểm khác của cách tiếp cận
ữa các bộ vi xử lý Để đạt đ
ởng đề xuất trong thực tế
ện bi
ảo Trong t
Do đó, chúng ta đánh giá đ
ơn n, trong đó giá tr
ều kiện của Định l
2 + 3
ước sau:
2nlog(
ột vector có 2n
phép nhân trong
n log (n)
ng thu
ợc đề xuất có thể sử dụng để tính toán biến đổi ng
ậy có thể đảo ng
ử dụng phương pháp l cho các vành (padded ring) cho phép chúng ta nhanh chóng xác đ
ỉ sử dụng phép nhân, phép
ệ số chúng ta phải thực hiện
ương pháp l
Ư TRUNG HOA Đ
ỮA CÁC BỘ VI XỬ LÝ
t toán trên, chúng ta sử d
phép nhân đơn trong trư
ểm khác của cách tiếp cận
ữa các bộ vi xử lý Để đạt đ
ởng đề xuất trong thực tế
n biến đ
o Trong t
Do đó, chúng ta đánh giá đ
ơn n, trong đó giá trị tuyệt đối của từng
ều kiện của Định l
2 + 3 log(
ớc sau:
log(n
hệ số)
phép nhân trong
n log (n) phép nhân trong
ng thuậ
ợc đề xuất có thể sử dụng để tính toán biến đổi ng
ậy có thể đảo ng ương pháp l cho các vành (padded ring) cho phép chúng ta nhanh chóng xác định nghịch đảo của
ỉ sử dụng phép nhân, phép
ệ số chúng ta phải thực hiện
ương pháp l
Ư TRUNG HOA Đ
ỮA CÁC BỘ VI XỬ LÝ
dụng đ phép nhân đơn trong trư
ểm khác của cách tiếp cận
ữa các bộ vi xử lý Để đạt đ
ởng đề xuất trong thực tế
n đổ
o Trong t
Do đó, chúng ta đánh giá đ
ị tuyệt đối của từng
ều kiện của Định lý 1, vi
log(
ớc sau:
n) phép nhân trong
ệ số)
phép nhân trong
hép nhân trong
ật toán FFT c
ợc đề xuất có thể sử dụng để tính toán biến đổi ng
ậy có thể đảo ng ương pháp l ịnh nghịch đảo của
ỉ sử dụng phép nhân, phép
ệ số chúng ta phải thực hiện
ương pháp l
Ư TRUNG HOA ĐỂ
ỮA CÁC BỘ VI XỬ LÝ
ng đ phép nhân đơn trong trư
ểm khác của cách tiếp cận
ữa các bộ vi xử lý Để đạt đ
ởng đề xuất trong thực tế
ổi Fourier, nhân
o Trong tất c
Do đó, chúng ta đánh giá đ
ị tuyệt đối của từng
ý 1, vi
log(n)) phép nhân
) phép nhân trong
ệ số)
phép nhân trong
hép nhân trong
t toán FFT c
ợc đề xuất có thể sử dụng để tính toán biến đổi ng
ậy có thể đảo ng ương pháp l ịnh nghịch đảo của
ỉ sử dụng phép nhân, phép
ệ số chúng ta phải thực hiện
ương pháp lặp Newton
ng định lý ph phép nhân đơn trong trư
ểm khác của cách tiếp cận
ữa các bộ vi xử lý Để đạt được mục đích,
ởng đề xuất trong thực tế
i Fourier, nhân
t cả
Do đó, chúng ta đánh giá độ phức tạp
ị tuyệt đối của từng
ý 1, việc nhân các )) phép nhân
) phép nhân trong
phép nhân trong p
hép nhân trong
t toán FFT c
ợc đề xuất có thể sử dụng để tính toán biến đổi ng
ậy có thể đảo ngư ương pháp lặp Newton ịnh nghịch đảo của
ỉ sử dụng phép nhân, phép
ệ số chúng ta phải thực hiện log n
ặp Newton
nh lý ph phép nhân đơn trong trư
ểm khác của cách tiếp cận
ợc mục đích, ởng đề xuất trong thực tế
i Fourier, nhân các phép
ộ phức tạp
ị tuyệt đối của từng
ệc nhân các )) phép nhân
) phép nhân trong
p hép nhân trong
t toán FFT c
ợc đề xuất có thể sử dụng để tính toán biến đổi ngược tr
ược khi v
ặp Newton ịnh nghịch đảo của
ỉ sử dụng phép nhân, phép
log n
ặp Newton
nh lý ph phép nhân đơn trong trườ
ểm khác của cách tiếp cận
ợc mục đích, ởng đề xuất trong thực tế
i Fourier, nhân các phép
ộ phức tạp
ị tuyệt đối của từng
ệc nhân các )) phép nhân
) phép nhân trong
hép nhân trong
t toán FFT cần có
ợc tr
ợc khi v
ặp Newton ịnh nghịch đảo của
ỉ sử dụng phép nhân, phép
log n phép
ặp Newton
nh lý phần dư ờng
ểm khác của cách tiếp cận này là
ợc mục đích, ởng đề xuất trong thực tế
i Fourier, nhân các phép
ộ phức tạp
ị tuyệt đối của từng
ệc nhân các )) phép nhân
) phép nhân trong
p
n có
ợc trên
ợc khi và
ặp Newton ịnh nghịch đảo của
ỉ sử dụng phép nhân, phép
phép
ặp Newton
n dư
ng p này là
ợc mục đích, ởng đề xuất trong thực tế
i Fourier, nhân các phép
ộ phức tạp
ị tuyệt đối của từng
ệc nhân các )) phép nhân
) phép nhân trong
n có
ên
à
ặp Newton ịnh nghịch đảo của
ỉ sử dụng phép nhân, phép
phép
n dư
p
này là
ợc mục đích,
Trang 5Nghiê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) = f n-1 X n-1 + … + f 1 X + f 0 , g(X) = g n-1 X n-1 +• • •+ g 1 X+g 0 là các
đa thức với hệ số nguyên, sao cho |f i |<B và |g i |<B Nếu các số nguyên tố p i thỏa mãn các điều kiện sau:
1 2
,
k i i
i
1
4 pi 2m ri khi 2m1 2 n và r i
Thì:
mod mod mod mod
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ì toá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, 0,1, ,
Giả định rằng M là tích của các số nguyên tố khác nhau p i, 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 Ngoài ra, tất cả các số nguyên tố p i = 2 m + 1 r i + 1 được
chọn, sao cho phép nhân có thể được thực hiện bằng thuật toá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 toán cần
chọn các số nguyên tố p i 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ố p i 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ố p i thõa mãn điều kiện định lý 3 và ⌊log2 (p i)⌋ =
⌊log2 (p j)⌋, khi đó khi nhân các đa thức như vậy sử dụng thuật toán FFT đòi hỏi thực hiện
c k n kn n c k n phép nhân trong trường pi Trong đó, c 1 , c 2 là các hằng số xác định
Trang 6Chứng minh: Vì ⌊log2 (p i)⌋ = ⌊log2 (p j)⌋ 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 F pi 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 c 1 k 2 n 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ố p i Do đó, một hệ số duy
nhất có thể được giảm bằng cách sử dụng (1∕2)c 1 k phép nhân trong trường pi (Thuật toá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) c 1 k.2.n.k = c 1 k 2 n
2 Chúng ta sử dụng thuật toá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ờ c 2 k 2 n
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 ≡ a i
mod p i có thể được tạo nên nhờ sử dụng (1/2)c 2 k 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)c 2 k 2 • 2n = c 2 k 2 n
Do đó, thuật toán mô tả trong Định lý 3 đòi hỏi thực hiện:
c 1 k 2 n + kn (2+3 log (n)) + c 2 k 2 n
phép nhân trong trường pi
Bây giờ chúng ta so sánh độ phức tạp tính toán của các thuật toá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 toán của cả hai thuật toá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 toá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ố p i chứa trong một thanh ghi bộ xử lý, thì độ phức tạp tính toán của thuật toá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 toán của chúng ta có độ sự phức tạp tính toán:
O(kn log n + k 2 n)
Giả sử rằng k = O(n), thì chúng ta thấy rằng thuật toán dựa hoàn toàn trên phép biến đổi Fourier FFT nhanh hơn nhiều Độ phức tạp tính toán của nó là O(n 2 log 2 n) trong khi thuật toán đề xuất hoạt động trong khoảng thời gian O(n 3 ) Giả sử rằng các hệ số đa thức nhỏ hơn và k= O(log n) Khi đó, thuật toán dựa hoàn toàn trên phép biến đổi Fourier FFT nhanh có sự phức tạp tính toán O(n log 2 n log log n) trong khi phương pháp đề xuất có phức tạp tiệm cận O(n log 2 n) Vì vậy, thuật toá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 toán của thuật toán đề xuất nhỏ hơn
độ phức tạp tính toán của thuật toá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 log 2 n),
Trong khi độ phức tạp tính toán của thuật toán dựa trên phép biến đổi FFT khoảng:
O(n log 2 n log log n)
Trang 7Nghiê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 toán Để so sánh kết quả các phép đo, ta cũng xác định t
toán nhân đa th
thu
đổi Fourier v
2 trình bày gi
trên hoành đ
Nghiên c
ạp chí Nghi
Như đ
trong trư
ệu quả đối với các giá trị bé của
Chúng tôi đ
64-bit s
ợp biến đổi Fourier nhanh với định lý phần d
ốc độ tính toán Để so sánh kết quả các phép đo, ta cũng xác định t
toán nhân đa th
thuật toán cổ điển với thời gian thực hiện tr
ổi Fourier v
2 trình bày gi
trên hoành đ
Hình 1
Nghiên c
ạp chí Nghi
Như đ
trong trư
ệu quả đối với các giá trị bé của
Chúng tôi đ
bit sử dụng th
ợp biến đổi Fourier nhanh với định lý phần d
ốc độ tính toán Để so sánh kết quả các phép đo, ta cũng xác định t
toán nhân đa th
ật toán cổ điển với thời gian thực hiện tr
ổi Fourier v
2 trình bày gi
trên hoành đ
Hình 1
Nghiên cứu khoa học công nghệ
ạp chí Nghi
Như đã minh ch
trong trường hợp hệ số của các đa thức có giá trị cỡ v
ệu quả đối với các giá trị bé của
Chúng tôi đ
ử dụng th
ợp biến đổi Fourier nhanh với định lý phần d
ốc độ tính toán Để so sánh kết quả các phép đo, ta cũng xác định t
toán nhân đa th
ật toán cổ điển với thời gian thực hiện tr
ổi Fourier v
2 trình bày gi
trên hoành đ
Hình 1
ứu khoa học công nghệ
ạp chí Nghiên c
ã minh ch
ờng hợp hệ số của các đa thức có giá trị cỡ v
ệu quả đối với các giá trị bé của
Chúng tôi đ
ử dụng th
ợp biến đổi Fourier nhanh với định lý phần d
ốc độ tính toán Để so sánh kết quả các phép đo, ta cũng xác định t
toán nhân đa th
ật toán cổ điển với thời gian thực hiện tr
ổi Fourier và đ
2 trình bày giải thích bằng đồ họa của các kết quả thu đ
trên hoành độ v
Hình 1 So sánh t
ứu khoa học công nghệ
ên cứu KH&CN
ã minh ch
ờng hợp hệ số của các đa thức có giá trị cỡ v
ệu quả đối với các giá trị bé của
4 K
Chúng tôi đã th
ử dụng thư vi
ợp biến đổi Fourier nhanh với định lý phần d
ốc độ tính toán Để so sánh kết quả các phép đo, ta cũng xác định t
toán nhân đa thức bằng ph
ật toán cổ điển với thời gian thực hiện tr
à định lý phần d
ải thích bằng đồ họa của các kết quả thu đ
ộ và tung đ
So sánh t
ứu khoa học công nghệ
ứu KH&CN
ã minh ch
ờng hợp hệ số của các đa thức có giá trị cỡ v
ệu quả đối với các giá trị bé của
4 KẾT QUẢ THỰC HIỆN TR
ã th
ư vi
ợp biến đổi Fourier nhanh với định lý phần d
ốc độ tính toán Để so sánh kết quả các phép đo, ta cũng xác định t
ức bằng ph
ật toán cổ điển với thời gian thực hiện tr
ịnh lý phần d
ải thích bằng đồ họa của các kết quả thu đ
à tung đ
So sánh t
ứu khoa học công nghệ
ứu KH&CN
ã minh chứng trong các thực nghiệm, thuật toán đề xuất có
ờng hợp hệ số của các đa thức có giá trị cỡ v
ệu quả đối với các giá trị bé của
ẾT QUẢ THỰC HIỆN TR
ã thực hiện thuật toán nhân nhanh đa thức tr
ư viện OpenMP Các kết quả thời gian thu đ
ợp biến đổi Fourier nhanh với định lý phần d
ốc độ tính toán Để so sánh kết quả các phép đo, ta cũng xác định t
ức bằng ph
ật toán cổ điển với thời gian thực hiện tr
ịnh lý phần d
ải thích bằng đồ họa của các kết quả thu đ
à tung đ
So sánh tốc độ thực hiện các thuật toán nhân các đa thức với hệ số 256 bit
ứu khoa học công nghệ
ứu KH&CN
ứng trong các thực nghiệm, thuật toán đề xuất có ờng hợp hệ số của các đa thức có giá trị cỡ v
ệu quả đối với các giá trị bé của
ẾT QUẢ THỰC HIỆN TR
ực hiện thuật toán nhân nhanh đa thức tr
ện OpenMP Các kết quả thời gian thu đ
ợp biến đổi Fourier nhanh với định lý phần d
ốc độ tính toán Để so sánh kết quả các phép đo, ta cũng xác định t
ức bằng ph
ật toán cổ điển với thời gian thực hiện tr
ịnh lý phần d
ải thích bằng đồ họa của các kết quả thu đ
à tung độ đ
Bảng 1.
ốc độ thực hiện các thuật toán nhân các đa thức với hệ số 256 bit
ứu khoa học công nghệ
ứu KH&CN quân s
ứng trong các thực nghiệm, thuật toán đề xuất có ờng hợp hệ số của các đa thức có giá trị cỡ v
ệu quả đối với các giá trị bé của
ẾT QUẢ THỰC HIỆN TR
ực hiện thuật toán nhân nhanh đa thức tr
ện OpenMP Các kết quả thời gian thu đ
ợp biến đổi Fourier nhanh với định lý phần d
ốc độ tính toán Để so sánh kết quả các phép đo, ta cũng xác định t
ức bằng phương pháp c
ật toán cổ điển với thời gian thực hiện tr
ịnh lý phần dư Trung Hoa đư
ải thích bằng đồ họa của các kết quả thu đ
ộ được biểu diễn trong thang lôgarít
ảng 1.
ốc độ thực hiện các thuật toán nhân các đa thức với hệ số 256 bit
ứu khoa học công nghệ
uân s
ứng trong các thực nghiệm, thuật toán đề xuất có ờng hợp hệ số của các đa thức có giá trị cỡ v
ệu quả đối với các giá trị bé của
ẾT QUẢ THỰC HIỆN TR
ực hiện thuật toán nhân nhanh đa thức tr
ện OpenMP Các kết quả thời gian thu đ
ợp biến đổi Fourier nhanh với định lý phần d
ốc độ tính toán Để so sánh kết quả các phép đo, ta cũng xác định t
ương pháp c
ật toán cổ điển với thời gian thực hiện tr
ư Trung Hoa đư
ải thích bằng đồ họa của các kết quả thu đ
ợc biểu diễn trong thang lôgarít
ảng 1.
ốc độ thực hiện các thuật toán nhân các đa thức với hệ số 256 bit
uân sự, Số
ứng trong các thực nghiệm, thuật toán đề xuất có ờng hợp hệ số của các đa thức có giá trị cỡ v
ệu quả đối với các giá trị bé của k
ẾT QUẢ THỰC HIỆN TR
ực hiện thuật toán nhân nhanh đa thức tr
ện OpenMP Các kết quả thời gian thu đ
ợp biến đổi Fourier nhanh với định lý phần d
ốc độ tính toán Để so sánh kết quả các phép đo, ta cũng xác định t
ương pháp c
ật toán cổ điển với thời gian thực hiện tr
ư Trung Hoa đư
ải thích bằng đồ họa của các kết quả thu đ
ợc biểu diễn trong thang lôgarít
ảng 1 So sánh phương pháp nhân c
ốc độ thực hiện các thuật toán nhân các đa thức với hệ số 256 bit
ự, Số
ứng trong các thực nghiệm, thuật toán đề xuất có ờng hợp hệ số của các đa thức có giá trị cỡ v
và
ẾT QUẢ THỰC HIỆN TR
ực hiện thuật toán nhân nhanh đa thức tr
ện OpenMP Các kết quả thời gian thu đ
ợp biến đổi Fourier nhanh với định lý phần d
ốc độ tính toán Để so sánh kết quả các phép đo, ta cũng xác định t
ương pháp c
ật toán cổ điển với thời gian thực hiện tr
ư Trung Hoa đư
ải thích bằng đồ họa của các kết quả thu đ
ợc biểu diễn trong thang lôgarít
So sánh phương pháp nhân c
ốc độ thực hiện các thuật toán nhân các đa thức với hệ số 256 bit
ự, Số 59
ứng trong các thực nghiệm, thuật toán đề xuất có ờng hợp hệ số của các đa thức có giá trị cỡ v
và n
ẾT QUẢ THỰC HIỆN TR
ực hiện thuật toán nhân nhanh đa thức tr
ện OpenMP Các kết quả thời gian thu đ
ợp biến đổi Fourier nhanh với định lý phần d
ốc độ tính toán Để so sánh kết quả các phép đo, ta cũng xác định t
ương pháp cổ điển Các kết quả so sánh thời gian tính bằng
ật toán cổ điển với thời gian thực hiện tr
ư Trung Hoa đư
ải thích bằng đồ họa của các kết quả thu đ
ợc biểu diễn trong thang lôgarít
So sánh phương pháp nhân c
ốc độ thực hiện các thuật toán nhân các đa thức với hệ số 256 bit
9, 02
ứng trong các thực nghiệm, thuật toán đề xuất có ờng hợp hệ số của các đa thức có giá trị cỡ v
ẾT QUẢ THỰC HIỆN TR
ực hiện thuật toán nhân nhanh đa thức tr
ện OpenMP Các kết quả thời gian thu đ
ợp biến đổi Fourier nhanh với định lý phần d
ốc độ tính toán Để so sánh kết quả các phép đo, ta cũng xác định t
ổ điển Các kết quả so sánh thời gian tính bằng
ật toán cổ điển với thời gian thực hiện trên các b
ư Trung Hoa đư
ải thích bằng đồ họa của các kết quả thu đ
ợc biểu diễn trong thang lôgarít
So sánh phương pháp nhân c
ốc độ thực hiện các thuật toán nhân các đa thức với hệ số 256 bit
2 - 20
ứng trong các thực nghiệm, thuật toán đề xuất có ờng hợp hệ số của các đa thức có giá trị cỡ v
ẾT QUẢ THỰC HIỆN TR
ực hiện thuật toán nhân nhanh đa thức tr
ện OpenMP Các kết quả thời gian thu đ
ợp biến đổi Fourier nhanh với định lý phần dư Trung Hoa đ
ốc độ tính toán Để so sánh kết quả các phép đo, ta cũng xác định t
ổ điển Các kết quả so sánh thời gian tính bằng
ên các b
ư Trung Hoa được tr
ải thích bằng đồ họa của các kết quả thu đ
ợc biểu diễn trong thang lôgarít
So sánh phương pháp nhân c
nhân hai đa th
ốc độ thực hiện các thuật toán nhân các đa thức với hệ số 256 bit
2019
ứng trong các thực nghiệm, thuật toán đề xuất có ờng hợp hệ số của các đa thức có giá trị cỡ v
ẾT QUẢ THỰC HIỆN TRÊN B
ực hiện thuật toán nhân nhanh đa thức tr
ện OpenMP Các kết quả thời gian thu đ
ư Trung Hoa đ
ốc độ tính toán Để so sánh kết quả các phép đo, ta cũng xác định t
ổ điển Các kết quả so sánh thời gian tính bằng
ên các b
ợc trình b
ải thích bằng đồ họa của các kết quả thu đ
ợc biểu diễn trong thang lôgarít
So sánh phương pháp nhân c
nhân hai đa th
ốc độ thực hiện các thuật toán nhân các đa thức với hệ số 256 bit
9
ứng trong các thực nghiệm, thuật toán đề xuất có ờng hợp hệ số của các đa thức có giá trị cỡ v
ÊN B
ực hiện thuật toán nhân nhanh đa thức tr
ện OpenMP Các kết quả thời gian thu đ
ư Trung Hoa đ
ốc độ tính toán Để so sánh kết quả các phép đo, ta cũng xác định t
ổ điển Các kết quả so sánh thời gian tính bằng
ên các bộ vi xử lý đa l ình b
ải thích bằng đồ họa của các kết quả thu đ
ợc biểu diễn trong thang lôgarít
So sánh phương pháp nhân c
nhân hai đa th
ốc độ thực hiện các thuật toán nhân các đa thức với hệ số 256 bit
ứng trong các thực nghiệm, thuật toán đề xuất có ờng hợp hệ số của các đa thức có giá trị cỡ vài trăm bit Có ngh
ÊN BỘ VI XỬ LÝ 64 BIT
ực hiện thuật toán nhân nhanh đa thức tr
ện OpenMP Các kết quả thời gian thu đ
ư Trung Hoa đ
ốc độ tính toán Để so sánh kết quả các phép đo, ta cũng xác định t
ổ điển Các kết quả so sánh thời gian tính bằng
ộ vi xử lý đa l ình bày trong các
ải thích bằng đồ họa của các kết quả thu đư
ợc biểu diễn trong thang lôgarít
So sánh phương pháp nhân c
nhân hai đa th
ốc độ thực hiện các thuật toán nhân các đa thức với hệ số 256 bit
ứng trong các thực nghiệm, thuật toán đề xuất có
ài trăm bit Có ngh
Ộ VI XỬ LÝ 64 BIT
ực hiện thuật toán nhân nhanh đa thức tr
ện OpenMP Các kết quả thời gian thu đ
ư Trung Hoa đ
ốc độ tính toán Để so sánh kết quả các phép đo, ta cũng xác định t
ổ điển Các kết quả so sánh thời gian tính bằng
ộ vi xử lý đa l
ày trong các ược Cần l
ợc biểu diễn trong thang lôgarít
So sánh phương pháp nhân c
nhân hai đa thức bậc n/2
ốc độ thực hiện các thuật toán nhân các đa thức với hệ số 256 bit
ứng trong các thực nghiệm, thuật toán đề xuất có
ài trăm bit Có ngh
Ộ VI XỬ LÝ 64 BIT
ực hiện thuật toán nhân nhanh đa thức trên b
ện OpenMP Các kết quả thời gian thu được chứng minh rằng nhờ kết
ư Trung Hoa đã làm t
ốc độ tính toán Để so sánh kết quả các phép đo, ta cũng xác định t
ổ điển Các kết quả so sánh thời gian tính bằng
ộ vi xử lý đa l
ày trong các
ợc Cần l
ợc biểu diễn trong thang lôgarít
So sánh phương pháp nhân cổ điển với thuật toán đề xuất
ức bậc n/2
ốc độ thực hiện các thuật toán nhân các đa thức với hệ số 256 bit
ứng trong các thực nghiệm, thuật toán đề xuất có
ài trăm bit Có ngh
Ộ VI XỬ LÝ 64 BIT
ên b
ợc chứng minh rằng nhờ kết
ã làm t
ốc độ tính toán Để so sánh kết quả các phép đo, ta cũng xác định t
ổ điển Các kết quả so sánh thời gian tính bằng
ộ vi xử lý đa lõi (4 nhân) d
ày trong các
ợc Cần l
ổ điển với thuật toán đề xuất
ức bậc n/2
ốc độ thực hiện các thuật toán nhân các đa thức với hệ số 256 bit
ứng trong các thực nghiệm, thuật toán đề xuất có
ài trăm bit Có ngh
Ộ VI XỬ LÝ 64 BIT
ên bộ vi xử lý
ợc chứng minh rằng nhờ kết
ã làm tăng m
ốc độ tính toán Để so sánh kết quả các phép đo, ta cũng xác định thời gian thực hiện thuật
ổ điển Các kết quả so sánh thời gian tính bằng
õi (4 nhân) d
ày trong các b
ợc Cần lưu
ổ điển với thuật toán đề xuất
ức bậc n/2
ốc độ thực hiện các thuật toán nhân các đa thức với hệ số 256 bit
ứng trong các thực nghiệm, thuật toán đề xuất có
ài trăm bit Có ngh
Ộ VI XỬ LÝ 64 BIT
ộ vi xử lý
ợc chứng minh rằng nhờ kết ăng m
ời gian thực hiện thuật
ổ điển Các kết quả so sánh thời gian tính bằng
õi (4 nhân) d bảng 1 v
ưu ý r
ổ điển với thuật toán đề xuất
ức bậc n/2 - 1 v
ốc độ thực hiện các thuật toán nhân các đa thức với hệ số 256 bit
ứng trong các thực nghiệm, thuật toán đề xuất có ưu đi
ài trăm bit Có nghĩa l
Ộ VI XỬ LÝ 64 BIT
ộ vi xử lý
ợc chứng minh rằng nhờ kết ăng một cách đáng kể
ời gian thực hiện thuật
ổ điển Các kết quả so sánh thời gian tính bằng
õi (4 nhân) d ảng 1 v
ý rằng cả hai tọa độ
ổ điển với thuật toán đề xuất
1 với hệ số 256 bit
ốc độ thực hiện các thuật toán nhân các đa thức với hệ số 256 bit
ưu đi
ĩa là
Ộ VI XỬ LÝ 64 BIT
ộ vi xử lý v
ợc chứng minh rằng nhờ kết
ột cách đáng kể
ời gian thực hiện thuật
ổ điển Các kết quả so sánh thời gian tính bằng
õi (4 nhân) d ảng 1 và 2 Hình 1 và ằng cả hai tọa độ
ổ điển với thuật toán đề xuất
ới hệ số 256 bit
ốc độ thực hiện các thuật toán nhân các đa thức với hệ số 256 bit
ưu điểm r
à ứng dụng có
với kiến trúc
ợc chứng minh rằng nhờ kết
ột cách đáng kể
ời gian thực hiện thuật
ổ điển Các kết quả so sánh thời gian tính bằng
õi (4 nhân) dựa tr
à 2 Hình 1 và ằng cả hai tọa độ
ổ điển với thuật toán đề xuất
ới hệ số 256 bit
ốc độ thực hiện các thuật toán nhân các đa thức với hệ số 256 bit
ểm r ứng dụng có
ới kiến trúc
ợc chứng minh rằng nhờ kết
ột cách đáng kể
ời gian thực hiện thuật
ổ điển Các kết quả so sánh thời gian tính bằng
ựa trên bi
à 2 Hình 1 và ằng cả hai tọa độ
ổ điển với thuật toán đề xuất
ới hệ số 256 bit
ốc độ thực hiện các thuật toán nhân các đa thức với hệ số 256 bit
193
ểm rõ ràng ứng dụng có
ới kiến trúc
ợc chứng minh rằng nhờ kết
ột cách đáng kể
ời gian thực hiện thuật
ổ điển Các kết quả so sánh thời gian tính bằng
ên bi
à 2 Hình 1 và ằng cả hai tọa độ
ổ điển với thuật toán đề xuất
ới hệ số 256 bit
ốc độ thực hiện các thuật toán nhân các đa thức với hệ số 256 bit
193
ràng ứng dụng có
ới kiến trúc
ợc chứng minh rằng nhờ kết
ột cách đáng kể
ời gian thực hiện thuật
ổ điển Các kết quả so sánh thời gian tính bằng
ên biến
à 2 Hình 1 và ằng cả hai tọa độ
ổ điển với thuật toán đề xuất
ới hệ số 256 bit.
193
ràng ứng dụng có
ới kiến trúc
ợc chứng minh rằng nhờ kết
ột cách đáng kể
ời gian thực hiện thuật
ổ điển Các kết quả so sánh thời gian tính bằng
ến
à 2 Hình 1 và ằng cả hai tọa độ
ổ điển với thuật toán đề xuất
Trang 8
Hình 2.
xu
và s
chu
(FFT) nên s
độ chính xác của chúng, khi đó tính toá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 đ
Hình 2.
Bài báo đ
xuất dựa tr
và sử dụng định lý phần d
chuẩn lập tr
Thu
(FFT) nên s
ộ chính xác của chúng, khi đó tính toán đ
ừa với sự rút gọn modulo các hệ số đa thức
Các k
ực ti
nhân các h
trên đ
Hình 2.
Bài báo đ
ất dựa tr
ử dụng định lý phần d
ẩn lập tr
Thu
(FFT) nên s
ộ chính xác của chúng, khi đó tính toán đ
ừa với sự rút gọn modulo các hệ số đa thức
Các k
c tiễn cao Thu
nhân các h
trên định lý phần d
Hình 2 So sánh t
Bài báo đ
ất dựa trên ý t
ử dụng định lý phần d
ẩn lập tr
Thuật toán dựa tr
(FFT) nên s
ộ chính xác của chúng, khi đó tính toán đ
ừa với sự rút gọn modulo các hệ số đa thức
Các kết quả kiểm định,
n cao Thu
nhân các hệ
ịnh lý phần d
So sánh t
Bài báo đ
ên ý t
ử dụng định lý phần d
ẩn lập trình song song m
ật toán dựa tr
(FFT) nên sử dụng trong tr
ộ chính xác của chúng, khi đó tính toán đ
ừa với sự rút gọn modulo các hệ số đa thức
ết quả kiểm định,
n cao Thu
ệ số
ịnh lý phần d
So sánh t
Bài báo đã phân tích chi ti
ên ý tư
ử dụng định lý phần d
ình song song m
ật toán dựa tr
ử dụng trong tr
ộ chính xác của chúng, khi đó tính toán đ
ừa với sự rút gọn modulo các hệ số đa thức
ết quả kiểm định,
n cao Thu
ố trong các trư
ịnh lý phần d
So sánh tốc độ thực hiện của các thuật toán nhân đa thức với các hệ số 512 bit
ã phân tích chi ti
ưởng t
ử dụng định lý phần d
ình song song m
ật toán dựa tr
ử dụng trong tr
ộ chính xác của chúng, khi đó tính toán đ
ừa với sự rút gọn modulo các hệ số đa thức
ết quả kiểm định,
n cao Thuật toán đ
trong các trư
ịnh lý phần dư T
ốc độ thực hiện của các thuật toán nhân đa thức với các hệ số 512 bit
ã phân tích chi ti
ng tận dụng tối đa khả năng tính toán của bộ vi xử lý đa nhân hiện đại
ử dụng định lý phần d
ình song song m
ật toán dựa trên đ
ử dụng trong tr
ộ chính xác của chúng, khi đó tính toán đ
ừa với sự rút gọn modulo các hệ số đa thức
ết quả kiểm định,
t toán đ trong các trư
ư T
ốc độ thực hiện của các thuật toán nhân đa thức với các hệ số 512 bit
ã phân tích chi ti
ận dụng tối đa khả năng tính toán của bộ vi xử lý đa nhân hiện đại
ử dụng định lý phần d
ình song song m
ên đ
ử dụng trong tr
ộ chính xác của chúng, khi đó tính toán đ
ừa với sự rút gọn modulo các hệ số đa thức
ết quả kiểm định,
t toán đ trong các trư
ư Trung Hoa (CRT) và bi
ốc độ thực hiện của các thuật toán nhân đa thức với các hệ số 512 bit
ã phân tích chi ti
ận dụng tối đa khả năng tính toán của bộ vi xử lý đa nhân hiện đại
ử dụng định lý phần dư Trung Hoa Thu
ình song song mở OpenMP
ên định lý phần d
ử dụng trong trường hợp số l
ộ chính xác của chúng, khi đó tính toán đ
ừa với sự rút gọn modulo các hệ số đa thức
ết quả kiểm định, đánh giá thu đư
t toán đề trong các trườ
rung Hoa (CRT) và bi
Bảng 2.
ốc độ thực hiện của các thuật toán nhân đa thức với các hệ số 512 bit
ã phân tích chi tiết về ph
ận dụng tối đa khả năng tính toán của bộ vi xử lý đa nhân hiện đại
ư Trung Hoa Thu
ở OpenMP
ịnh lý phần d ờng hợp số l
ộ chính xác của chúng, khi đó tính toán đ
ừa với sự rút gọn modulo các hệ số đa thức
đánh giá thu đư xuấ
ờng
rung Hoa (CRT) và bi
ảng 2.
ốc độ thực hiện của các thuật toán nhân đa thức với các hệ số 512 bit
ết về ph
ận dụng tối đa khả năng tính toán của bộ vi xử lý đa nhân hiện đại
ư Trung Hoa Thu
ở OpenMP
ịnh lý phần d ờng hợp số l
ộ chính xác của chúng, khi đó tính toán đ
ừa với sự rút gọn modulo các hệ số đa thức
đánh giá thu đư
ất đ
ng p
rung Hoa (CRT) và bi
ảng 2
ốc độ thực hiện của các thuật toán nhân đa thức với các hệ số 512 bit
5 K
ết về ph
ận dụng tối đa khả năng tính toán của bộ vi xử lý đa nhân hiện đại
ư Trung Hoa Thu
ở OpenMP
ịnh lý phần d ờng hợp số l
ộ chính xác của chúng, khi đó tính toán đ
ừa với sự rút gọn modulo các hệ số đa thức
đánh giá thu đư
t đã đư
p lớn Kết quả thực nghiệm chỉ ra rằng
rung Hoa (CRT) và bi
So sánh phương pháp c nhâ
ốc độ thực hiện của các thuật toán nhân đa thức với các hệ số 512 bit
5 K
ết về phương pháp nhân đa th
ận dụng tối đa khả năng tính toán của bộ vi xử lý đa nhân hiện đại
ư Trung Hoa Thu
ở OpenMP
ịnh lý phần d ờng hợp số lư
ộ chính xác của chúng, khi đó tính toán đ
ừa với sự rút gọn modulo các hệ số đa thức
đánh giá thu đư
đượ
ớn Kết quả thực nghiệm chỉ ra rằng
rung Hoa (CRT) và bi
So sánh phương pháp c nhân hai đa th
ốc độ thực hiện của các thuật toán nhân đa thức với các hệ số 512 bit
5 KẾT LUẬN
ương pháp nhân đa th
ận dụng tối đa khả năng tính toán của bộ vi xử lý đa nhân hiện đại
ư Trung Hoa Thu ịnh lý phần dư Trung Hoa (CRT) và bi
ượng các hệ số của đa thức lớn h
ộ chính xác của chúng, khi đó tính toán đư
ừa với sự rút gọn modulo các hệ số đa thức
đánh giá thu đư
ợc so sánh v
ớn Kết quả thực nghiệm chỉ ra rằng
rung Hoa (CRT) và bi
So sánh phương pháp c
n hai đa th
ốc độ thực hiện của các thuật toán nhân đa thức với các hệ số 512 bit
ẾT LUẬN
ương pháp nhân đa th
ận dụng tối đa khả năng tính toán của bộ vi xử lý đa nhân hiện đại
ư Trung Hoa Thuật toán tr
ư Trung Hoa (CRT) và bi ợng các hệ số của đa thức lớn h ược thực hiện tr
ừa với sự rút gọn modulo các hệ số đa thức
đánh giá thu được cho th
c so sánh v
ớn Kết quả thực nghiệm chỉ ra rằng
rung Hoa (CRT) và biến đổi Fourier nhanh (FFT)
So sánh phương pháp c
n hai đa th
ốc độ thực hiện của các thuật toán nhân đa thức với các hệ số 512 bit
ẾT LUẬN
ương pháp nhân đa th
ận dụng tối đa khả năng tính toán của bộ vi xử lý đa nhân hiện đại
ật toán tr
ư Trung Hoa (CRT) và bi ợng các hệ số của đa thức lớn h
ợc thực hiện tr
c cho th
c so sánh v
ớn Kết quả thực nghiệm chỉ ra rằng
ến đổi Fourier nhanh (FFT)
So sánh phương pháp c
n hai đa th
ốc độ thực hiện của các thuật toán nhân đa thức với các hệ số 512 bit
ẾT LUẬN
ương pháp nhân đa th
ận dụng tối đa khả năng tính toán của bộ vi xử lý đa nhân hiện đại
ật toán tr
ư Trung Hoa (CRT) và bi ợng các hệ số của đa thức lớn h
ợc thực hiện tr
c cho th
c so sánh v
ớn Kết quả thực nghiệm chỉ ra rằng
ến đổi Fourier nhanh (FFT)
So sánh phương pháp c
n hai đa thức bậc n/2
ốc độ thực hiện của các thuật toán nhân đa thức với các hệ số 512 bit
ương pháp nhân đa th
ận dụng tối đa khả năng tính toán của bộ vi xử lý đa nhân hiện đại
ật toán trên đư
ư Trung Hoa (CRT) và bi ợng các hệ số của đa thức lớn h
ợc thực hiện tr
c cho thấy phương pháp đ
c so sánh với vi
ớn Kết quả thực nghiệm chỉ ra rằng
ến đổi Fourier nhanh (FFT)
So sánh phương pháp c
ức bậc n/2
ốc độ thực hiện của các thuật toán nhân đa thức với các hệ số 512 bit
ương pháp nhân đa th
ận dụng tối đa khả năng tính toán của bộ vi xử lý đa nhân hiện đại
ên đư
ư Trung Hoa (CRT) và bi ợng các hệ số của đa thức lớn h
ợc thực hiện tr
y phương pháp đ
i việ
ớn Kết quả thực nghiệm chỉ ra rằng
ến đổi Fourier nhanh (FFT)
So sánh phương pháp cổ điển với thuật toán đề xuất
ức bậc n/2
ốc độ thực hiện của các thuật toán nhân đa thức với các hệ số 512 bit
ương pháp nhân đa thức v
ận dụng tối đa khả năng tính toán của bộ vi xử lý đa nhân hiện đại
ên được thực hiện bằng sử dụng
ư Trung Hoa (CRT) và bi ợng các hệ số của đa thức lớn h
ợc thực hiện trên các đa th
y phương pháp đ
c th
ớn Kết quả thực nghiệm chỉ ra rằng
ến đổi Fourier nhanh (FFT)
ổ điển với thuật toán đề xuất
ức bậc n/2
ốc độ thực hiện của các thuật toán nhân đa thức với các hệ số 512 bit
ức và chu
ận dụng tối đa khả năng tính toán của bộ vi xử lý đa nhân hiện đại
ợc thực hiện bằng sử dụng
ư Trung Hoa (CRT) và bi ợng các hệ số của đa thức lớn h
ên các đa th
y phương pháp đ
c thực hi
ớn Kết quả thực nghiệm chỉ ra rằng
ến đổi Fourier nhanh (FFT)
ổ điển với thuật toán đề xuất
ức bậc n/2 - 1 v
ốc độ thực hiện của các thuật toán nhân đa thức với các hệ số 512 bit
à chu
ận dụng tối đa khả năng tính toán của bộ vi xử lý đa nhân hiện đại
ợc thực hiện bằng sử dụng
ư Trung Hoa (CRT) và biến đổi Fo ợng các hệ số của đa thức lớn h
ên các đa th
y phương pháp đ
c hi
ớn Kết quả thực nghiệm chỉ ra rằng
ến đổi Fourier nhanh (FFT)
ổ điển với thuật toán đề xuất
1 với các hệ số 512 bit
ốc độ thực hiện của các thuật toán nhân đa thức với các hệ số 512 bit
à chuỗi lũy thừa đ
ận dụng tối đa khả năng tính toán của bộ vi xử lý đa nhân hiện đại
ợc thực hiện bằng sử dụng
ến đổi Fo ợng các hệ số của đa thức lớn h
ên các đa th
y phương pháp đ
c hiện thu
ớn Kết quả thực nghiệm chỉ ra rằng
ến đổi Fourier nhanh (FFT)
ổ điển với thuật toán đề xuất
ới các hệ số 512 bit
ốc độ thực hiện của các thuật toán nhân đa thức với các hệ số 512 bit
ỗi lũy thừa đ
ận dụng tối đa khả năng tính toán của bộ vi xử lý đa nhân hiện đại
ợc thực hiện bằng sử dụng
ến đổi Fo ợng các hệ số của đa thức lớn hơn nhi
ên các đa thức hoặc chuỗi lũy
y phương pháp đề xu
n thu
ớn Kết quả thực nghiệm chỉ ra rằng
ến đổi Fourier nhanh (FFT)
ổ điển với thuật toán đề xuất
ới các hệ số 512 bit
ốc độ thực hiện của các thuật toán nhân đa thức với các hệ số 512 bit
ỗi lũy thừa đ
ận dụng tối đa khả năng tính toán của bộ vi xử lý đa nhân hiện đại
ợc thực hiện bằng sử dụng
ến đổi Fo
ơn nhi
ức hoặc chuỗi lũy xuấ
n thuật toán c
ớn Kết quả thực nghiệm chỉ ra rằng thu
ến đổi Fourier nhanh (FFT) đề xuất nhanh
ổ điển với thuật toán đề xuất
ới các hệ số 512 bit
ốc độ thực hiện của các thuật toán nhân đa thức với các hệ số 512 bit
ỗi lũy thừa đ
ận dụng tối đa khả năng tính toán của bộ vi xử lý đa nhân hiện đại
ợc thực hiện bằng sử dụng
ến đổi Fourier nhanh
ơn nhi
ức hoặc chuỗi lũy
ất có ý ngh
t toán c
thuật toán dựa
ề xuất nhanh
ổ điển với thuật toán đề xuất
ới các hệ số 512 bit
ốc độ thực hiện của các thuật toán nhân đa thức với các hệ số 512 bit
ỗi lũy thừa đư
ận dụng tối đa khả năng tính toán của bộ vi xử lý đa nhân hiện đại
ợc thực hiện bằng sử dụng
urier nhanh
ơn nhiều so với
ức hoặc chuỗi lũy
t có ý ngh
t toán c
ật toán dựa
ề xuất nhanh
ổ điển với thuật toán đề xuất
ới các hệ số 512 bit
ốc độ thực hiện của các thuật toán nhân đa thức với các hệ số 512 bit
ược đề
ận dụng tối đa khả năng tính toán của bộ vi xử lý đa nhân hiện đại
ợc thực hiện bằng sử dụng
urier nhanh
ều so với
ức hoặc chuỗi lũy
t có ý ngh
t toán cổ đi
ật toán dựa
ề xuất nhanh
ổ điển với thuật toán đề xuất
ới các hệ số 512 bit.
ốc độ thực hiện của các thuật toán nhân đa thức với các hệ số 512 bit
ợc đề
ận dụng tối đa khả năng tính toán của bộ vi xử lý đa nhân hiện đại
ợc thực hiện bằng sử dụng
urier nhanh
ều so với
ức hoặc chuỗi lũy
t có ý nghĩa
điển
ật toán dựa
ề xuất nhanh
ổ điển với thuật toán đề xuất
ợc đề
ận dụng tối đa khả năng tính toán của bộ vi xử lý đa nhân hiện đại
ợc thực hiện bằng sử dụng
urier nhanh
ều so với
ức hoặc chuỗi lũy
ĩa
n
ật toán dựa
ề xuất nhanh
Trang 9Nghiê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 toán nhân
đa thức bằng phương pháp cổ điển với độ phức tạp O (n 2 ) (Bảng 1 và 2) cũng chỉ rõ ưu
điểm tuyệt đối của thuật toán đề xuất Có thể kết luận rằng các thuật toá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 Hoà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.