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

Chức năng băm mật mã trong An toàn thông tin là gì?

Hàm băm mật mã là một hàm số được sử dụng trong mật mã. Hàm băm mật mã tích hợp khả năng truyền thông điệp của hàm băm với các tính năng bảo mật.

Thuật ngữ hàm băm đã được sử dụng khá thường xuyên trong khoa học máy tính và nó được định nghĩa là một hàm nén một chuỗi đầu vào tùy ý thành một chuỗi có độ bền định cư. Tuy nhiên, nếu nó đáp ứng một số yêu cầu hơn, do đó nó có thể được sử dụng cho các ứng dụng mật mã và sau đó nó được gọi là hàm băm mật mã.

Các hàm băm mật mã là công cụ thiết yếu nhất trong lĩnh vực mật mã và được sử dụng để quản lý một số mục tiêu bảo mật như tính xác thực, chữ số, tạo số giả, mật mã kỹ thuật số, bộ đóng dấu thời gian kỹ thuật số.

Hàm băm là một hàm lấy một số thông báo có độ dài bất kỳ làm đầu vào và chuyển nó thành đầu ra có độ dài cố định được gọi là giá trị băm, thông báo thông báo, tổng điểm hoặc tệp tham chiếu kỹ thuật số.

Hàm băm là một hàm f:D -> R, trong đó miền D ={0, 1} *, xác định các phần tử của miền bao gồm chuỗi nhị phân có độ dài thay đổi; và dãy R ={0, 1} n với một số n> =1, xác định rằng các phần tử của dãy là chuỗi nhị phân có độ dài cố định. Do đó, f là một hàm tạo dưới dạng đầu vào M có kích thước bất kỳ và tạo ra kết quả băm có độ dài cố định h có kích thước n.

Hàm băm f được định nghĩa là hàm nén khi miền D của nó hữu hạn, tức là nếu hàm f nhận đầu vào là một thông báo có độ dài cố định và tạo ra một thông lượng cố định ngắn hơn.

Thuộc tính của hàm băm mật mã

Có nhiều thuộc tính khác nhau của hàm băm như sau -

  • Việc tính toán một hàm băm cho bất kỳ dữ liệu nhất định nào rất đơn giản.

  • Nó phải chấp nhận một khối thông tin có kích thước bất kỳ làm đầu vào.

  • Nó sẽ tạo ra một đầu ra có độ dài cố định.

  • Nó phải hoạt động giống như một hàm ngẫu nhiên trong khi vẫn có thể xác định và có thể sinh ra một cách hiệu quả.

  • Nó sẽ nhận đầu vào có độ dài bất kỳ và xuất ra một chuỗi ngẫu nhiên có độ dài cố định.

  • Đối với đầu vào tương tự, H phải liên tục tạo ra cùng một đầu ra.

  • Nếu thông báo M được đưa ra, nó có thể đơn giản để tính toán giá trị tương ứng của nó; trong đó h có thể được tính theo thời gian đa thức O (n) với n là độ dài của thông điệp đầu vào.

  • Cho một bản tóm tắt thông báo h, việc phát hiện ra M như vậy là H (M) =h là một việc phức tạp về mặt tính toán. Đây được gọi là thuộc tính kháng một chiều hoặc trước hình ảnh. E. Không thể áp dụng để tìm thông báo từ giá trị băm đã cho.

  • Cho một thông điệp M1, về mặt tính toán không thể phát hiện ra một giá trị khác M2 ≠ M1 với H (M1) =H (M2). Đây được gọi là tính năng kháng va chạm yếu hoặc tính năng kháng trước hình ảnh thứ hai.

  • Về mặt tính toán không thể tìm thấy bất kỳ tập hợp các thông báo khác biệt (M1, M2) sao cho H (M1) =H (M2). Đây được định nghĩa là đặc tính chống va chạm mạnh.