Tại sao SHA-224 và SHA-256 sử dụng các giá trị ban đầu khác nhau?


9

Wikipedia - SHA-2 nói

SHA-224 giống hệt với SHA-256, ngoại trừ:

  • các giá trị biến ban đầu h0 đến h7 là khác nhau và
  • đầu ra được xây dựng bằng cách bỏ qua h7.

RFC3874 - Hàm băm một chiều 224 bit: SHA-224 nói

Việc sử dụng một giá trị ban đầu khác nhau đảm bảo rằng giá trị tiêu hóa tin nhắn SHA-256 bị cắt ngắn không thể bị nhầm lẫn với giá trị tiêu hóa tin nhắn SHA-224 được tính trên cùng một dữ liệu.

Những câu hỏi của tôi:

  1. Là lý do được trích dẫn ở trên là lý do duy nhất tại sao SHA-224 và SHA-256 sử dụng các giá trị ban đầu khác nhau?

  2. Tại sao điều quan trọng là đảm bảo rằng giá trị tiêu hóa tin nhắn SHA-256 không thể bị nhầm lẫn với giá trị tiêu hóa tin nhắn SHA-224?

  3. Nếu chúng ta sử dụng cùng một giá trị ban đầu cho cả hai hàm băm, thì tính bảo mật của hàm băm sẽ xấu đi? Nếu có, làm thế nào?


7
Đây là gần như chắc chắn một sự phù hợp tốt hơn trên crypto.SE .
Peter Taylor

1
Ít nhất câu hỏi 2 dường như lạc đề ở đây. Rốt cuộc, nó liên quan đến cách mọi người sử dụng máy tính và những gì thuận tiện cho họ; không thực sự là một câu hỏi TCS.
Jukka Suomela

Câu hỏi liên quan trên Crypto.SE: crypto.stackexchange.com/questions/3946/ mẹo
mikeazo

Câu trả lời:


4
  1. Điều này Chúng tôi gọi là Tách tên miền, khi chúng tôi sử dụng cùng một thuật toán cho kích thước đầu ra khác nhau.
  2. Việc phân tách là cần thiết bởi vì nếu tôi tìm thấy hai thông báo có giá trị băm (SH256), chỉ khác ở octet cuối cùng và sau đó tôi có thể xuất bản giá trị băm dưới dạng 7 octet đầu tiên cho thấy tôi đã sử dụng SHA224. vì tôi đã có hai tin nhắn va chạm vào SHA224 mà tôi có thể sử dụng sau này để tấn công giả mạo. Sử dụng phân tách miền chúng ta có thể tránh tình trạng như vậy
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.