Trình tạo SHA-384

5 trên 2 xếp hạng

Trình tạo SHA-384 là công cụ miễn phí giúp chuyển đổi mọi chuỗi đầu vào thành một giá trị băm SHA-384 có độ dài cố định.

Giá trị băm SHA-384 dùng để làm gì?

SHA-384 sử dụng một hàm toán học một chiều để tạo dấu vân tay dữ liệu gọn nhẹ dài 384 bit. Cùng một đầu vào luôn cho ra cùng một giá trị tóm lược có độ dài cố định, còn chỉ một thay đổi nhỏ trong đầu vào cũng gần như chắc chắn sẽ tạo ra kết quả khác. Giá trị tóm lược SHA-384 không phải là văn bản được mã hóa vì thuật toán không dùng khóa và không có quy trình giải mã tương ứng.

SHA-384 thuộc họ SHA-2. Thuật toán này do Cơ quan An ninh Quốc gia Hoa Kỳ thiết kế, được Viện Tiêu chuẩn và Công nghệ Quốc gia Hoa Kỳ công bố lần đầu vào năm 2001, sau đó được chuẩn hóa trong FIPS 180-2 vào năm 2002. Về cấu trúc bên trong, SHA-384 sử dụng cấu trúc của SHA-512 nhưng có các giá trị khởi tạo khác và đầu ra được rút ngắn.

SHA-384 hiện còn an toàn không?

Có. SHA-384 vẫn được xem là an toàn cho các mục đích băm mật mã thông thường, miễn là được dùng đúng trường hợp. Hiện chưa có phương pháp tấn công va chạm hoặc tìm ảnh trước nào khả thi đối với toàn bộ thuật toán.

Giá trị tóm lược dài 384 bit mang lại khả năng kháng va chạm lên đến 192 bit. Mức này mạnh hơn đáng kể so với các thuật toán cũ như MD5 và SHA-1. Cả hai đều đã có những phương pháp tấn công va chạm khả thi và không nên được chọn cho các hệ thống mới có yêu cầu bảo mật.

SHA-384 chưa bị loại bỏ khỏi vai trò một hàm băm đa dụng. Tuy nhiên, tuyệt đối không dùng trực tiếp thuật toán này để lưu mật khẩu. SHA-384 được thiết kế để chạy nhanh, nên kẻ tấn công có thể thử số lượng lớn mật khẩu dự đoán. Khi lưu mật khẩu, hãy dùng hàm băm mật khẩu được thiết kế để tiêu tốn nhiều tài nguyên như Argon2id, scrypt, bcrypt hoặc PBKDF2, kèm một salt riêng cho từng mật khẩu, thay vì SHA-384.

Cách dùng Trình tạo SHA-384

Nhập chính xác chuỗi cần băm, chạy công cụ rồi sao chép giá trị hiển thị trong trường kết quả Mã băm SHA-384. Phép tính được thực hiện trên máy chủ bằng phần triển khai hàm băm của PHP.

Dữ liệu đầu vào được gửi đến máy chủ qua HTTPS và không được lưu trữ. Tuy nhiên, dữ liệu vẫn rời khỏi thiết bị trong quá trình xử lý. Vì vậy, đừng gửi mật khẩu, khóa riêng tư, cụm từ khôi phục hoặc bất kỳ thông tin nào không bao giờ nên được chuyển đến một dịch vụ từ xa.

Ví dụ, đầu vào hello tạo ra giá trị tóm lược SHA-384 gồm 96 ký tự là 59e1748777448c69de6b800d7a33bbfb9ff1b463e44354c3553bcdb9c666fa90125a3c79f90397bdf5f6a13de828684f. Nếu nhập lại đúng năm chữ cái thường đó, bạn sẽ nhận được cùng một giá trị tóm lược SHA-384. Các đầu vào như Hello, hello có dấu cách ở cuối và hello. đều tạo ra các giá trị băm SHA-384 khác nhau.

Cách đọc kết quả và xử lý đầu vào dễ gây nhầm lẫn

Một kết quả SHA-384 gồm 384 bit, tương đương 48 byte hoặc 96 ký tự thập lục phân. Trong trường Mã băm SHA-384 của công cụ này, dạng thập lục phân sử dụng các chữ số từ 0 đến 9 và chữ cái từ a đến f, dù một hệ thống khác có thể hiển thị các chữ cái ở dạng viết hoa. Việc viết hoa hay viết thường các chữ cái trong giá trị tóm lược SHA-384 không làm thay đổi giá trị cơ bản của nó.

  • Dấu cách và dấu xuống dòng: trong Trình tạo SHA-384 này, dấu cách ở đầu, dấu cách ở cuối và ký tự xuống dòng đều là một phần của các byte đầu vào được gửi đi, vì vậy chúng làm thay đổi giá trị băm.
  • Văn bản có dấu và ký tự ngoài bảng chữ cái Latinh: SHA-384 xử lý byte chứ không xử lý ký tự. Hai chuỗi trông giống hệt nhau vẫn có thể khác nếu chúng sử dụng kiểu chuẩn hóa Unicode hoặc bảng mã ký tự khác nhau.
  • Số: một giá trị được nhập như 00125 được xử lý dưới dạng dữ liệu chuỗi. Giá trị băm của nó không giống 125.
  • Đầu vào trống: thuật toán SHA-384 quy định một giá trị tóm lược hợp lệ cho chuỗi byte rỗng. Giá trị này khác với kết quả băm của một dấu cách hoặc một ký tự xuống dòng.
  • Đầu vào dài: bất kể độ dài đầu vào là bao nhiêu, đầu ra vẫn luôn gồm 96 ký tự thập lục phân.

Có thể giải mã hoặc đảo ngược SHA-384 không?

Không. Không thể giải mã giá trị băm SHA-384 vì quá trình băm không lưu lại văn bản ban đầu dưới dạng có thể đảo ngược. Rất nhiều đầu vào khả dĩ được ánh xạ vào không gian đầu ra cố định dài 384 bit.

Do SHA-384 được thiết kế để chạy nhanh, kẻ tấn công có thể nhanh chóng thử nhiều giá trị dự đoán bằng cách băm từng giá trị rồi so sánh kết quả. Vì vậy, những giá trị ngắn, phổ biến hoặc dễ đoán có thể bị tìm ra bằng cách dò từ điển hoặc vét cạn. Độ mạnh của SHA-384 không thể biến một mật khẩu yếu thành an toàn, cũng không biến một mã định danh có entropy thấp thành thông tin bí mật.

Các cơ sở dữ liệu trực tuyến có thể chứa những giá trị băm SHA-384 đã được tính sẵn cho các chuỗi phổ biến. Việc tìm thấy một mục trùng khớp chỉ là tra cứu, không phải đảo ngược thuật toán.

SHA-384 hiện được dùng ở đâu?

SHA-384 được sử dụng khi một giao thức, đặc tả hoặc hệ thống hiện có yêu cầu giá trị tóm lược SHA-2 dài 384 bit. Các ứng dụng hợp lệ thường gặp gồm tạo tổng kiểm tra cho tệp, phát hiện dữ liệu trùng lặp, lưu bản ghi toàn vẹn và bảo đảm khả năng tương thích với phần mềm đang lưu các giá trị SHA-384.

  • So sánh tệp đã tải xuống với tổng kiểm tra SHA-384 do đơn vị phân phối công bố.
  • Tạo lại giá trị tóm lược mà cơ sở dữ liệu, API hoặc định dạng tài liệu cũ yêu cầu.
  • Tạo đầu vào cho một giao thức yêu cầu rõ ràng SHA-384.

Một tổng kiểm tra SHA-384 thông thường có thể phát hiện thay đổi ngoài ý muốn, nhưng không thể chứng minh ai đã tạo ra dữ liệu. Nó cũng không thể ngăn kẻ tấn công thay thế cả tệp lẫn giá trị băm đã công bố nếu người đó có thể sửa cả hai. Với thông điệp cần xác thực, hãy dùng HMAC-SHA-384 kèm khóa bí mật hoặc một cơ chế chữ ký số phù hợp.

Nếu một đặc tả cho phép dùng nhiều biến thể SHA-2, SHA-256 được sử dụng rộng rãi hơn và có giá trị tóm lược ngắn hơn. SHA-512 có thể phù hợp với những hệ thống yêu cầu rõ ràng đầu ra đầy đủ dài 512 bit. Trình tạo SHA-256 và Trình tạo SHA-512 có thể tạo các định dạng tương ứng.

Câu hỏi thường gặp

SHA-384 có phải chỉ là SHA-512 bị cắt bớt ký tự không?

Không. SHA-384 sử dụng cấu trúc nén tổng quát giống SHA-512, nhưng bắt đầu bằng các giá trị khởi tạo khác trước khi rút gọn trạng thái cuối xuống còn 384 bit. Chỉ cắt một giá trị tóm lược SHA-512 xuống còn 96 ký tự thập lục phân sẽ không tạo ra SHA-384.

SHA-384 có bị ảnh hưởng bởi tấn công mở rộng độ dài không?

SHA-384 sử dụng cấu trúc Merkle–Damgård, nhưng đầu ra được rút gọn của nó che giấu 128 bit trong trạng thái SHA-512 nội bộ, khiến kiểu tấn công mở rộng độ dài tiêu chuẩn không khả thi trong thực tế. Dù vậy, không nên xem một cấu trúc tự ghép trực tiếp bí mật vào thông điệp là mã xác thực thông điệp. Hãy dùng HMAC-SHA-384 khi cần khóa bí mật để xác thực dữ liệu.

Tôi có thể dùng công cụ này để băm tệp không?

Công cụ này được thiết kế cho đầu vào dạng chuỗi, không phải để tải tệp lên. Vì trình tạo chạy trên máy chủ này chỉ chấp nhận đầu vào dạng chuỗi, việc dán nội dung tệp nhị phân vào trường văn bản có thể làm thay đổi các byte do quá trình chuyển đổi bảng mã hoặc dấu xuống dòng. Với tệp, hãy dùng tiện ích hệ thống như sha384sum hoặc một thư viện mật mã tương đương, rồi so sánh đầy đủ cả 96 ký tự thập lục phân.

Tại sao một công cụ tính SHA-384 khác lại cho kết quả khác?

Hai đầu vào có thể khác nhau ở cấp độ byte. Trước tiên, hãy kiểm tra dấu cách, cách viết hoa và ký tự kết thúc dòng, bao gồm cả ký tự xuống dòng cuối cùng. Nếu có liên quan đến đầu vào và các hệ thống đang dùng, hãy kiểm tra thêm bảng mã ký tự, kiểu chuẩn hóa Unicode và liệu một hệ thống có chèn dấu thứ tự byte hay không. Hãy so sánh chính xác từng byte trước khi cho rằng một trong hai giá trị tóm lược bị sai.

Công cụ phổ biến