Những tấn côngvào hệ thống RSA.

Một phần của tài liệu Giải thuật mã hóa mật mã RSA (Trang 26 - 28)

Một giải thuật mũ số môđun RSA có thể ngắt hệ thống mã hoá và cho phép một vài thông báo giải mã được. Tuy nhiên, cũng có nhiều cuộc tấn công tinh vi mà không đòi hỏi số mũ môđun. Họ có thể không có kết quả trong việc bẻ gãy hệ thống mật mã RSA nhưng trong vài trường hợp đặc biệt họ có đủ thông tin để giải mã được một số thông báo.

Ta có thể xem xét 4 loại tấn côngvào hệ thống mật mã RSA.

1 Lạm dụng quá nhiều RSA.

2 Những tấn côngvào số mũ bí mật quá thấp

3 Những tấn côngvào số mũ công khai quá thấp ( truyền đi rộng quá)

4 Tấn côngvào những bổ sung

Ta biết là giá trị tướng ứng từ p và q. Rõ ràng hơn, có p và q ta có thể

tính , cũng như thế ta có thể tính p và q dựa trên

phương trình tương ứng.

(1)

Và chú ý rằng ta có hai phương trình và không biết cả hai (vì n là do người khác đưa ra). Cũng như thế, khóa bí mật d là phương trình biết được mũ số môđun RSA, p và q. khi biết được p và q ta có thể biết được d dựa

trên định nghĩa: .

k = (ed -1)/ 2s, k là một số chứa lặp cơ số 2 chia cho ed -1 và ta có được số dư và s là số lần ta chia.

Bổ đề: với mọi số nguyên a, số nguyên tố n, được sắp xếp trong :ak+n Z và thuộc nhóm (Z / n Z)* là: . (ak+n Z là số nhỏ nhất, / (ak+n Z)l

Chứng minh: lấy một số nguyên là số nguyên tố n, bằng định lý giải mã

RSA

ed-1 = k2s, ta có: .

Do đó: (ak+n Z)2s = 1+ nZ.

Lặp lại (ak+n Z)2s = 1+ nZ nếu và chỉ nếu 2s được chia bởi ak+n Z trong nhóm (Z / n Z)*

Cho nên ak+n Z thuộc nhóm (Z / n Z)* chia cho 2s

Định lý: lấy a là một nguyên là số nguyên tố cùng với n.

Nếu ak khác bậc chia lấy dư cho p và q thì , với

Chứng minh: bằng những kết quả trước đó, và name

trong khoảng . WOOLOG cho rằng lớn hơn

. Lấy 2t thuộc , và t < s, nhưng

. Cho nên .

Giải thuật trên cho phép có thể được sử dụng để lấy lại p và q để đưa ra e, d và n. ( chú ý rằng có ba lỗi trong giải thuật được thể hiện trong phần này.)

Ví dụ:

Chúng ta sẽ tính n =253, e= 3 và d= 147. Do đó, ed -1 = 440, k=55 và s=3.

1. Chọn một số nguyên a ngẫu nhiên trong chuỗi . Ta lấy

( a=2). (adsbygoogle = window.adsbygoogle || []).push({});

2. Tính toán . Nếu g > 1 thì g =p hay g=q và ta tính được thừa

số n.( )

3. nếu g = 1 thì tính toán với

cho đến khi hay t = 0.( ,

.)

4. Nếu n>g>1 thì g=p hay g = q. Từ đây, thừa số của n được tìm thấy và giải thuật kết thúc. Nói cách khác, giải thuật không thành công với việc lựa chọn

dựa trên a (n= 23x11=253). Nếu giải thuật không thành công với việc chọn a thì chúng ta chạy nó lại một lần nữa.

Định lý: số lượng số nguyên tố a đến n trong đoạn {1, 2, …n} với mỗi ak có một và khác nhỏ nhất tại (p-1)(q-1)/2

Định lý bao hàm xác suất thành công của giải thuật là tại ½. Do đó, xác suất thành công sau r là tại 1- 1/2r.

a. Lạm dụng:

Một ví dụ của một tấn công lạm dụng hiển nhiên là môđun chung. Giả sử rằng một người phòng ngừa việc sử dụng môđun khác n=pq cho mỗi người sử dụng và sử dụng một n cố định. Thay vì mỗi người sử dụng lấy một khóa công khai (n, ei) và một khoá bí mật riêng tư di.. Tuy nhiên Bob có hể sử dụng khóa bí mật mà anh ta sở hữu db để tính toán thừa số n. Một khi anh ta tìm ra p và q anh ta có thể số mũ khóa công khai của Alice để tìm ra mũ số riêng tư của cô ta.

Một phần của tài liệu Giải thuật mã hóa mật mã RSA (Trang 26 - 28)