Điểm:0

Nhiều mã hóa sử dụng chế độ hoạt động CBC có dễ bị tấn công ở giữa không?

lá cờ pf

Tôi đã đọc nó một lần trên một trang (tôi không nhớ liên kết và tôi không tìm thấy nó) nói về một loạt AES với hai khóa 256 bit và nó cung cấp bảo mật 384 bit. Có thể không phải là sức mạnh 512 bit vì kích thước khối AES-256 là 128 bit.

Điều này khiến tôi nghi ngờ.

Giả sử tôi mã hóa thứ gì đó hai lần bằng chế độ CBC và hai khóa khác nhau.

Kẻ thù không thể xác định một khối được mã hóa bằng lớp mã hóa đầu tiên vì được XOR với khối trước đó và khối trước đó được mã hóa bằng lớp mã hóa thứ hai. Điều này có thể khiến mã hóa miễn nhiễm với các cuộc tấn công giữa chừng, tôi có đúng hay không?

kelalaka avatar
lá cờ in
Nếu bạn không thấy câu trả lời trước hữu ích, tại sao người ta nên viết câu trả lời khác? Bạn nên chỉ ra những gì không rõ ràng hoặc tại sao câu trả lời không hữu ích. Câu trả lời là có [tương tự như trước](https://crypto.stackexchange.com/a/98436/18298). Khối trước đó là IV nên có thể tấn công MiTM bằng một cuộc tấn công bằng văn bản rõ đã biết. Ngoài ra, bạn nên hỗ trợ yêu cầu của mình bằng cách cung cấp trang.
phantomcraft avatar
lá cờ pf
@kelalaka Xin lỗi, tôi không nhớ liên kết của trang và tôi đã tìm kiếm nhưng không thể tìm thấy. Làm thế nào tôi có thể đánh dấu câu trả lời hữu ích? Xin lỗi, tôi không tìm thấy tài nguyên này ở đây trong trang câu hỏi.
kelalaka avatar
lá cờ in
Người ta có thể nêu lên một câu trả lời nếu nó hữu ích/chính xác/v.v. Người hỏi có thể chấp nhận câu trả lời nếu câu trả lời thỏa mãn họ (đánh dấu vào dưới biểu quyết tăng/giảm). Vì vậy, những người khác có thể thấy rằng các câu hỏi đã thỏa đáng. Downvote nếu sai và chỉ ra nó với một bình luận.
Điểm:2
lá cờ ar

Nếu IV cho cả hai lớp được mã hóa được truyền rõ ràng, thì sẽ có một cuộc tấn công khôi phục khóa văn bản gốc đã biết chung hoạt động trên (về cơ bản) bất kỳ chế độ mã hóa nào và cho phép khôi phục hai khóa bằng cách sử dụng khoảng $3 \lceil k \mathbin/ b \rceil \cdot 2^k$ chặn en/giải mã, $2k \cdot 2^k$ bit của bộ nhớ và $O(k \cdot 2^k)$ thời gian tính toán phi mật mã trung bình, trong đó $k$$b$ là kích thước khóa và khối của mật mã theo bit (tức là $k = b = 128$ cho AES-128 hoặc $k = 256$, $b = 128$ cho AES-256). Nó chỉ đơn giản diễn ra như thế này:

  1. giải mã đầu tiên $\lceil k \mathbin/ b \rceil$ các khối của bản mã với mỗi $2^k$ các khóa bên ngoài có thể và IV bên ngoài đã biết. Đối với mỗi khóa, hãy lấy khóa đầu tiên $k$ bit của bản rõ thu được (nếu $k$ chưa phải là bội số của $b$, nó luôn dành cho AES), nối thêm khóa và lưu trữ kết hợp $2k$-bit chuỗi trong một danh sách.

  2. Sắp xếp danh sách. (Điều này mất $O(n \log n)$ thời gian cho một $n$-element danh sách, nơi $n = 2^k$ trong trường hợp này.)

  3. Cố gắng mã hóa lần đầu tiên $\lceil k \mathbin/ b \rceil$ các khối của bản rõ đã biết bằng cách sử dụng từng $2^k$ các khóa bên trong có thể và IV bên trong đã biết. Đối với mỗi khóa, hãy tra cứu khóa đầu tiên $k$ bit của bản rõ kết quả trong danh sách (sử dụng tìm kiếm nhị phân, mất $O(\log n)$ time) để lấy danh sách các khóa bên ngoài có thể có mà khóa bên trong này có thể khớp. (Số lượng ứng cử viên phù hợp trung bình mà bạn sẽ tìm thấy trên mỗi khóa bên trong là một, mặc dù tất nhiên một số khóa sẽ không có kết quả phù hợp và một số sẽ có một số.) Nếu có bất kỳ kết quả phù hợp nào, hãy mã hóa thêm một khối văn bản gốc đã biết bằng mã bên trong khóa và giải mã thêm một khối bản mã với mỗi khóa bên ngoài phù hợp để xem liệu chúng có còn khớp hay không. Nếu đúng như vậy (điều mà bạn mong đợi sẽ xảy ra sau khi kiểm tra trung bình một nửa số khóa bên trong), bạn gần như chắc chắn có cặp khóa phù hợp.

Một cuộc tấn công khôi phục khóa brute force chung trên một Độc thân tất nhiên, mã hóa lớp mất khoảng $\frac12 \lceil k \mathbin/ b \rceil \cdot 2^k$ chặn en/decryptions ở mức trung bình. Do đó (ít nhất nếu chúng ta bỏ qua chi phí bộ nhớ và chỉ tính các hoạt động mật mã khối) mã hóa kép với các IV đã biết chỉ (tối đa) $6$ trung bình khó phá vỡ hơn nhiều lần so với mã hóa đơn lẻ, vì (chỉ!) khoảng $\log_2 6 â 2,6$ các bit bảo mật bổ sung. Mà, chỉ cần rõ ràng, là hoàn toàn không đáng kể.

(Phải thừa nhận rằng chi phí bộ nhớ của cuộc tấn công này là không phải nhất thiết không đáng kể, nhưng cũng có nhiều sự đánh đổi thời gian–bộ nhớ khác nhau có thể được thực hiện để giảm nó.)


Lưu ý rằng cuộc tấn công gặp nhau ở giữa chung được mô tả ở trên phụ thuộc vào IV bên trong có sẵn cho kẻ tấn công một cách đơn giản. Nếu không, nhưng thay vào đó cũng được mã hóa bằng khóa bên ngoài, thì cuộc tấn công sẽ không hoạt động nếu không có sửa đổi.

Tất nhiên, một giải pháp tầm thường sẽ đơn giản là sử dụng vũ phu tất cả các giá trị có thể có của IV bên trong 128 bit ở bước 2. Đối với AES-256 kép, điều này sẽ cho phép mã hóa kép bị phá vỡ trong khoảng $2^{128} \times 2^{256} = 2^{384}$ Mã hóa AES, vẫn còn ít hơn so với $2^{512}$ mã hóa mà người ta mong đợi từ độ dài khóa.

kelalaka avatar
lá cờ in
Bạn đã chuyển sang chế độ đầy đủ, sau đó tôi cũng cần cập nhật. :)

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