2012-04-08 34 views
15

SHA384 là phiên bản rút gọn của SHA512. Nhưng tại sao mọi người lại sử dụng nó? Và hệ quả: nếu SHA384 tốt như SHA512, có bất kỳ lý do nào khi sử dụng phiên bản 512 bit không?Vì sao chọn SHA512 trên SHA384?

Tôi đang lên kế hoạch sử dụng một trong các thuật toán để xác minh tính toàn vẹn của tệp, vì vậy tôi chủ yếu quan tâm đến bảo mật.

Tôi rất sẵn lòng lắng nghe cách mọi người sử dụng thông báo SHA2 trong thực tế và tại sao bạn lại chọn một phiên bản so với phiên bản kia.

+2

SHA224 là phiên bản cắt ngắn của SHA256. Wikipedia liệt kê SHA224 là "để khớp với độ dài khóa của DES ba phím". Tôi không thể tìm thấy một tuyên bố cho SHA384, mặc dù tôi nghi ngờ một cái gì đó tương tự. – Mysticial

Trả lời

19

Vì mục đích thực tế và tương lai gần, cả SHA384 và SHA512 đều đủ tốt cho hầu hết mọi ứng dụng chống va chạm có thể tưởng tượng được. Nói chung, yếu tố quyết định chính của hash bạn sẽ sử dụng, một khi chúng tôi đang ở trên 256 bit và kháng va chạm là vô hạn cho các mục đích thực tế, chỉ cần bao nhiêu bit đầu ra bạn cần. Ví dụ, nếu bạn cần băm để tạo cả khóa HMAC 256 bit và khóa mã hóa 128 bit, SHA384 là một lựa chọn tự nhiên. Nếu bạn cần càng nhiều đầu ra càng tốt cho chi phí tính toán, nói cho đầu ra của một PRNG hoặc như đệm ngẫu nhiên, thì SHA512 có ý nghĩa.

18

SHA256 SHA1 và MD5 dễ bị tổn thương là length extension attack. SHA224, SHA384 và SHA512 không phải do giảm đầu ra thành trạng thái bên trong, SHA3 cũng không dễ bị tổn thương. Có ý nghĩ đó SHA512 và SHA384 là cả hàm băm chống va chạm mật mã tốt.

+0

SHA512 cũng rất dễ bị tấn công kéo dài. Từ SHA-2 chỉ SHA224 và SHA834 thì không. – Marqin

6

Giấy chứng nhận đã ký với SHA512 không xuất hiện để làm việc với TLS 1.2 trên Windows (see here)

Vì vậy, tôi sẽ được tái tạo chuỗi chứng chỉ của tôi sử dụng SHA-384 (hoặc Tôi cho rằng tôi có thể sử dụng SHA-256) .

Trong khi may mắn thay, tôi chưa phát hành bất kỳ chứng chỉ nào, chuỗi trong trang được liên kết đề xuất cách giải quyết/sửa lỗi cho những người bị mắc kẹt với SHA-512.

HTH!