Điểm:2

Tấn công trước hình ảnh vào các hàm băm không mã hóa

lá cờ us

Tôi không giỏi về mật mã nên làm ơn :)

sau khi đọc này thảo luận bây giờ rõ ràng với tôi rằng xxHash không chống lại các cuộc tấn công va chạm và không an toàn cho MAC cách sử dụng. Nhưng sau khi đọc nó, tôi vẫn không hiểu XXH3 (một trong những dòng xxHash) có khả năng chống lại các cuộc tấn công giả định như thế nào.

Có, đầu ra XXH3 là $64$/$128$ bit có nghĩa là xác suất tìm thấy hình ảnh là $2^{64}$/$2^{128}$ tương ứng. Nhưng tôi cũng đọc rằng các giá trị băm không có khả năng chống lại sự tấn công va chạm sẽ dễ dàng hoàn nguyên hơn. Hãy xem xét điều này, để hoàn nguyên hàm băm này ($128$ phiên bản bit) sử dụng vũ phu sẽ xung quanh $2^{64}$ có tính toán đó là lượng thời gian rất lớn. theo cái này câu hỏi ngay cả khi XXH3 nhanh hơn 1000 lần so với SHA-512/64 để hoàn nguyên, nó sẽ mất ít nhất $\frac{2^{64}}{1000 * 2^{20}}$ giây hay 557 năm.

Điều này đưa tôi đến câu hỏi đầu tiên của tôi. Kết luận của tôi có đúng không và XXH3 gần như có khả năng chống lại cuộc tấn công trước hình ảnh như SHA-512/64? Tui bỏ lỡ điều gì vậy? Có lẽ có một số loại không tấn công vũ phu?

Và câu hỏi thứ hai khiến tôi bận tâm nhiều. Không có gì bí mật khi các giá trị băm (đặc biệt là XXH3) tạo ra xung đột. Đối với các hàm băm mật mã, thật khó để tìm thấy chúng nhưng chúng tồn tại. Khi chúng tôi đã thực hiện thành công cuộc tấn công tạo ảnh trước, làm thế nào chúng tôi có thể chắc chắn rằng giá trị chúng tôi tìm thấy là giá trị ban đầu? Nếu kẻ tấn công có được một hình ảnh, thì khả năng đây là hình ảnh gốc và không phải là một trong nhiều va chạm là bao nhiêu?

Cảm ơn bạn trước.

Điểm:3
lá cờ my

Nhưng sau khi đọc nó, tôi vẫn không hiểu XXH3 (một trong những dòng xxHash) có khả năng chống lại các cuộc tấn công giả định như thế nào.

Hoàn toàn không - thật dễ dàng để tạo một hình ảnh băm thành một giá trị tùy ý.

Có, đầu ra XXH3 là 64/128 bit, điều đó có nghĩa là xác suất tìm thấy hình ảnh là $2^{64}/2^{128}$ tương ứng.

Xác suất giữ nếu chiến lược bạn sử dụng là "chọn một hình ảnh, băm nó và xem kết quả là gì". Có nhiều chiến lược hiệu quả hơn.

Có lẽ có một số loại không tấn công vũ phu?

Chắc chắn là.

xxhash bao gồm các bước:

  • Chuyển đổi trạng thái hiện tại theo cách không thể đảo ngược; hoặc

  • Thêm một từ phụ thuộc (một lần nữa, theo cách không thể đảo ngược) vào từ tiếp theo của hình ảnh (và không có thao tác nào khác trong xxhash phụ thuộc vào từ đầu vào đó).

Do đó, để tạo một hình ảnh băm thành một giá trị cụ thể, tất cả những gì bạn cần làm là chọn một mẫu bao gồm các giá trị ngoại trừ một từ; sau đó, bạn đánh giá xxhash về phía trước cho đến khi bạn nhận được một từ đó, xuất hiện giá trị trạng thái bên trong A. Sau đó, bạn lấy giá trị hàm băm mục tiêu và bạn tính toán xxhash ngược lại cho đến khi bạn nhận được một từ đó, xuất hiện với một giá trị trạng thái bên trong B. Sau đó, tất cả những gì bạn cần làm là chọn một từ chưa biết để chuyển đổi giá trị trạng thái A thành giá trị trạng thái B - thật dễ dàng; chèn từ đó vào mẫu và bạn đã hoàn tất.

Và, để giải quyết câu hỏi cuối cùng của bạn:

Đối với các hàm băm mật mã, thật khó để tìm thấy chúng nhưng chúng tồn tại. Khi chúng tôi đã thực hiện thành công cuộc tấn công tạo ảnh trước, làm thế nào chúng tôi có thể chắc chắn rằng giá trị chúng tôi tìm thấy là giá trị ban đầu?

Rõ ràng, xung đột là không thể tránh khỏi đối với bất kỳ chức năng nào chuyển đổi một chuỗi dài có khả năng thành một chuỗi ngắn hơn có độ dài cố định. Bây giờ, nếu chúng tôi tìm thấy một hình ảnh được băm với cùng một giá trị, làm cách nào để đảm bảo rằng đó là cùng một hình ảnh được băm ban đầu? Trả lời: nói chung, chúng tôi không thể, trừ khi chúng tôi biết nhiều về hình ảnh gốc (ví dụ: trong cuộc tấn công vào xxhash ở trên, chúng tôi biết tất cả các từ của đầu vào ngoại trừ một từ). Mặt khác, đối với hầu hết các cuộc tấn công chống lại hàm băm mật mã, chúng tôi không quan tâm - kẻ tấn công thường thắng nếu anh ta có thể tìm thấy không tí nào hình ảnh trước

Eugene Sirkiza avatar
lá cờ us
Cảm ơn rất nhiều @poncho cho câu trả lời của bạn. Có cách nào để ước tính số tiền cần thiết để tìm hàm băm "đúng" không? Ý tôi là, chắc chắn đó là một loại câu hỏi khác, nhưng với câu trả lời của bạn bây giờ tôi quan tâm đến những điều sau đây. Độ phức tạp của việc tìm kiếm tất cả các hình ảnh có thể băm thành giá trị được chỉ định là gì? Và chúng ta có thể ước tính có bao nhiêu trong số những tiền ảnh này tồn tại không?

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