Computer >> Máy Tính >  >> Lập trình >> Lập trình

Băm trong An toàn thông tin là gì?

Hashing là thủ tục diễn giải một khóa nhất định thành một mã. Một hàm băm có thể được sử dụng để thay thế dữ liệu bằng một mã băm mới được tạo. Nói một cách phân loại hơn, băm là thực hành tạo một chuỗi hoặc khóa đầu vào, một biến được tạo để lưu thông tin chính phủ và xác định nó bằng một giá trị băm, thường được quyết định bởi một thuật toán và tạo thành một chuỗi ngắn hơn nhiều so với ban đầu.

Bảng băm sẽ tạo ra một danh sách nơi tất cả các cặp giá trị được lưu và chỉ cần truy cập thông qua chỉ mục của nó. Kết quả là một cách tiếp cận để truy cập các giá trị khóa trong cơ sở dữ liệu một cách hiệu quả cũng như một phương pháp để tăng cường bảo mật của cơ sở dữ liệu quảng cáo thông qua mã hóa.

Hàm băm là đầu ra của một thuật toán băm như MD5 (Thông báo 5) hoặc SHA (Thuật toán băm an toàn). Các thuật toán này về cơ bản nhằm mục đích tạo một chuỗi có độ dài cố định, duy nhất và giá trị băm hoặc thông báo tóm tắt cho bất kỳ phần tử nào của thông tin hoặc thông báo.

Vì mỗi tệp trên máy tính cuối cùng chỉ là dữ liệu có thể được xác định ở dạng nhị phân, nên thuật toán băm có thể lấy thông tin đó và chạy một trình tính toán phức tạp cho nó và xuất ra một chuỗi có độ dài cố định là kết quả của quá trình tính toán. Kết quả là giá trị băm của tài liệu hoặc thông báo tóm tắt. Việc sử dụng các thuật toán để thay đổi các khối thông tin từ một tệp có giá trị ngắn hơn hoặc khóa có độ dài cố định xác định các chuỗi đó.

Giá trị băm kết quả là một loại tóm tắt tập trung của mỗi chuỗi bên trong một tệp nhất định và phải có khả năng thay đổi ngay cả khi một byte thông tin riêng lẻ trong tệp đó bị thay đổi (hiệu ứng tuyết lở). Điều này mang lại lợi ích lớn trong việc băm về mặt nén dữ liệu.

Hashing là một thủ tục mật mã có thể được sử dụng để kiểm tra tính xác thực và tính toàn vẹn của một số loại đầu vào. Nó được sử dụng rộng rãi trong các hệ thống xác thực ngăn chặn việc lưu mật khẩu văn bản rõ trong cơ sở dữ liệu, nhưng nó cũng có thể được sử dụng để kiểm tra hồ sơ, tài liệu và các loại dữ liệu khác nhau.

Việc sử dụng hàm băm không đúng cách có thể dẫn đến vi phạm dữ liệu nghiêm trọng, nhưng việc không sử dụng hàm băm để bảo mật thông tin nhạy cảm ngay từ đầu thậm chí còn tệ hơn. Cấu trúc dữ liệu băm cho phép các mảng khám phá và lưu trữ thông tin một cách hiệu quả, hỗ trợ một cấu trúc hiệu quả để tìm kiếm và lưu dữ liệu.

Giả sử rằng nó có thể có một danh sách 20.000 số và nó có thể được yêu cầu tìm kiếm một số cụ thể trong danh sách đó và nó có thể quét từng số trong danh sách để xem nó có khớp với số mà nó được nhập hay không.

Thuật toán băm chuyển đổi các mảng dữ liệu có kiểu và độ dài cụ thể thành một chuỗi bit có độ dài cố định bằng cách sử dụng các công thức số. Một thuật toán cần một bảng băm biến bất kỳ đầu vào nào thành một thông điệp đáng tin cậy.