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

Thuật toán băm phổ biến là gì?

Thuật toán băm là một thuật toán toán học biến đổi mảng dữ liệu đầu vào có kiểu cụ thể và độ dài tùy ý thành chuỗi bit đầu ra có độ dài cố định.

Các thuật toán băm nhận bất kỳ đầu vào nào và biến đổi nó thành một thông báo thống nhất bằng cách sử dụng bảng băm.

Có một số thuật toán băm phổ biến như sau -

MD5 - MD5 là viết tắt của thuật toán thông báo thông báo. Nó là một giao thức mật mã được sử dụng để xác thực thông điệp và xác minh nội dung và chữ ký điện tử. MD5 dựa trên một hàm băm xác minh một tệp và nó có thể được gửi đi khớp với tệp được nhận bởi người mà nó có thể gửi nó đến.

RSA - RSA là viết tắt của Rivest, Shamir, Adleman. Họ là nhà phát triển công nghệ mã hóa khóa công khai, là một hệ thống mật mã khóa công khai để truyền thông tin an toàn. Đây là một phương pháp mã hóa tiêu chuẩn để truyền thông tin nhạy cảm, đặc biệt là trong khi truyền thông tin qua internet.

Trong mật mã RSA, cả khóa công khai và khóa riêng đều có thể mã hóa một tin nhắn; khóa nghịch đảo từ khóa được sử dụng để mã hóa một tin nhắn được sử dụng để giải mã nó. Thuộc tính này là một lý do tại sao RSA đã phát triển thành thuật toán bất đối xứng được sử dụng rộng rãi nhất. Nó hỗ trợ như một cách tiếp cận cung cấp tính bảo mật, tính toàn vẹn, tính xác thực và tính không uy tín của truyền thông kỹ thuật số và lưu trữ dữ liệu.

Thuật toán băm an toàn (SHA) - Thuật toán băm an toàn (SHA) là một họ các hàm băm mật mã được sử dụng bởi các loại tiền điện tử cực kỳ phổ biến. Họ các hàm băm mật mã này được tạo ra bởi Viện Tiêu chuẩn và Công nghệ Quốc gia.

Mỗi thuật toán băm được khởi chạy theo họ SHA được phát triển dựa trên phiên bản cuối cùng và sau năm 2000, không có thuật toán SHA mới nào được đưa ra. SHA-384 được sử dụng để bảo mật dữ liệu NSA lên đến BÍ MẬT HÀNG ĐẦU.

Mã hóa - Hàm băm này được tính toán đầy đủ mà theo thiết kế cần thời gian tính toán tương đối lâu hơn. Vì độ phức tạp về thời gian của thuật toán băm và dung lượng bộ nhớ lớn cần thiết. Thuật toán băm Scrypt được bảo vệ. Litecoin là tiền điện tử nổi tiếng sử dụng Scrypt để bảo vệ chuỗi khối của nó.

Ethash - Ethash là một thuật toán khai thác theo tiêu chí công việc được tạo và thực hiện bởi mạng Ethereum. Thuật toán băm này được tạo ra để đáp ứng ba mối quan tâm chính trong cộng đồng tiền điện tử như khả năng kháng ASIC, khả năng xác minh của ứng dụng khách nhẹ và quản lý lưu trữ chuỗi hoàn chỉnh. Vitalik Buterin được ghi nhận là người cung cấp thuật toán băm này.

LANMAN - Thuật toán băm Microsoft LAN Manager được gọi là LANMAN.

Các hệ thống Windows cũ đã sử dụng LANMAN để lưu mật khẩu. Hàm băm được tạo bởi LANMAN bằng phương pháp DES.

Vấn đề với việc triển khai thuật toán DES của LANMAN là thực tế là tôi không bảo vệ cụ thể, do đó tạo ra mã băm dễ bị tấn công brute force và cho phép các tác nhân độc hại phân chia mật khẩu LANMAN chỉ trong một vài thời gian ngắn.