Điểm:2

Bạn có thể sử dụng RSA trong âCBC modeâ không?

lá cờ cn

Có bất kỳ lo ngại nào về bảo mật khi sử dụng RSA trong âCBC mode không?

Cụ thể: nếu tôi sử dụng mã hóa RSA làm hoạt động mã hóa khối của mình và áp dụng các hoạt động chế độ CBC tiêu chuẩn bao gồm IV ngẫu nhiên, liệu văn bản mật mã thu được có cung cấp mức độ bảo mật lý thuyết giống như vấn đề RSA cơ bản không?

Tôi chỉ xem xét RSA của riêng mình. Không có kế hoạch đệm. Tôi biết RSA theo truyền thống không an toàn nếu không có phần đệm phù hợp, nhưng ở chế độ CBC, tôi không hiểu tại sao phần đệm lại cần thiết (và nó làm phức tạp vấn đề bằng cách đưa vào các phần tử không xác định)

Tôi cũng hiểu rằng CTR, CFB và các chế độ mật mã khối khác sử dụng chức năng mã hóa khối cho cả mã hóa và giải mã sẽ thất bại nặng nề với RSA. Chỉ quan tâm đến CBC

lá cờ cn
Đây là một câu hỏi giả định. Tôi không triển khai một hệ thống đang sử dụng RSA theo cách này. Chỉ tò mò về lý thuyết.
kelalaka avatar
lá cờ in
các bản sao có thể có của 1) [Có thể sử dụng RSA (về mặt lý thuyết) làm mật mã khối không?](https://crypto.stackexchange.com/q/32916/18298) 2) [Chế độ hoạt động của mật mã khối tốt nhất cho RSA là gì? ](https://crypto.stackexchange.com/q/66314/18298) và hơn thế nữa [Mật mã khối RSA](https://crypto.stackexchange.com/search?q=RSA+block+cipher)
lá cờ cn
Điều này có thể đã được hỏi trong quá khứ nhưng tất cả các chủ đề tôi tìm thấy trong tìm kiếm ban đầu của mình là về việc sử dụng RSA + OAEP kết hợp với một số chế độ mật mã khối. Điều đó tạo ra các biến chứng khác.Câu trả lời của Mikero rất hay vì nó giúp tôi điền vào chỗ trống về tình huống cụ thể này.
Điểm:5
lá cờ us

Đây là một ý tưởng thực sự điên rồ, vì vậy tôi hoan nghênh bạn vì điều đó. Nhưng nó không an toàn nghiêm trọng. Giải thích của tôi về "RSA-CBC" sẽ hoạt động như thế này:

$$ \begin{array}{l} \textsf{RSA-CBC}\Bigl( (N,e), ​​m_1 \| m_2 \| \ldots \|m_\ell \Bigr): \ \quad c_0 \gets \mathbb{Z}_N \ \quad \mbox{cho $i=1$ tới $\ell$:} \ \quad\quad c_i := (c_{i-1} + m_i)^e \bmod N \ \quad \mbox{return } c_0 \| c_1 \| \ldots \| m_\ell \end{mảng}$$

Ở đây mỗi $m_i$ và mỗi $c_i$ là một $\mathbb{Z}_N$-thành phần. RSA-CBC chọn một "IV" ngẫu nhiên (phần tử của $\mathbb{Z}_N$), sau đó mã hóa từng khối bản rõ bằng cách thêm khối bản mã trước đó rồi áp dụng hàm RSA.

Vì vậy, những gì sai với nó? Giả sử tôi thấy một mã hóa của một số văn bản chưa biết. Nếu tôi có một dự đoán cho $m_i$, sau đó tôi có thể kiểm tra xem dự đoán của mình có đúng không thông qua $c_i \overset?= (c_{i-1} + m_i)^e \bmod N$. Tôi thực sự có thể thực hiện kiểm tra này vì số mũ RSA $e$ là công khai.

Tổng quát hơn, CBC không hoạt động với các thao tác khóa công khai. Bất kỳ ai cũng có thể lặp lại các bước đã thực hiện trong quá trình mã hóa CBC, nếu mật mã khối được thay thế bằng thao tác khóa công khai mà bất kỳ ai cũng có thể thực hiện.

lá cờ cn
Đẹp. Tôi biết có một cái gì đó đơn giản tôi đang thiếu.
kelalaka avatar
lá cờ in
Chà, người ta cũng có thể thiết kế cái này với phần đệm PKCS và OAEP an toàn. $$c_i := (pad(c_{i-1} + m_i))^e \bmod N$$ (kích thước giảm của phần đệm bị bỏ qua)
lá cờ us
@kelalaka, $c_{i-1}+m_i$ đã là phần tử "kích thước đầy đủ" của $\mathbb{Z}_N$, vì vậy tôi không chắc bạn có thể áp dụng phần đệm nào trong khi vẫn giữ nguyên kết quả trong $\ toánbb{Z}_N$.
kelalaka avatar
lá cờ in
@Mikero người ta phải giảm kích thước đầu vào của sơ đồ này như 11 byte cho phần đệm PKCS#1 v1.5 ( xem phần này cho [OAEP](https://crypto.stackexchange.com/q/42097/18298) ) như tôi đã nói (có thể không rõ ràng, xin lỗi vì điều đó). Sau đó, mã hóa được bảo mật miễn là phần đệm PKCS#1 v1.5 hoặc OEAP được bảo mật. Dù sao, người ta phải sử dụng ECIES ...
lá cờ us
Được rồi, trong trường hợp đó, "chuỗi CBC" không bổ sung gì. Bạn cũng có thể thực hiện RSA-OAEP ở chế độ "ECB";)
kelalaka avatar
lá cờ in
Có, OAEP và PKCS là mã hóa xác suất, tuy nhiên, CBC cũng cung cấp một số chuỗi mà người ta có thể muốn. và, không nên nhầm lẫn điều này với xác thực vì người ta đã có thể tấn công CBC bằng [bit flipping](https://crypto.stackexchange.com/q/66085/18298).
lá cờ us
"Nếu tôi đoán được mi, thì tôi có thể kiểm tra" điều này cũng áp dụng theo cách tương tự đối với ECB. Vì vậy, tuyên bố thực tế của bạn là "CBC không có cải tiến" và lỗ hổng bảo mật, cho phép kiểm tra dự đoán xuất phát từ khóa chung được kẻ tấn công biết đến. Hãy nghĩ rằng, trong một giao thức TLS, anh ta sẽ không có điều này.

Đă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.