Điểm:4

Có phải KMAC chỉ là SHA-3-256(KEY || tin nhắn)

lá cờ ng

Dựa theo sức mạnh keccak bạn có:

Không giống như SHA-1 và SHA-2, Keccak không có điểm yếu về độ dài mở rộng, do đó không cần cấu trúc lồng nhau HMAC. Thay vào đó, tính toán MAC có thể được thực hiện bằng cách chỉ cần thêm khóa vào trước thông báo.

Có nghĩa là tôi có thể nhận được MAC của một thông điệp chỉ bằng máy tính $\operatorname{SHA-3-256}(KEY \mathbin\| tin nhắn)$. Nếu đây là trường hợp, tại sao sau đó làm $\operatorname{KMAC}$ hiện hữu?

$\operatorname{KMAC}$ giống như chỉ $\operatorname{SHA-3-256}(KEY \mathbin\| tin nhắn)$? Nếu không thì làm thế nào là sử dụng $\operatorname{KMAC}$ để tạo thẻ xác thực khác với máy tính $\operatorname{SHA-3-256}(KEY \mathbin\| tin nhắn)$?

Điểm:5
lá cờ in

KMAC tiêu chuẩn còn hơn thế nữa nhờ tách miền tiền tố; NIST SP 800-185

KMAC128(K,X,L,S):

Điều kiện hiệu lực: $\text{len}(K) < 2^{2040}$$0 \le L < 2^{2040}$$\text{len}(S) < 2^{2040}$

  1. newX = bytepad(encode_string(K), 168) || X|| right_encode(L).
  2. trả lại cSHAKE128(newX, L, âKMACâ,S).

cSHAKE128(X,L,N,S):

Điều kiện hiệu lực: $\text{len}(N) < 2^{2040}$$\text{len}(S) < 2^{2040}$

  1. Nếu N="" và S="": trả lại SHAKE128(X, L);
  2. Khác: trả về KECCAK[256](bytepad(encode_string(N) || encode_string(S), 168) || X || 00,L)

NIST FIPS 202

LẮC128(M, d) = KECCAK[256] (M || 1111, d),


thông tin của NIST về hậu tố;

Hậu tố hỗ trợ tên miền tách biệt; tức là, nó phân biệt các đầu vào cho KECCAK[c] phát sinh từ các hàm băm SHA-3 từ các đầu vào phát sinh từ SHA-3 XOF được xác định trong Phần. 6.2, cũng như các tên miền khác có thể được xác định trong tương lai.

Nói cách khác, chúng tôi có các nhà tiên tri ngẫu nhiên khác nhau cho mỗi lần phân tách miền. SHA3 ​​và Blake2 gần với các tiên tri ngẫu nhiên hơn SHA256 vì chúng không bị tấn công kéo dài.

kelalaka avatar
lá cờ in
Có thể xem các chức năng khác (Keccak và Sponge) [tại đây](https://crypto.stackexchange.com/a/89665/18298)
Finlay Weber avatar
lá cờ ng
Theo "tiền tố phân tách miền", bạn đề cập đến chuỗi tùy chỉnh mà cSHAKE sử dụng?
kelalaka avatar
lá cờ in
Chính xác, với [tách tên miền](https://crypto.stackexchange.com/a/83307/18298), cốt lõi của hàm băm có thể hoạt động giống như các tiên tri ngẫu nhiên khác nhau.
kelalaka avatar
lá cờ in
Theo nghĩa tùy chỉnh, chúng được cố định bởi NIST trong quá trình tiêu chuẩn hóa. Tôi đã chèn đúng cSHAKE128, cũng có 256 phiên bản.
Finlay Weber avatar
lá cờ ng
Được rồi cảm ơn! Tôi đang dần tiêu hóa điều này. Điều xuất hiện tiếp theo là: nếu chuỗi tùy chỉnh này thực sự được NIST sửa, lợi thế của việc sử dụng KMAC so với việc chỉ thực hiện thủ công SHA-3-256(KEY || message) là gì?
kelalaka avatar
lá cờ in
SHA3 ​​có khả năng chống tấn công theo chiều dài tự nhiên và bạn rõ ràng sẽ yêu cầu điều đó. Bạn đang sử dụng SHA-3-256 trực tiếp như cùng một nhà tiên tri ngẫu nhiên. Theo thời gian, chúng tôi đã học được rằng chúng tôi không nên làm điều này trong khi chúng tôi có thể tách các miền.

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