Sha-1 là gì
Nếu bạn đã nghe nói về SHA dù hình thức này hay hình thức kia thì chúng ta hẳn cũng chữa hiểu hoàn toàn ý nghĩa của từ viết tắt kia.
Bạn đang xem: Sha-1 là gì
Trước khi chúng ta đi vào tìm hiểu xem SHA là gì thì trước tiên chúng ta tìm hiểu về hàm băm là gì (Hash) và chúng ta sẽ tìm hiểu cách thức hoạt động các chứng chỉ SSL sử dụng hàm băm để tạo chữ ký số. Đây là những khái niệm quan trọng trước khi chúng ta tìm hiểu xem chúng làm gì.
What is a Hash?
A hashing algorithm là một hàm băm mật mã. Đây là một thuật toán toán học ánh xạ dữ liệu có kích thước tùy ý thành hàm băm có độ dài cố định. Nó được thiết kế để mã hóa một chiều và không thể mõa hóa ngược lại.
Hàm băm lý tưởng cần có những yếu tố sau:
Nó rất nhanhNó có thể trả về một phạm vì lớn các giá trị bămNó tạo ra một giá trị đâu ra duy nhất cho một giá trị đầu vàoNó tạo ra các giá trị băm không giống nhau cho các giá trị đầu vào tương tựCác giá trị băm được tạo ra không có mẫu rõ ràngDigital Signatures

Xem thêm: Lý Thuyết Đối Xứng Qua Một Điểm Đối Xứng Là Gì, Lý Thuyết Đối Xứng Tâm Toán 8
SHA-1 and SHA-2
SHA là viết tắt của Thuật toán Hash an toàn. Phiên bản đầu tiên của thuật toán là SHA-1, và sau đó là SHA-2 . SHA1 tạo ra hàm băm 160 bit (20 byte). Trong định dạng thập lục phân, nó là một số nguyên dài 40 chữ số. Nó được thiết kế cho các ứng dụng mật mã, nhưng cũng sớm bị phát hiện có lỗ hổng.Phiên bản thứ hai của SHA, được gọi là SHA-2, có nhiều biến thể. Có lẽ loại được sử dụng phổ biến nhất là SHA-256, mà Viện Tiêu chuẩn và Công nghệ Quốc gia (NIST) khuyến nghị sử dụng thay vì MD5 hoặc SHA-1. Thuật toán SHA-256 trả về giá trị băm là 256 bit hoặc 64 chữ số thập lục phân. Mặc dù không hoàn hảo, nhưng nghiên cứu hiện tại cho thấy nó an toàn hơn đáng kể so với MD5 hoặc SHA-1. Hiệu suất khôn ngoan, hàm băm SHA-256 chậm hơn khoảng 20-30% so với băm MD5 hoặc SHA-1.SSL đã chọn SHA làm thuật toán băm cho chữ ký số
Nó có thể trông không giống nhiều - nhưng chữ ký số là cực kỳ quan trọng để đảm bảo tính bảo mật của SSL / TLS. Băm bit lớn hơn có thể cung cấp bảo mật nhiều hơn vì có nhiều kết hợp có thể hơn. Hãy nhớ rằng một trong những chức năng quan trọng của thuật toán băm mật mã là tạo ra các giá trị băm duy nhất. Một lần nữa, nếu hai giá trị hoặc tệp khác nhau có thể tạo ra cùng một hàm băm, bạn tạo ra cái mà chúng ta gọi là xung đột. Bảo mật của chữ ký số chỉ có thể được đảm bảo miễn là không xảy ra va chạm. Va chạm là cực kỳ nguy hiểm vì chúng cho phép hai tệp tạo cùng một chữ ký, do đó, khi máy tính kiểm tra chữ ký, nó có vẻ hợp lệ ngay cả khi tệp đó chưa bao giờ được ký thực sự.
How Many Hashes?
Nếu một thuật toán băm được cho là tạo ra các giá trị băm duy nhất cho mỗi đầu vào có thể, thì có bao nhiêu giá trị băm có thể có? Một bit có hai giá trị có thể có: 0 và 1. Số băm duy nhất có thể có thể được biểu thị bằng số lượng giá trị có thể được nâng lên số bit. Đối với SHA-256 có 2256 kết hợp có thể. Vì vậy, 2256 kết hợp. Số lượng băm có thể càng lớn, cơ hội hai giá trị sẽ tạo ra cùng một hàm băm càng nhỏ. Có (về mặt kỹ thuật) một số lượng vô hạn các đầu vào có thể, nhưng một số lượng đầu ra hạn chế. Vì vậy, cuối cùng, mọi thuật toán băm, bao gồm một thuật toán an toàn, tạo ra một xung đột. SHA-1 được coi là không an toàn bởi vì, do cả kích thước và cấu trúc của nó, việc tạo ra một vụ va chạm là khả thi.
Xem thêm: Dịch Vụ Bankplus Là Gì - Tiện Ích Và Cách Sử Dụng Dịch Vụ Bankplus
Lưu ý rằng độ dài bit lớn không tự động có nghĩa là thuật toán băm tạo ra các giá trị băm an toàn hơn. Việc xây dựng thuật toán cũng cực kỳ quan trọng - đó là lý do tại sao ngành công nghiệp SSL sử dụng các thuật toán băm được thiết kế đặc biệt cho bảo mật mật mã.
Nguồn tham khảo :
https://www.thesslstore.com/blog/difference-sha-1-sha-2-sha-256-hash-algorithms/
https://www.freecodecamp.org/news/md5-vs-sha-1-vs-sha-2-which-is-the-most-secure-encryption-hash-and-how-to-check-them/