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

Thám mã RSA có khóa chung nhỏ

Một phần của tài liệu CÁC TÍNH CHẤT ĐẠI SỐ CỦA HỆ MÃ CÔNG KHAI RSA VÀ KHẢ NĂNG MỞ RỘNG (Trang 30 -30 )

M

1.5.2 Thám mã RSA có khóa chung nhỏ

Việc chọn khóa chung nhỏ nhằm giảm bớt tính toán trong quá trình mã hóa, tuy nhiên điều này cũng àm cho hệ mã RSA có thể bị thám mã. Có thể liệt kê các kết quả thám mã RSA trong trường hợp náy như sau.

1.5.2.1 Thám mã khi biết một ph n ăn bản

Trong trường hợp hệ mã RSA có khóa riêng nhỏ, nếu biết một phần của

văn bản , ta có thể t nh được toàn bộ . D. Coppersmith [31] đã chứng minh được kết quả sau.

Định lý 1.2 Giả s là khóa chung của hệ mã RSA với modulus . Nếu biết văn

bản đã mã hóa và biết tất cả, có thể ngoại trừ bit liên tiếp của

văn bản , thì có thể tính được toàn bộ văn bản với thời gian là .

1.5.2.2 Thá ã q các ăn bản có liên quan

Để tránh bị tấn công bằng cách chọn văn bản gốc, thường RSA được dùng cùng với k thuật biến đổi văn bản ban đầu trước khi mã hóa. Điều này dẫn đến nhiều tác giả đã khảo sát việc thám mã RSA khi biết mã hóa của các văn bản có liên quan. Kết quả đáng ghi nhận sau đây của D. Coppersmith, M.K. Franklin, J. Patarin và M.K. Reiter [30] vào 1996.

Định lý 1.3 Xét hệ mã RSA với modulus và khóa chung . Giả s là hai

văn bản có liên quan bởi hệ thức . Nếu biết khóa

chung thì có thể tính được với

thời gian đa thức theo .

1.5.2.3 Rò rỉ thông tin từ khóa chung nhỏ

Một hướng nghiên cứu khác về thám mã RSA cũng được khảo sát khá nhiều

ngay từ khi hệ mã RSA ra đời, đó à khảo sát phương trình để từ

đó có thể tìm ra một phần nào đó hoặc . Các tác giả D. Boneh, G. Durfee và Y.

Frank đạt được kết quả rằng nếu biết và thì có thể t nh được số nguyên mà trong thời gian đa thức theo [26]. Sau đó D. on h [24] khảo sát trường hợp đặc biệt khóa riêng và ch ra rằng nếu thì ta phải có .

1.5.3 Phân tích modulus

Việc nghiên cứu các thuật toán phân tích modulus khi biết thêm các thông

tin nào đó cũng được nhiều tác giả quan tâm. Cũng các tác giả D. Boneh, G. Durfee và Y. Frankel [26] đạt được kết quả rằng nếu biết ít nhất là một nửa số bit có nghĩa

nhất của và thì có thể phân tích bằng thuật toán với thời gian đa thức theo

. Kết quả này sau đó được các tác giả này tổng quát ên như sau: giả sử khóa

chung có dạng với , khi đó nếu biết một tỷ lệ là các bit cao nhất

của khóa riêng thì có thể phân tích modulus với thời gian đa thức theo ,

với điều kiện hệ mã đang xét à cân bằng, tức và có cùng số bit. Các tác giả

A.Nita và T. Rachidi cũng đưa ra thuật toán phân tích modulus n trong thời gian đa thức khi p và q là các số nguyên tố yếu [15].

1.6 Nhận xét về chương 1

Chúng tôi đã trình bày một số kết quả iên quan đến RSA trong chương 1. Các biến thể của RSA trong phần 1.3 sẽ được d ng để đối chứng với sơ đồ xây dựng RSA mà chúng tôi đưa ra trong chương 2. ết quả thám mã RSA bằng dàn hai chiều trong phần 1.5.1.3 ch là heuristic, chúng tôi sẽ đưa ra điều kiện đảm bảo cách tấn công này uôn thành công trong Chương 3.

Chương 2

XÂY DỰNG SƠ ĐỒ CHO RSA


Nội dung chương này gồm:

1. Xây dựng hệ mã RSA trên vành thương của vành Euc id Sau đó chỉ ra rằng

ơ đồ này bao quát hệ mã RSA gốc, RSA trên vành thương đa thức và RSA trên vành thương của vành các số nguyên Gauss.

2. Xây dựng các điều kiện để xây dựng được hệ mã RSA trên một n a nhóm. Sau đó chỉ ra rằng ơ đồ này ba quát được tất cả các hệ mã RSA đã được đề cập.

Như đã trình bày ở chương trước, có rất nhiều biến thể của RSA được phát triển. Việc xây dựng sơ đồ cho RSA cũng à một vấn đề được nhiều người quan tâm. Tuy vậy chưa có công trình nào ch ra một mô hình chung cho tất cả các biến thể của RSA. Ở đây, chúng tôi quan niệm ch ra mô hình tức à ch ra một cấu trúc

đại số và các điều kiện trên đó được thỏa mãn sao cho phương trình được

nghiệm đúng.

Chương này sẽ nêu ra hai sơ đồ cho RSA. Sơ đồ thứ nhất được xây dựng trên vành thương của vành uc id, sơ đồ này bao quát được RSA gốc, RSA trên vành thương của vành các đa thức và RSA trên vành thương của vành các số nguyên Gauss. Sơ đồ thứ hai được xây dựng trên một nửa nhóm, sơ đồ này bao quát được tất cả các hệ mã RSA đã đề cập trong phần 1.3.

2.1 R tr n nh thương c nh c

Trong phần này, trước hết chúng tôi nhắc ại khái niệm vành uc id. Sau đó sẽ xây dựng hệ mã RSA trên vành uc id dưới một số giả thiết thích hợp.

Định ngh 2.1 ột miền nguyên có đơn vị được g i à một vành Euc id nếu tồn

tại một ánh ạ thỏa mãn:

i. ếu à các hần t hác trong E th .

ii. ếu à các hần t hác trong E th tồn tại các hần t

sao cho tr ng đó h c h c .

nh xạ trong định nghĩa trên thường được gọi à ánh ạ Euc id hoặc à

chu n trên E. Nếu thì ta nói rằng à ước của hay à bội của . Trong

E, một phần tử được gọi à ước của đơn vị nếu tồn tại phần tử sao cho

. Một phần tử được gọi à nguyên tố nếu từ hệ thức ta suy ra một trong hai phần tử à ước của đơn vị. Với phần tử , chúng

ta sẽ k hiệu à id a sinh ra bởi , đó à vành con của gồm những phần tử

có dạng với .

Trong phần này, chúng ta giả sử rằng E à một vành uc id và với mỗi

, vành thương E à hữu hạn. Số các phần tử khả nghịch trong vành thương

sẽ được k hiệu à và đây được x m như à mở rộng của hàm u r trong số học.

Phép chia uc id trong E sẽ sinh ra một oạt các khái niệm tương tự như

trong vành số nguyên như: ước chung, ước chung ớn nhất của hai phần tử,… Đặc

biệt chúng ta có thể áp dụng thuật toán uc id để t nh ước chung ớn nhất

của hai phần tử trong E, ngoài ra ước chung ớn nhất của hai phần tử

uôn có thể biểu diễn dưới dạng tổ hợp tuyến t nh của và (hệ thức out).

Với à hai số nguyên tố, hệ thức đóng một vai trò

quan trọng trong việc chứng minh hệ thức trong hệ mã RSA gốc.

Để đi đến hệ thức này, trước hết chúng tôi phát biểu mệnh đề tổng quát sau, sẽ được d ng đến nhiều trong phần 2.2.

Mệnh ề 2.1 Giả s là vành giao hoán có đơn vị, là các ideal của sao cho hi đó ta có đẳng cấu vành . Chứng minh. Xét ánh xạ

Có thể kiểm tra được rằng à một đồng cấu vành.

Ta sẽ chứng minh là một toàn cấu. Thật vậy, do nên với

, trong đó à đơn vị của .

Với phần tử bất kỳ , xét phần tử

Vì nên . Vì nên .

hi đó . Vậy là một toàn cấu.

Tiếp theo ta sẽ chứng minh . Thật vậy, rõ ràng .

Do và nên .

Ngược lại, với phần tử bất kỳ ta có . Vì

vậy . Như vậy , tức là . Áp dụng

định lý về đồng cấu vành ta có ■

Từ mệnh đề trên, chúng ta có ngay tính chất nhân tính của hàm như sau.

Hệ quả 2.1 ếu thỏa mãn th . hứng minh.

Kí hiệu là các ideal trong E sinh bởi và . Giả thiết

suy ra hệ thức với nào đó. Do

nên , điều này dẫn đến Áp dụng Mệnh đề 2.1 ta có

Bằng cách lấy số phần tử khả nghịch trong các vành ở hai vế đẳng thức trên, ta nhận

được hệ thức ■

ây giờ chúng ta sẽ chứng minh hệ thức cơ bản trong RSA. hiệu được

d ng để ch phần tử chứa trong vành thương E với .

Mệnh ề 2.2 iả à các hần t nguyên tố tr ng vành Euclid ; à các ố nguyên thỏa mãn hi đó với m i , hệ thức đúng tr ng vành

thương .

Chứng minh.

Trước hết ta sẽ chứng minh rằng trong . Thật vậy,

điều này à hiển nhiên khi trong , trong trường hợp ngược ại

phải à một phần tử khả nghịch trong và th o định nghĩa của ta có

trong . Nếu với thì

trong .

Tương tự, ta cũng có trong .

Như vậy, à một bội của cả và và do đó à một bội của . Điều này

suy ra rằng hay trong . ■

2.1.1 ơ ồ R tr n nh thương c a vành Euclid

Sinh hóa

.Chọn hai phần tử nguyên tố phân biệt và t nh .

.Chọn số nguyên thỏa mãn với .

.T nh .

.Công bố và như khóa công khai, giữ àm khóa riêng.

ã hóa

.Văn bản à các phần tử .

.Văn bản được mã hóa thành .

iải mã

. được giải mã bằng cách tính trong .

2.1.2 sánh các hệ ã R ã b ết

Hệ mã RSA xây dựng trên đây sẽ áp dụng được cho các vành trên đó có thể định nghĩa được phép chia uc id. Sau đây chúng ta sẽ ch ra rằng hệ mã RSA gốc, RSA trên vành thương các đa thức và RSA trên vành thương các số nguyên Gauss à các biến thể của sơ đồ đã ch ra ở trên.

2.1.2.1 ệ ã R gốc

Trong trường hợp này, vành được xét à vành các số nguyên . Phép chia

trên à phép chia giữa các số nguyên. Với , chuẩn của à số ,

ideal sinh bởi à tập các bội số của và vành thương ch nh à

vành . Hàm u r ch nh à số các phần tử khả nghịch trong , cũng ch nh à số các số trong tập nguyên tố c ng nhau với . Hàm u r tại số nguyên tố được t nh bởi và với à t ch của hai

số nguyên tố phân biệt thì . Do việc mã

hóa và giải mã được thực hiện bằng phép chia cho nên các phép t nh trong

quá trình mã hóa và giải mã x m như được tiến hành trong vành thương .

2.1.2.2 Hệ mã R tr n nh thương các th c

Đối với biến thể này của RSA, vành được xét à vành đa thức

gồm các đa thức th o biến với hệ số thuộc , trong đó à một số nguyên tố.

Phép chia uc id trên ch nh à phép chia đa thức thông thường. Với ,

chuẩn của ch nh à bậc của , vành thương có thể x m như

gồm các đa thức có bậc nhỏ hơn bậc của . Một phần tử à nguyên tố

nếu à bất khả quy trong , khi đó hàm u r tại được t nh bởi

với à bậc của .

Trong biến thể này, hai đa thức bất khả quy được chọn có bậc ần ượt à và . hi đó đa thức sẽ có bậc à và ta có

Các khóa chung và khóa riêng được chọn sao cho .

Các văn bản à các đa thức có bậc nhỏ hơn . Văn bản sẽ được

mã hóa bằng cách t nh và rồi được giải mã bằng

cách t nh .

2.1.2.3 Hệ mã R tr n nh thương các số ng n G ss

Đối với biến thể này của RSA, ta chọn hai phần tử nguyên tố và

t nh , trong đó là vành các số nguyên Gauss. hi đó

. Các khóa chung và khóa riêng

được chọn sao cho . Mỗi văn bản sẽ được mã

2.1.3 Nhận t ề sơ ồ

Sơ đồ trên của RSA ch bao quát cho những biến thể RSA được xây dựng trên vành uc id. Trên nhóm nhân các ma trận hay trên nhóm đường cong iptic rất khó để xây dựng một phép chia Euclid và do đó không thể áp dụng sơ đồ trên để xây dựng hệ mã RSA trên các cấu trúc này. Trên các vành không thể định nghĩa

được phép chia Euclid hay trên nhóm nhân, hệ thức phải được xây dựng

bằng con đường khác. Trong phần tiếp th o, chúng tôi xây dựng các điều kiện để có

được hệ thức trên một nửa nhóm và ch ra rằng, có thể áp dụng sơ đồ này

để xây dựng tất cả các RSA trong phần 1.3. Chúng tôi cũng ch ra rằng, sơ đồ trong phần này là một trường hợp đặc biệt của sơ đồ tổng quát hơn trong phần 2.2 ngay dưới đây.

2.2 ơ ồ cho RSA trên nửa nhóm

Trong phần chứng minh Mệnh đề 2.2, hệ thức được suy ra từ định lý Lagrange trong lý thuyết nhóm. Do đó chúng ta có thể xây dựng hệ thức

dựa trên ch các điều kiện về nhóm. Trong phần này chúng tôi sẽ đưa ra

các điều kiện cần có sao hệ thức được thỏa mãn trên một nửa nhóm. Sau

đó chúng tôi sẽ ch ra rằng hệ mã RSA gốc c ng với các biến thể của nó trong phần 1.3 sẽ à trường hợp đặc biệt của sơ đồ.

2.2.1 ơ ồ

Giả sử à một tập khác rỗng, trên đó đã xác định một phép toán hai ngôi

sao cho với phép toán này, à một nửa nhóm, tức à phép toán có t nh kết hợp.

Để tiện việc trình bày chúng tôi sẽ k hiệu th o ối nhân. Giả sử à tập con khác rỗng à tập các văn bản cần mã hóa th o kiểu RSA. Chúng tôi đưa ra một số

điều kiện sao cho hệ thức xảy ra trên như sau.

Mệnh ề 2.3 iả rằng

b. ồn tại hai nhóm và hai nhóm sao cho

.

c. nh ạ định ngh a bởi à đơn ánh.

í hiệu hi đó nếu

à hai ố nguyên thỏa mãn th với m i . hứng minh.

Không mất tính tổng quát, ta sẽ kí hiệu các phép toán trên theo lối nhân. Giả sử

, trước hết ta chứng minh . Thật vậy, do nên

hoặc , có thể giả sử . hi đó với

là phần tử đơn vị của . Vì nên với . hi đó

Do à đồng cấu nên . Vậy . Bằng lập luận tương tự ta có . Vì nên

Suy ra do à đơn ánh. ■

Với các giả thiết như trong mệnh đề trên, chúng ta có thể xây dựng trên hệ

mã RSA như sau.

ệ ã R tr n nử nh nh n

Sinh hóa.

-T nh .

ã hóa.

- à không gian các văn bản cần mã hóa.

-Một văn bản được mã hóa thành .

iải mã.

-c được giải mã bằng cách t nh

Chú 2.1 húng ta có thể ch n bộ ( àm hóa riêng thay ch , tr ng đó . ếu

th được d ng để giải mã bằng cách tính .

Chú 2.2 Giả sử à hai vành và à vành tích của ếu

tương ứng à các h chiếu từ lên th ánh ạ ác định

bởi à đơn ánh.

Chú ý 2.2 trên đây sẽ được d ng trong các biến thể của RSA. Sau đây chúng ta sẽ ch ra rằng các biến thể của RSA đều thuộc về mô hình này.

2.2.2 sánh các hệ ã R ã b ết

Trong phần tiếp th o, chúng tôi sẽ giải th ch rằng sơ đồ RSA trên vành thương của vành Euclid trong phần 2.1 và các biến thể của RSA trong phần 1.3 à các trường hợp đặc biệt của sơ đồ trong phần 2.2.1 ở trên đây.

2.2.2.1 Hệ ã R tr n nh thương c a vành Euclid

Chúng tôi sẽ giải thích trong phần này các hệ mã RSA trên vành thương của vành Euclid là các biến thể của mô hình vừa được ch ra. Các kí hiệu được dùng như trong phần 2.1.

Với và , theo Mệnh đề 2.1 ta có đẳng cấu vành

Đẳng cấu này sẽ cảm sinh đẳng cấu nhóm tương ứng nếu xem các vành trên là các nhóm nhân. Kí hiệu tương ứng là các nhóm nhân gồm các phần tử khả

nghịch trong , , và đặt , . Đẳng cấu

Một phần của tài liệu CÁC TÍNH CHẤT ĐẠI SỐ CỦA HỆ MÃ CÔNG KHAI RSA VÀ KHẢ NĂNG MỞ RỘNG (Trang 30 -30 )

×