Điểm:2

Có xung đột trong mã hóa như trong hàm băm không?

lá cờ cz

Trong các hàm băm, $h(m) = h(m_1)$ được gọi là xung đột và rất không mong muốn rằng chúng có thể được tìm thấy vì nó làm suy yếu tính bảo mật của hàm băm. Tuy nhiên, về cơ bản có mối quan tâm tương tự trong mã hóa như mật mã khối (AES-256) hoặc RSA không? Nếu có cặp khóa bản rõ $m,k$ mang lại một số bản mã và tồn tại một khóa khác, cặp thông báo $m_1, k_1$ cũng tạo ra cùng một bản mã, đây có phải là vấn đề tương tự như xung đột hàm băm không? Đó là hai cặp mà sau đó bạn có thể thực hiện 'phân tích mật mã' và mật mã đột phá, 'học' cách hai kết thúc dưới dạng cùng một bản mã.

Một điều nữa là liệu điều này có thể gây ra các vấn đề như không thể giải mã cũng như không thể đảo ngược hàm băm vì "không có cách nào để chọn từ các đầu vào ban đầu có thể có" (cũng như trong các miếng đệm một lần).

corsiKa avatar
lá cờ us
Tôi muốn nói rằng, thật tốt khi có cảm giác ruột thịt rằng chỉ vì điều gì đó áp dụng cho hàm băm thì nó cũng áp dụng cho mã hóa và ngược lại. Vâng, cả hai đều phức tạp và chúng thường sử dụng các thuật toán giống nhau hoặc tương tự nhau, nhưng chúng là hai công cụ khác nhau cho hai vấn đề khác nhau và việc đưa ra các giả định về cái này dựa trên cái kia là không khôn ngoan - thực ra, khi vấn đề bảo mật là mối quan tâm, bạn nên * luôn luôn * đặt câu hỏi về các giả định của bạn!
nimrodel avatar
lá cờ cz
tôi không cho rằng xung đột chỉ xảy ra trong quá trình mã hóa hoặc thậm chí một phần nguyên nhân khiến nó xảy ra trong quá trình băm. đúng hơn là tôi đã mang hàm băm giống như ví dụ 'như trong hàm băm'. tôi đã quan tâm liệu m1xk1 có mã hóa thành m2xk2 ngay từ đầu hay không và liệu có lo ngại về việc giải mã cái nào khi có thể có một số tùy chọn (giống như trong hàm băm). vì vậy nó là u giả định rằng tôi giả định.
Điểm:4
lá cờ et

Xung đột xảy ra trong Hashing vì Nguyên tắc chuồng bồ câu. Trong Hashing, đầu vào có kích thước lớn hơn đầu ra. Do đó va chạm sẽ xảy ra, bạn không thể ngăn chặn nó.

Đây không phải là trường hợp mã hóa. Đầu ra của Mã hóa luôn ít nhất giống với kích thước của đầu vào - vì vậy Nguyên tắc Pigeonhole không áp dụng.

Ngoài ra, Mã hóa phải là một chức năng không thể đảo ngược không giống như Băm là chức năng một chiều. Vì vậy, bất kỳ thuật toán Mã hóa tiêu chuẩn nào cũng không thể có xung đột, vì nó sẽ khiến việc đảo ngược quá trình (tức là giải mã) là không thể. Vì vậy, không có xung đột trong Mã hóa miễn là bạn đang sử dụng cùng một khóa mã hóa.

Enc(Plaintext1, key1) không bao giờ bằng Enc(Plaintext2, key1)

ilkkachu avatar
lá cờ ws
đúng, mặc dù lưu ý rằng họ có hai khóa riêng biệt $k$ và $k_1$ ở đó. Câu hỏi không phải là $E(m_1, k) = E(m_2, k)$ mà là $E(m_1, k_1) = E(m_2, k_2)$
kelalaka avatar
lá cờ in
Điều này đọc không chính xác như tôi đã làm trước đây. OP yêu cầu va chạm với các phím khác nhau. chứng minh sự tồn tại thì dễ, tìm bằng văn bản cụ thể mới khó. Kiểm tra phần đầu tiên của câu trả lời của tôi.
Điểm:3
lá cờ in

Chặn xung đột mật mã với các khóa khác nhau

Nếu có cặp khóa bản rõ $m,k$ mang lại một số bản mã và tồn tại một khóa khác, cặp thông báo $m_1,k_1$ cũng tạo ra cùng một bản mã, đây có phải là vấn đề tương tự như xung đột hàm băm không?

Vâng, nó tương tự như va chạm băm, có trường hợp tấn công nếu sử dụng cùng một khóa, xem phần tiền thưởng. Đối với các khóa khác nhau, nó không tiết lộ bất cứ điều gì.

Nếu bạn đang sử dụng CTR (bất kỳ chế độ phát trực tuyến nào) thì nếu bạn gặp xung đột bản mã, điều này sẽ không hiển thị các thông báo vì

$$m_1 \oplus o_1 = c_1 = c_2 = m_2 \oplus o_2$$ bởi vì

$$m_1 m_2 \oplus = o_1 \oplus o_2$$ và điều này sẽ không tiết lộ các tin nhắn ngay cả khi bạn đoán một tin nhắn.

Và tương tự, chế độ CBC sẽ chống lại sự va chạm dưới các phím khác nhau.

Khả năng xung đột bản mã

giả sử chúng tôi mã hóa AES 'mặt trăng' bằng khóa 'morehotquestions' nhận được 'fjydhpdag'. và chúng tôi mã hóa 'mặt trời' bằng khóa 'câu hỏi mạng nóng' cũng nhận được 'fjydhpdag'. điều này thậm chí có thể?

Nếu chúng tôi coi AES là một PRP, thì chúng tôi có tình trạng giống hệt như cuộc tấn công sinh nhật. Xác suất để hai khối đơn lẻ có cùng một bản mã là $1/2^{128}$ cho khối ECB.

Tìm chúng tôi dễ dàng hơn nhiều vì AES không thể đảo ngược. Hãy xem xét ECB cho trường hợp dễ dàng.Vì AES không thể đảo ngược, hãy lấy một bản mã và giải mã nó bằng hai khóa khác nhau. Sau đó, bạn sẽ nhận được hai tin nhắn khác nhau. Tất nhiên, chúng không nhất thiết phải có ý nghĩa, đây là cách dễ dàng để tìm/hiển thị điều này.

Các hệ thống chữ ký như RSA-Sign

Hệ thống chữ ký sử dụng hàm băm của tin nhắn để ký. Một trong những cách để giả mạo kẻ tấn công cần một cuộc tấn công tiền ảnh thứ hai vào hàm băm. Điều gì sẽ xảy ra nếu chúng ta có một người ký ác ý hoặc thư ký ác ý của người ký? Giả sử rằng họ sử dụng MD5 khi xung đột sắp xảy ra (không sử dụng MD5 và SHA-1 cho chữ ký) thì họ có thể tìm thấy hai thư có cùng giá trị băm. $h(m_1) = h(m_2)$ với $m_1 \neq m_2$ thì hai giá trị $$\operatorname{RSA-Sign}(h(m_1)) = \operatorname{RSA-Sign}(h(m_2))$$ giống nhau.

Luôn sử dụng các hàm băm mật mã chống va chạm như SHA-256, SHA-512, SHA-3, BLAKE2, v.v. để giảm thiểu cuộc tấn công này.


Phần thưởng: Xung đột mật mã khối với cùng một khóa

Vâng, có những cuộc tấn công và lo ngại về điều này; như Sweet32;

  • Sweet32: Các cuộc tấn công sinh nhật vào mật mã khối 64 bit trong TLS và OpenVPN

    Tóm lại, đối với mật mã khối có kích thước $b$, nếu bạn đang mã hóa $2^b$ khối dưới cùng một khóa người ta có thể bị xung đột trên bản mã của chế độ CBC mà nó $c_i = c_j$ với $i \neq j$. Đó là;

    $$m_i \oplus c_{i-1} = m_j \oplus c_{j-1}$$

    Sau đó, sử dụng các thuộc tính của CBC, chúng ta có thể nhận được

    $$m_i \oplus m_j = c_{1-1} \oplus c_{j-1}.$$

    Như chúng ta có thể thấy đây chỉ là x-or của các khối bản rõ mà kẻ tấn công thụ động có thể khai thác.

Tôi chỉ nói về chế độ CBC, tuy nhiên, trang đề cập nhiều hơn và còn lại để điều tra tương tự như CBC;

Điều này đặc biệt quan trọng khi sử dụng các phương thức hoạt động phổ biến: chúng tôi yêu cầu mật mã khối phải an toàn với tối đa $2^n$ truy vấn, nhưng hầu hết các chế độ hoạt động (ví dụ: CBC, CTR, GCM, OCB, v.v.) không an toàn với hơn $2^{n/2}$ khối tin nhắn (giới hạn sinh nhật).

Tất nhiên, chúng tôi là gần như không còn sử dụng mật mã có kích thước khối 64 bit. Tuy nhiên, cuộc tấn công này thậm chí có thể xảy ra nếu bạn đang mã hóa quá nhiều dữ liệu bằng cùng một khóa. Người ta có thể nói mã hóa một $2^{64}$ dữ liệu quá nhiều, chúng tôi sẽ không mã hóa kích thước như vậy. Sau đó, chúng tôi có một cuộc tranh luận sâu sắc hơn, 50% cuộc tấn công sinh nhật là quá nhiều cho lợi thế của kẻ tấn công, nó là xa không đáng kể. Họ thậm chí có thể tìm kiếm xác suất thấp hơn để tiết lộ một số khối tin nhắn. Bạn nên hạn chế $2^{32}$-block để giảm lợi thế của kẻ tấn công.

nimrodel avatar
lá cờ cz
giả sử chúng tôi mã hóa AES 'mặt trăng' bằng khóa 'morehotquestions' nhận được 'fjydhpdag'. và chúng tôi mã hóa 'mặt trời' bằng khóa 'câu hỏi mạng nóng' cũng nhận được 'fjydhpdag'. điều này thậm chí có thể? tôi đang hỏi về hai khóa và thông báo hoàn toàn khác nhau. sau đó, nếu họ thực sự có thể mã hóa thành cùng một 'fjydhpdag', thì hệ thống giải mã AES sẽ bị nhầm lẫn, nghĩa là nó có giải mã thành cả hai bản rõ bằng các khóa khác nhau không?
kelalaka avatar
lá cờ in
Các khóa khác nhau chọn các hoán vị khác nhau và điều này nói chung ngăn chặn các cuộc tấn công có thể xảy ra. Cuộc tấn công Sweet32 yêu cầu cùng một khóa mà bạn không cần.Bạn nên xác định phương thức hoạt động của mình để nói thêm về vấn đề này vì ma quỷ nằm trong chi tiết (vui lòng không sửa đổi câu hỏi vì nó có một số câu trả lời)
kelalaka avatar
lá cờ in
Tôi đã viết một phần cho câu hỏi cụ thể của bạn mà tôi đã bỏ lỡ và trả lời cho bạn nhận xé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.