Điểm:1

So sánh độ phức tạp của quá trình giải mã RSA có/không có CRT

lá cờ in

(Được liệt kê chéo trên stackexchange toán học, không nhận được phản hồi nào) Đối với ngữ cảnh, đây là một câu hỏi bài tập về nhà từ một bài tập đã được giao. Tôi đang tìm cách hiểu rõ hơn về các khái niệm liên quan, chủ yếu là lý thuyết phức tạp vì tôi chưa từng thấy nó trước đây bên ngoài lớp học này (và kiến ​​thức trước đó đã được giả định).

Tôi được yêu cầu đánh giá độ phức tạp của quá trình giải mã RSA có và không sử dụng CRT, không sử dụng độ phức tạp tiệm cận. thay vì sử dụng $c_1$ là hằng số cho phép nhân mô-đun, $c_2$ cho lũy thừa mô-đun, và $c_3$ để tìm một nghịch đảo nhân.

Nỗ lực của tôi: Hãy để $s_1$ là chiều dài của $p$, $s_2$ là chiều dài của $q$, $s$ chiều dài của $n$, và $x$ chiều dài của $d$. Hãy xem xét các phức tạp sau:

tính toán sự phức tạp
$m_1=c^d\mod p$ $c_2s_1^2x$
$m_2=c^d\mod q$ $c_2s_2^2x$
$q^{-1}\mod p$ $c_3s_1$
$p^{-1}\mod q$ $c_3s_2$

Vì vậy, sự phức tạp của việc sử dụng CRT để tính toán $m=m_1(q^{-1}\mod p)q+m_2(p^{-1}\mod q)p\mod n$$c_1^2c_2c_3s_1^3x+c_1^2c_2c_3s_2^3x=c_1^2c_2c_3x(s_1^3+s_2^3)$.

Trong khi đó, độ phức tạp để tính toán $m=c^d\mod n$$c_2s^2x$, vì vậy sự khác biệt là $c_2x(s^2-c_1^2c_3(s_1^3+s_2^3))$.

Tôi tin rằng điều này là sai vì tôi không nghĩ nói chung là đúng $s^2\geq s_1^3+s_2^3$ (CRT sẽ giúp giải mã nhanh hơn) và tôi không biết liệu chúng ta có thể đưa ra bất kỳ giả định nào về các hằng số hay không.

fgrieu avatar
lá cờ ng
Gợi ý: Nó thường được tạo $m_1:=c^{d_p}\bmod p$ trong đó $d_p=d\bmod(p-1)$ được tính toán trước. Tương tự với $m_2$. Nó thường được tính toán trước $q_{\text{inv}}=q^{-1}\bmod p$. Không cần cả $q^{-1}\bmod p$ và $p^{-1}\bmod q$ khi sử dụng công thức $m:=((m_1-m_2)\,q_{\text{ inv}}\bmod p)\,q+m_2$. [Định dạng khóa cá nhân tiêu chuẩn](https://pkcs1.grieu.fr#page=41) bao gồm $d_p$, $d_q$, $q_{\text{inv}}$. Trả lời câu hỏi của chính mình là thông minh! $a=b\bmod n$ ngụ ý $0\le a
Daniel S avatar
lá cờ ru
Bạn đang nhân chi phí của các giai đoạn khi bạn nên thêm chúng. Vì vậy, ví dụ tính toán $m_1(q^{-1}\mod p)$ tốn $c_2s_1^2x+c_3s_1+c_1s_1^2$ (giả sử các phương pháp nhân phổ thông).
mrose avatar
lá cờ in
@DanielS bạn tìm thấy $c_1s_1^2$ như thế nào? Tôi đã có $c_1^2$ khi sử dụng phép nhân mod hai lần.Cảm ơn vì đã sửa, tôi đã đọc ở đâu đó rằng O(m)*O(n)=O(mn) và nghĩ rằng điều đó đã được áp dụng.
poncho avatar
lá cờ my
Một vấn đề khác là bạn có $m_1 = c^d \bmod p$ với độ phức tạp $c_2 s_1^2 x$; trên thực tế, các triển khai thực tính toán $m_1 = c^{d \bmod p-1} \bmod p$; điều này mang lại độ phức tạp là $c_2 s_1^3$, nhỏ hơn đáng kể (với $d_p = d \bmod p-1$ được tính toán trước, như fgrieu đã đề cập). Việc giảm một nửa hiệu quả số mũ riêng tư này là nơi một phần tốt của việc tăng tốc đến từ
mrose avatar
lá cờ in
@poncho vì vậy chúng tôi đang giả sử $s_1
poncho avatar
lá cờ my
Chà, $s_1$ là độ dài của $p$, trong khi $x$ là độ dài của $d$. Nếu $d$ ngắn đến mức nó thực sự nhỏ hơn $p$, thì đó là một điểm yếu đã biết; do đó $s_1

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.