Điểm:1

Tại sao kích thước đầu ra chính xác bằng một nửa công suất cho sha-3?

lá cờ jp

Đối với họ hàm băm SHA-3, kích thước đầu ra $d$ luôn được chọn là $d=c/2$, tức là chính xác một nửa công suất. lý do cho điều này là gì?

Ngây thơ, tôi nghĩ rằng $d=c$ sẽ có ý nghĩa hơn bởi vì

  • Khả năng chống va chạm dường như là $\min(d/2, c/2)$
  • Sức mạnh trước hình ảnh dường như là $\min(d, c)$.

Vì vậy lựa chọn $d=c$ sẽ làm cho các cuộc tấn công vào công suất tương đương với các cuộc tấn công vào đầu ra. Tôi đang thiếu gì?

kelalaka avatar
lá cờ in
Điều này có trả lời câu hỏi của bạn không? [Tính bảo mật của Keccak/SHA3 trước các cuộc tấn công vào ngày sinh nhật](https://crypto.stackexchange.com/questions/41413/security-of-keccak-sha3-against-birthday-attacks) và [Tại sao có cuộc tấn công tìm kiếm va chạm chung của công trình bọt biển độ phức tạp của O(min(2^(-n/2) , 2^(-c/2)))?](https://crypto.stackexchange.com/q/12668/18298)
Simon avatar
lá cờ jp
@kelalaka Tôi không nghĩ vậy. Những câu hỏi đó chỉ nói về các cuộc tấn công va chạm. Câu trả lời của poncho giải thích lý do tại sao nó thực sự là về các cuộc tấn công tiền ảnh, điều mà trước đây tôi chưa nhận ra.
kelalaka avatar
lá cờ in
Tôi không thấy hình ảnh trước trong câu hỏi của bạn, ở đây [phạm vi phủ sóng nhiều hơn với lượng tử được thêm vào](https://crypto.stackexchange.com/a/67677/18298)
Simon avatar
lá cờ jp
@kelalaka Tôi không hỏi cụ thể về các cuộc tấn công va chạm. Tôi đã hỏi về lý do để chọn $d=c/2$ trong tiêu chuẩn sha3 (vì sự phục hồi của riêng tôi dường như cho thấy $d=c$ là lựa chọn tốt hơn), tôi chỉ chỉnh sửa câu hỏi để làm cho điều đó rõ ràng hơn. Tôi (không chính xác) chỉ nghĩ về các cuộc tấn công va chạm. Dù sao, câu trả lời bằng poncho là hoàn toàn thỏa đáng.
kelalaka avatar
lá cờ in
Liên kết cuối cùng đề cập đến lý do của NIST và sau đó họ sửa chữa trên sê-ri SHAKE.
Điểm:4
lá cờ my

Tại sao kích thước đầu ra chính xác bằng một nửa dung lượng cho SHA-3?

Bởi vì các cuộc tấn công va chạm không phải là mối quan tâm duy nhất; chúng tôi cũng hy vọng rằng, đối với các cuộc tấn công tạo ảnh trước (và tạo ảnh trước thứ hai), cách tấn công tốt nhất cũng không tốt hơn cách tấn công vũ phu (mất một khoảng thời gian dự kiến $2^n$ đánh giá băm cho một $n$hàm băm -bit).

Đối với SHA-3, chúng tôi có phương pháp thay thế này:

  • Chọn một số lượng lớn các hình ảnh ban đầu $A_1, A_2, ..., A_k$ và tính toán trạng thái trung gian khi chúng được trao cho SHA-3 $\alpha_1, \alpha_2, ..., \alpha_k$

  • Chọn một số lượng lớn các hình ảnh cuối cùng $B_1, B_2, ..., B_k$ và sử dụng thực tế là hoán vị Keccak là không thể đảo ngược, tính toán từ trạng thái cuối cùng đã biết (xuất ra giá trị đích) trạng thái trung gian cần thiết sẽ dẫn đến trạng thái cuối cùng; những trạng thái trung gian này là $\beta_1, \beta_2, ..., \beta_k$

  • Tìm kiếm thông qua $\alpha_i$, $\beta_j$ trạng thái trung gian để tìm một cặp $\alpha_x, \beta_y$ đồng ý về bit dung lượng của chúng; gọi xor của các bit tốc độ của chúng $C$

Nếu chúng tôi tìm thấy một cặp như vậy, thì hàm băm của tin nhắn $A_x C B_y$ là giá trị mục tiêu.

Để có xác suất tốt tìm thấy một cặp như vậy, chúng ta cần phải có $j \khoảng 2^{c/2}$.

Vì vậy, để làm cho phương pháp này không dễ dàng hơn phương pháp vũ phu sẽ yêu cầu $c \ge 2n$

Simon avatar
lá cờ jp
Điều đó có ý nghĩa. Tôi đã không nghĩ về chức năng Keccak là khả nghịch. Cảm ơn vì đã khai sáng cho tôi.
Điểm:1
lá cờ us

Ngoài các cuộc tấn công va chạm và tạo ảnh trước, còn có vấn đề về các cuộc tấn công kéo dài thời gian (mà tôi nghĩ là lý do "thực sự" cho thuộc tính này của SHA3).

Nếu bạn có một hàm băm $H$ sau đó nó là hấp dẫn để điều trị $H(k,m)$ như một MAC của $m$, với khóa bí mật $k$. Thật không may, điều này không dẫn đến một MAC an toàn nếu bạn đang sử dụng các hàm băm thế hệ trước (SHA1, SHA2).

Các cuộc tấn công mở rộng chiều dài xảy ra chính xác bởi vì hàm băm xuất ra toàn bộ trạng thái bên trong. Ý tưởng đằng sau các cuộc tấn công mở rộng chiều dài là như sau: nếu $m$ là tiền tố của $m'$ sau đó đầu ra $H(k,m)$ xảy ra dưới dạng trạng thái bên trong khi tính toán $H(k,m')$. Trên thực tế, kể từ khi $H(k,m)$toàn bộ trạng thái bên trong tại một số điểm, sau đó bạn có thể tính toán $H(k,m')$ nếu bạn biết $H(k,m)$ - ngay cả khi bạn không biết $k$! Điều này vi phạm thuộc tính bảo mật mà bạn muốn từ MAC (tìm hiểu MAC của $m$ không nên giúp bạn dự đoán MAC của một $m'$, thậm chí nếu $m$ là tiền tố của $m'$). (Ở đây tôi đang đề cập đến các vấn đề về độ dài đệm, vốn không tạo ra rào cản đáng kể đối với kiểu tấn công mà tôi đang phác thảo.)

Trong cuộc thi SHA3, hầu hết các bài nộp được thiết kế để chống lại các cuộc tấn công kéo dài. Cách để làm điều này là với cái gọi là cấu trúc "đường ống rộng": chỉ cần làm cho trạng thái bên trong lớn hơn đầu ra. Nói cách khác, hàm băm chỉ xuất ra một phần trạng thái bên trong của nó khi kết thúc quá trình tính toán. Nếu bạn làm điều đó, sau đó $H(k,m)$ sẽ không chứa mọi thứ cần thiết để tính toán $H(k,m')$, và điều này cản trở cuộc tấn công kéo dài thời gian.

lá cờ pe
Để ngăn việc mở rộng độ dài với tối đa $2^n$ nỗ lực, bạn chỉ cần $n$ bit dung lượng, không phải $2n$. Dung lượng $2n$ trên SHA-3 chắc chắn nhất là để duy trì bảo mật tiền ảnh $2^n$ (thứ hai) của một lời tiên tri ngẫu nhiên với độ dài đầu ra $n$-bit.

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