Điểm:3

Việc thêm một văn bản đã biết vào đầu vào có làm giảm bảo mật hàm băm không?

lá cờ cn

Hãy tưởng tượng tôi muốn băm một khóa riêng K (tức là hàm băm(K)), nhưng điều gì sẽ xảy ra nếu tôi băm nối khóa K và tên người dùng, giả sử hàm băm sau: hàm băm ("john cena" + K )

Giả sử tất cả mọi người (ngay cả hacker) đều biết rằng "john cena" được sử dụng để thực hiện hàm băm: nó có thể giúp tin tặc đảo ngược hàm băm không?

Nói cách khác, có sự khác biệt về bảo mật khi thực hiện hàm băm(K) hoặc hàm băm ("john cena" + K ) (nơi "john cena" được mọi người biết đến)?
Bởi vì có vẻ như việc cung cấp thông tin đầu vào một cách trực quan sẽ cung cấp trợ giúp cho một cuộc tấn công dưới bất kỳ hình thức nào.

kelalaka avatar
lá cờ in
Một bản lừa đảo thậm chí có liên quan của [Liệu kiến ​​thức về SHA256(bí mật ⥠hằng số đã biết) ngoài SHA256(bí mật) có cung cấp bất kỳ thông tin nào về bí mật không?](https://crypto.stackexchange.com/q/66743/18298)
Điểm:3
lá cờ fr

Hàm băm mật mã an toàn cung cấp kháng cự, cái mà Wikipedia định nghĩa theo cách này:

[F]hoặc về cơ bản là tất cả các đầu ra được chỉ định trước, không thể tính toán được bất kỳ đầu vào nào băm vào đầu ra đó; tức là, với y, rất khó để tìm một x sao cho h(x) = y.

Điều đó có nghĩa là đối với hàm băm mật mã an toàn, cách hiệu quả nhất để xác định đầu vào là bằng vũ lực. Lực lượng vũ phu dễ dàng như thế nào phụ thuộc vào entropy trong đầu vào. Nếu khóa mật mã của bạn là 128 bit và bạn đang sử dụng SHA-256, cung cấp bảo mật 256 bit chống lại các cuộc tấn công tạo ảnh trước, thì cách tấn công vũ phu tốt nhất là đoán đầu vào 128 bit.

Khi bạn sử dụng một chuỗi cố định, nó sẽ không thêm bất kỳ entropy nào vào hàm băm, vì vậy nó không làm cho nó khó hơn nữa. Nhưng nó cũng không làm cho việc đoán đầu vào trở nên dễ dàng hơn bởi vì việc đoán đầu vào (thực hiện một cuộc tấn công tạo ảnh trước) được cho là không khả thi về mặt tính toán.

Một điều cần lưu ý là SHA-256 dễ bị tấn công mở rộng độ dài khi kẻ tấn công biết một đầu ra có thể tạo ra các giá trị băm hợp lệ bắt đầu bằng cùng một tiền tố mà không cần biết tiền tố đó. Nếu điều này quan trọng trong tình huống của bạn, hãy sử dụng hàm băm không dễ bị ảnh hưởng bởi điều này, chẳng hạn như một trong các hàm băm SHA-3 hoặc BLAKE2.

poncho avatar
lá cờ my
Chỉ cần đánh bại tôi với nó ...
Loris Foe avatar
lá cờ cn
Cảm ơn bạn vì câu trả lời! Nhưng : "với y, khó tìm được x sao cho h(x) = y" Liệu phần "rất khó tìm được x" có còn đúng ngay cả khi chúng ta biết **một phần của x** ( chuỗi "john cena") ?
bk2204 avatar
lá cờ fr
Vâng, nó vẫn đúng. Trên thực tế, có thể chỉ ra rằng nếu biết một phần đầu vào làm suy yếu hàm băm, thì hàm băm đó sẽ không đáp ứng được các đảm bảo bảo mật của nó nữa.
lá cờ za
Không có gì sai với BLAKE2, nhưng có [sự thay thế tốt hơn](https://github.com/BLAKE3-team/BLAKE3/blob/master/README.md) ngoài đó ^^
bk2204 avatar
lá cờ fr
BLAKE3 nhanh hơn, nhưng cá nhân tôi thấy nó không đủ thận trọng theo ý thích của tôi và tôi chưa tìm thấy đủ số lượng phân tích mật mã để thay đổi suy nghĩ của mình về điều đó. Kết quả là, tôi đã chọn không giới thiệu nó ở đây.
Điểm:2
lá cờ cn

có vẻ như việc cung cấp thông tin đầu vào một cách trực quan sẽ cung cấp trợ giúp cho một cuộc tấn công dưới bất kỳ hình thức nào.

Vâng, vâng, nhưng thực tế là không. Nếu bạn biết điều đó h = hash("john cena" + K), sau đó bạn có một số thông tin về hình ảnh trước của h. Nhưng thông tin đó là nó bắt đầu bằng "John Cena". Điều đó không giúp ích gì trong việc tìm kiếm K.

(Chính xác hơn, h có thể có nhiều hình ảnh trước và bạn biết rằng một trong những hình ảnh trước đó bắt đầu bằng K. Điều đó không thực sự quan trọng vì đối với hàm băm, bạn không thể tìm thấy xung đột.)

Các hàm băm được sử dụng phổ biến được tính toán theo kiểu phân luồng từ trái sang phải: phép tính của hàm băm(P + K) bao gồm xử lý P, sau đó xử lý Kvà áp dụng chức năng hoàn thiện. Với thiết kế này, tính toán hàm băm(P + Ki) cho nhiều giá trị của ki chính xác là đắt như tính toán hàm băm (Ki), cộng với một phép tính duy nhất để xử lý P mà không cần phải được lặp lại cho mỗi ki. Mặt khác, tính toán hàm băm(Ki + S) cho nhiều giá trị của ki yêu cầu xử lý S lại mỗi lần như vậy có phần đắt hơn so với tính toán ki.

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