Trình tạo SHA-3/384

5 trên 2 xếp hạng

Trình tạo SHA-3/384 là công cụ miễn phí giúp chuyển đổi bất kỳ chuỗi nào thành hàm băm mật mã SHA3-384 có độ dài cố định.

SHA3-384 là gì và hiện còn an toàn không?

SHA3-384 là một hàm băm mật mã hiện đại với giá trị băm 384 bit. Hiện chưa có phương pháp thực tế nào phá được thuật toán này. Kết quả gồm 48 byte, thường được biểu diễn bằng 96 ký tự thập lục phân.

SHA3-384 chấp nhận dữ liệu đầu vào có độ dài bất kỳ và luôn tạo ra kết quả có độ dài cố định. Thuật toán được thiết kế để chống tìm ảnh ngược, khiến việc khôi phục dữ liệu đầu vào từ giá trị băm trở nên bất khả thi về mặt tính toán. Trong công cụ này, cùng một dãy byte đầu vào luôn tạo ra cùng một giá trị băm, còn một thay đổi rất nhỏ ở đầu vào cũng sẽ cho kết quả khác biệt đáng kể.

Hàm SHA3-384 được công cụ này sử dụng thuộc họ SHA-3, do Viện Tiêu chuẩn và Công nghệ Quốc gia Hoa Kỳ chuẩn hóa vào năm 2015 trong FIPS 202. Hàm này dựa trên Keccak, do Guido Bertoni, Joan Daemen, Michaël Peeters và Gilles Van Assche thiết kế. NIST đã chọn Keccak là thuật toán chiến thắng trong cuộc thi SHA-3 vào năm 2012.

SHA3-384 sử dụng cấu trúc sponge Keccak với tốc độ 832 bit và dung lượng 768 bit. Cấu trúc sponge của SHA3-384 khác với cấu trúc nội bộ mà SHA-2 sử dụng. Khả năng chống va chạm tổng quát dự kiến là 192 bit, nghĩa là với các phương pháp đã biết, việc tìm hai đầu vào có cùng giá trị băm sẽ đòi hỏi năng lực tính toán không khả thi.

Làm thế nào để tạo hàm băm SHA3-384?

Nhập chính xác chuỗi bạn muốn băm, sau đó lấy giá trị được trả về trong trường Mã băm SHA-3/384. Kết quả là một chuỗi thập lục phân gồm 96 ký tự, sử dụng các chữ số từ 0 đến 9 và các chữ cái từ a đến f.

Ví dụ, đầu vào invoice-2026-09.pdf tạo ra một giá trị băm 384 bit. Chỉ cần viết hoa chữ cái đầu tiên, thêm dấu cách ở cuối hoặc chèn ký tự xuống dòng, bạn sẽ nhận được một giá trị băm khác. Trong mọi trường hợp, kết quả vẫn gồm 96 ký tự thập lục phân.

Quá trình xử lý diễn ra trên máy chủ. Dữ liệu đầu vào của bạn được truyền đến máy chủ qua HTTPS và không được lưu trữ.

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

Không. Không thể giải mã hàm băm SHA3-384 vì băm không phải là mã hóa và không có khóa giải mã. Thuật toán chủ động loại bỏ thông tin khi tạo dấu vân tay có độ dài cố định.

Kẻ tấn công vẫn có thể đoán các đầu vào có khả năng đã được nhập vào công cụ này, tính giá trị băm SHA3-384 cho từng giá trị rồi so sánh kết quả. Cách này khả thi khi giá trị ban đầu thuộc một tập hợp nhỏ hoặc dễ đoán, chẳng hạn như mật khẩu phổ biến, mã PIN ngắn hoặc số tham chiếu đã biết. Giá trị băm 384 bit của SHA3-384 không thể biến một đầu vào yếu thành dữ liệu khó đoán.

Vì vậy, không được dùng riêng SHA3-384 để lưu trữ mật khẩu. Việc lưu mật khẩu cần một hàm băm mật khẩu có salt và được thiết kế để tiêu tốn nhiều tài nguyên, chẳng hạn như Argon2id, scrypt, bcrypt hoặc PBKDF2, với các tham số phù hợp với hệ thống quản lý tài khoản.

Các ứng dụng hiện nay của SHA3-384

SHA3-384 phù hợp khi hệ thống yêu cầu cụ thể giá trị băm SHA-3 dài 384 bit hoặc khi một thiết kế mới ưu tiên cấu trúc sponge của SHA-3. Các trường hợp sử dụng hợp lệ gồm:

  • kiểm tra xem tệp đã tải xuống hoặc truyền đi có còn khớp với tổng kiểm SHA3-384 được công bố hay không;
  • phát hiện nội dung trùng lặp bằng cách so sánh các giá trị băm, đồng thời xác nhận những kết quả nghi trùng trước khi xóa dữ liệu;
  • tạo mã định danh nội dung trong các hệ thống đã chuẩn hóa theo SHA3-384;
  • duy trì khả năng tương thích với API, kho lưu trữ hoặc giao thức mật mã quy định chính xác thuật toán này;
  • băm dữ liệu trước khi ký số, nếu cơ chế chữ ký liên quan cho phép sử dụng SHA3-384.

Giá trị băm SHA3-384 không khóa do công cụ này tạo ra không chứng minh được ai đã tạo thông điệp. Bất kỳ ai có thông điệp đều có thể tính ra cùng một giá trị. Khi cần xác thực nguồn gốc, hãy dùng HMAC-SHA3-384 hoặc chữ ký số thay vì giá trị được trả về tại đây.

SHA3-256 tạo giá trị băm thập lục phân ngắn hơn, gồm 64 ký tự, và thường đáp ứng đủ khi cần SHA-3 nhưng không bắt buộc đầu ra 384 bit. SHA3-512 tạo ra 128 ký tự thập lục phân và có thể cần thiết nếu giao thức quy định giá trị băm 512 bit. Hãy chọn biến thể mà hệ thống nhận dữ liệu yêu cầu, không tùy ý thay đổi kích thước giá trị băm.

Nên xử lý dấu cách, Unicode và đầu vào trống như thế nào?

Để tạo lại giá trị từ công cụ này trong một hệ thống khác, hãy băm đúng dãy byte được yêu cầu, bao gồm dấu cách, dấu câu, bảng mã ký tự và ký tự kết thúc dòng. SHA3-384 xử lý byte, vì vậy những đoạn văn bản trông giống nhau vẫn có thể cho kết quả khác nếu cách biểu diễn bên dưới không giống nhau.

  1. Report 7 và report 7 là hai đầu vào khác nhau vì chữ hoa và chữ thường làm thay đổi dữ liệu đầu vào.
  2. Dấu cách ở cuối hoặc ký tự xuống dòng không nhìn thấy vẫn là một phần của đầu vào và sẽ làm thay đổi giá trị băm.
  3. Số được nhập dưới dạng văn bản sẽ được băm theo byte ký tự. Văn bản 007 khác với 7.
  4. Ký tự có dấu và ký tự không thuộc bảng chữ cái Latinh đều là đầu vào hợp lệ, nhưng cả hai bên phải dùng cùng bảng mã ký tự và cùng cách chuẩn hóa Unicode.
  5. Đầu vào trống cũng có một giá trị băm SHA3-384 xác định. Giá trị này không đồng nghĩa với việc thiếu kết quả hoặc xảy ra lỗi.
  6. Đầu vào rất dài vẫn chỉ tạo ra 48 byte đầu ra, dù thời gian xử lý phụ thuộc vào lượng dữ liệu đầu vào.

Khi so sánh kết quả, hãy kiểm tra toàn bộ giá trị băm thay vì chỉ một đoạn tiền tố ngắn. Đồng thời, hãy xác nhận thuật toán cần dùng thực sự là SHA3-384, vì giá trị băm SHA-384 thuộc họ SHA-2 có cùng độ dài hiển thị nhưng giá trị hoàn toàn khác.

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

SHA3-384 có giống SHA-384 không?

Không. SHA-384 thuộc họ SHA-2, còn SHA3-384 sử dụng cấu trúc sponge Keccak được chuẩn hóa trong SHA-3. Cả hai đều tạo giá trị băm 384 bit, nhưng kết quả không tương thích với nhau.

SHA3-384 có phải là Keccak-384 không?

Không. Chuẩn SHA-3 và phiên bản Keccak ban đầu sử dụng cách đệm phân tách miền khác nhau, vì vậy SHA3-384 và Keccak-384 tạo ra các giá trị băm khác nhau cho cùng một đầu vào. Hãy kiểm tra tên thuật toán được dùng trong đặc tả trước khi so sánh giá trị.

Có thể dùng SHA3-384 trong HMAC không?

Có. HMAC-SHA3-384 là một cấu trúc có khóa đã được xác định, nhưng cần cả thông điệp lẫn khóa bí mật. Công cụ này chỉ trả về giá trị băm SHA3-384 không khóa, vì vậy không thể thay thế HMAC.

SHA-3 có bị tấn công mở rộng độ dài không?

SHA-3 không bị ảnh hưởng bởi kiểu tấn công mở rộng độ dài cổ điển vốn tác động đến các hàm băm Merkle-Damgård không khóa. Tuy nhiên, điều đó không biến giá trị băm SHA3-384 do công cụ này tạo ra thành thẻ xác thực an toàn. Với thông điệp cần xác thực, hãy dùng HMAC-SHA3-384 hoặc một cơ chế chữ ký đã được phê duyệt.

Tôi có thể dùng công cụ này để tính tổng kiểm của tệp không?

Công cụ này được thiết kế cho đầu vào dạng chuỗi, vì vậy không nên mặc định rằng công cụ sẽ đọc tệp dưới dạng byte thô. Để tính tổng kiểm của tệp, hãy dùng tiện ích SHA3-384 có khả năng xử lý tệp và so sánh đầy đủ cả 96 ký tự thập lục phân với giá trị do bên phát hành cung cấp.

Công cụ phổ biến