Điểm:0

Giải mã đầu vào từ đầu ra đã biết bằng SHA512?

lá cờ in

Câu hỏi cơ bản. Tôi đang tự học về hàm băm.

Nếu tôi chèn xin chào làm đầu vào trong hàm băm SHA512 (ví dụ: sử dụng cái này) Tôi nhận được hàm băm sau: 9b71d224bd62f3785d96d46ad3ea3d73319bfbc2890caadae2dff72519673ca72323c3d99ba5c11d7c7acc6e14b8c5da0c4663475c2e5c3adef46f73bcdec043

Tôi nhận thấy rằng thuật toán SHA512 mang lại kết quả giống nhau cho dù tôi nhập xin chào hôm nay hoặc ngày mai, hoặc nếu tôi sử dụng máy tính của tôi hoặc của chị gái tôi.

Với những điều trên, điều này có nghĩa là biết mã băm được xuất ra ở trên tiên nghiệm cho phép tôi giải mã rằng đầu vào SHA512 tương ứng của nó là 'xin chào'?

pigeonburger avatar
lá cờ co
Có (trừ khi có sự trùng lặp trong đó một chuỗi ngẫu nhiên hoàn toàn khác xảy ra xung đột và cả hai đều có giá trị băm giống hệt nhau). Nếu bạn nhớ rằng một miếng bánh mì kẹp thịt bò đến từ một con bò, bạn có thể giải mã rằng những miếng bánh mì kẹp thịt bò khác có thể được làm từ bò. Điều duy nhất bạn không thể làm là biến miếng thịt bò trở lại thành con bò - bạn phải có *kiến thức trước đó* về cách nó được tạo ra. Điều tương tự với băm.
Điểm:2
lá cờ my

Tôi nhận thấy rằng thuật toán SHA512 mang lại cùng một kết quả cho dù tôi nhập xin chào hôm nay hay ngày mai hay nếu tôi sử dụng máy tính của mình hoặc của chị gái tôi.

Chà, vâng - các hàm băm sẽ không hữu ích lắm nếu đôi khi chúng đưa ra các câu trả lời khác nhau.

Cách sử dụng cổ điển cho hàm băm nằm trong thuật toán chữ ký; thuật toán cốt lõi thường chỉ xử lý các giá trị có kích thước giới hạn và chúng tôi thường muốn ký các thông báo khá dài. Vì vậy, những gì chúng tôi làm là chuyển thông điệp dài của mình thông qua hàm băm (để tạo một giá trị ngắn, trong trường hợp này là độ dài 512 bit) và ký vào giá trị ngắn đó. Nếu trình xác minh gọi hàm băm trên cùng một thông báo ban đầu và nhận được một giá trị khác, thì quá trình xác minh sẽ không hoạt động.

Với những điều trên, điều này có nghĩa là việc biết trước mã băm được xuất ra ở trên cho phép tôi giải mã rằng đầu vào SHA512 tương ứng của nó là 'xin chào'?

Chà, những gì bạn có thể làm là thử thực hiện SHA512 trên nhiều đầu vào khác nhau; nếu một trong các đầu vào tình cờ là 'xin chào', thì vâng, bạn sẽ thấy đầu ra tương tự và suy ra rằng (trừ một sự trùng hợp đáng kinh ngạc) đầu vào ban đầu cũng là 'xin chào'.

Tuy nhiên, đó thực chất là điều tốt nhất bạn có thể làm; với một hàm băm tốt (và SHA512 là một hàm băm tốt), về cơ bản không có cách nào để khôi phục chuỗi gốc (hoặc một chuỗi khác băm thành cùng một giá trị) mà không cần thử nhiều cách đoán khác nhau.

Điểm:0
lá cờ ng
SSA

Các hàm băm mật mã không phải là hàm tạo đầu ra ngẫu nhiên. vì vậy với cùng một đầu vào, nó luôn cho cùng một đầu ra. Các hàm băm ở đây, được sử dụng để kiểm tra tính toàn vẹn của tin nhắn, do đó nếu bất kỳ bit nào bị thay đổi khi người nhận nhận được tin nhắn của người gửi, thì giá trị Hash sẽ khác và trở nên có thể chối bỏ được.


Bây giờ, câu hỏi của bạn về cách kiểm tra Hash đã cho là duy nhất đối với đầu vào. tức là, tính chất một đối một của nó. vì vậy, theo thời gian do va chạm, các hàm băm mới đã tồn tại cho ex. MD4,MD5, SHA1,SHA2.. Rất khó để có được đầu vào của Hash o/p đối với hàm băm mới hơn như SHA512 hoặc SHA256.


JFYI, cơ chế lưu trữ mật khẩu cũng sử dụng hàm Hash cùng với muối (số ngẫu nhiên) để tránh xung đột, vì nhiều người có xu hướng sử dụng mật khẩu dễ đoán và có thể dẫn đến các vấn đề nghiêm trọng.

Điểm:0
lá cờ it

điều này có nghĩa là việc biết trước mã băm được xuất ra ở trên cho phép tôi giải mã rằng đầu vào SHA512 tương ứng của nó là 'xin chào'?

Có và không...

-- Có, bạn có thể so sánh hàm băm để tìm ra nó từ văn bản thuần 'xin chào'. Các giá trị băm mà bạn thu thập từ một từ hoặc một cụm từ là các thành phần của cái gọi là bảng cầu vồng trong ngành. Một bảng chứa hàm băm của rất nhiều từ và mẫu phổ biến đã biết cho mật khẩu.

Đó cũng là lý do tại sao sử dụng ngày sinh của bạn hoặc 123456 là lựa chọn tồi vì giá trị băm của chúng rất dễ bị bảng nhận ra.

-- Không, nó là không phải một giải mã. Bạn đã dán nhãn câu hỏi là "chức năng một chiều", phải không? Vì vậy, không có cách giải mã trở lại cho hoạt động băm.

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