Sử dụng định lý phần dư của Trung Hoa để phân chia tính tốn giữa

Một phần của tài liệu Nghiên cứu một số giải pháp nâng cao hiệu năng của thuật toán mã hóa (Trang 95 - 99)

Chương 1 TỔNG QUAN VỀ THUẬT TOÁN MÃ HOÁ

3.3 Nghiên cứu, đề xuất xây dựng thuật toán hiệu quả nhân nhanh đa thức

3.3.3 Sử dụng định lý phần dư của Trung Hoa để phân chia tính tốn giữa

các bộ vi xử lý

Để giảm độ phức tạp tính tốn của thuật tốn trên, chúng ta sử dụng định lý phần dư Trung Hoa. Cách tiếp cận này sẽ cho phép chúng ta thay thế phép nhân đơn trong trường 𝔽p bằng nhiều phép nhân nhỏ hơn trong trường 𝔽p. Một ưu điểm khác của cách tiếp cận này là khả năng phân chia tính tốn trong trường

𝔽p giữa các bộ vi xử lý. Để đạt được mục đích, trước hết phải tìm ra các số

ngun tố pi cho phép thực hiện ý tưởng đề xuất trong thực tế.

Định lý 3.4

Cho   1   1

1 n ... 1 0, 1 n ... 1 0

n n

f XfX    f Xf g Xg X   g Xg 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:

      2 1 1 , , , 2 3 2 i j k i i i p p M p nB p M         1 1 4 pi2mri sao cho 2m12nri thì

       mod   mod   mod mod

f X g Xf X g X Mf 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 cách chứng minh

Định lý 3.2 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ổ đề 3.1 chúng ta có được đẳng thức sau:

Đ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, 0,1,..., 1 . 2 2 MM        (3.14)

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 . (3.15)

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]. (3.16) Đ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ý (processor) 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ố pi = 2m + 1 ri + 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 2m + 1.

Cách giải quyết được đề xuất trong định lý 3.3 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ử 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.4 thì định lý 3.5 sau là đúng:

Định lý 3.5 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.4 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    2

1 2 3log 2

c k n kn  nc k n phép nhân trong trường 𝔽pi. Trong đó c1, c2 là các hằng số xác định.

Chứng minh: Vì log2 pi   log2 pj  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. Việc rút gọn các hệ số theo module đòi hỏi phải thực hiện c1k2n 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 . 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 = c1k2n.

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ờ c2k2n 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)c2k2phé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)c2k2 • 2n = c2k2n.

Do đó, thuật tốn mơ tả trong định lý 3.4 địi hỏi thực hiện:

c1k2n + kn (2+3 log (n)) + c2k2n

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ý 3.2 và 3.3. Để làm điều này, trước tiên chúng ta phải đưa vào một đơn vị đo thống nhất về độ phức tạp tính tố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ố 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ó độ phức tạp tính tốn:

O(kn log n + k2n)

Giả sử rằng k = O(n), thì 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ử

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 nhanh (FFT) 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ả 3.1 Nếu k = O(log n), thì độ phức tạp tính tốn của thuật toá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 log2n), trong khi độ phức tạp tính

tốn của thuật toán dựa trên phép biến đổi FFT khoảng: O(n log2 n log log n).

Như đã thể hiện trong các thực nghiệm, thuật tốn đề xuất có ưu điểm rõ ràng trong trường hợp hệ số của các đa thức có giá trị cỡ vài trăm bit, có nghĩa là ứng dụng có hiệu quả đối với các giá trị bé của k và n.

Một phần của tài liệu Nghiên cứu một số giải pháp nâng cao hiệu năng của thuật toán mã hóa (Trang 95 - 99)

Tải bản đầy đủ (PDF)

(152 trang)