Sự khác biệt giữa mã hóa SHA và AES là gì? [đóng cửa]


67
29
Bùi Diệp Vy
10 năm trước

Sự khác biệt giữa mã hóa SHA và AES là gì?

Hữu ích 67 Yêu thích 29 Chia sẻ Viết bình luận 1
Không hữu ích
Hữu ích 0 · Không hữu ích · Trả lời 0

5 Trả lời


93
Huỳnh Hương Thủy
10 năm trước

SHA không mã hóa, đó là hàm băm một chiều. AES (Advanced_Encrypt_St Chuẩn) là một tiêu chuẩn mã hóa đối xứng.

Tham khảo AES

Hữu ích 93 Trả lời hay nhất Chia sẻ Viết bình luận 0
Không hữu ích

72
Phạm Thủy Hồng
10 năm trước

SHA là một nhóm "Thuật toán băm an toàn" được phát triển bởi Cơ quan an ninh quốc gia. Hiện tại có một cuộc cạnh tranh giữa hàng tá lựa chọn cho những người sẽ trở thành SHA-3 , thuật toán băm mới cho năm 2012+.

Bạn sử dụng các hàm SHA để lấy một tài liệu lớn và tính toán "tiêu hóa" (còn gọi là "băm") của đầu vào. Điều quan trọng là phải nhận ra rằng đây là một quá trình một chiều. Bạn không thể lấy thông báo và khôi phục tài liệu gốc.

AES , Tiêu chuẩn mã hóa nâng cao là thuật toán khối đối xứng. Điều này có nghĩa là phải mất 16 byte khối và mã hóa chúng. Đó là "đối xứng" vì khóa cho phép cả mã hóa và giải mã.

CẬP NHẬT: Keccak được đặt tên là người chiến thắng SHA-3 vào ngày 2 tháng 10 năm 2012.

Hữu ích 72 Chia sẻ Viết bình luận 0
Không hữu ích

53
Hoàng Kim Ngân
10 năm trước

SHA và AES phục vụ các mục đích khác nhau. SHA được sử dụng để tạo ra một hàm băm dữ liệu và AES được sử dụng để mã hóa dữ liệu.

Đây là một ví dụ về thời điểm băm SHA hữu ích cho bạn. Giả sử bạn muốn tải xuống hình ảnh ISO DVD của một số bản phân phối Linux. Đây là một tệp lớn và đôi khi có sự cố xảy ra - vì vậy bạn muốn xác thực rằng những gì bạn đã tải xuống là chính xác. Những gì bạn sẽ làm là đi đến một nguồn đáng tin cậy (chẳng hạn như điểm tải xuống bản phân phối chính thức) và họ thường có hàm băm SHA cho hình ảnh ISO có sẵn. Bây giờ bạn có thể tạo hàm băm SHA có thể so sánh (sử dụng bất kỳ số lượng công cụ mở nào) cho dữ liệu đã tải xuống của bạn. Bây giờ bạn có thể so sánh hai hàm băm để đảm bảo chúng khớp với nhau - điều này sẽ xác nhận rằng hình ảnh bạn đã tải xuống là chính xác. Điều này đặc biệt quan trọng nếu bạn lấy hình ảnh ISO từ một nguồn không đáng tin cậy (chẳng hạn như torrent) hoặc nếu bạn gặp sự cố khi sử dụng ISO và muốn kiểm tra xem hình ảnh có bị hỏng hay không.

Như bạn có thể thấy trong trường hợp này, SHA đã được sử dụng để xác nhận dữ liệu không bị hỏng. Bạn có quyền xem dữ liệu trong ISO.

Mặt khác, AES được sử dụng để mã hóa dữ liệu hoặc ngăn mọi người xem dữ liệu đó khi biết một số bí mật.

AES sử dụng khóa chung có nghĩa là cùng một khóa (hoặc khóa liên quan) được sử dụng để mã hóa dữ liệu như được sử dụng để giải mã dữ liệu. Ví dụ: nếu tôi đã mã hóa email bằng AES và tôi đã gửi email đó cho bạn thì cả tôi và bạn đều cần biết khóa chung được sử dụng để mã hóa và giải mã email. Điều này khác với các thuật toán sử dụng khóa công khai như PGP hoặc SSL.

Nếu bạn muốn đặt chúng lại với nhau, bạn có thể mã hóa tin nhắn bằng AES và sau đó gửi băm SHA1 của tin nhắn không được mã hóa để khi tin nhắn được giải mã, chúng có thể xác thực dữ liệu. Đây là một ví dụ hơi khó hiểu.

Nếu bạn muốn biết thêm về một số thuật ngữ tìm kiếm trên Wikipedia (ngoài AES và SHA), bạn muốn thử bao gồm:

Thuật toán khóa đối xứng (đối với AES) Hàm băm mật mã (đối với SHA) Mật mã khóa công khai (đối với PGP và SSL)

Hữu ích 53 Chia sẻ Viết bình luận 0
Không hữu ích

5
Đỗ Chi Lan
10 năm trước

SHA là viết tắt của Thuật toán Hash an toàn trong khi AES là viết tắt của Tiêu chuẩn mã hóa nâng cao. Vì vậy, SHA là một bộ các thuật toán băm. Mặt khác, AES là một mật mã được sử dụng để mã hóa. Các thuật toán SHA (SHA-1, SHA-256, v.v.) sẽ lấy đầu vào và tạo ra một bản tóm tắt (hàm băm), thường được sử dụng trong quy trình ký kỹ thuật số (tạo ra một hàm băm của một số byte và ký bằng khóa riêng) .

Hữu ích 5 Chia sẻ Viết bình luận 0
Không hữu ích

5
Huỳnh Bảo Long
10 năm trước

SHA là hàm băm và AES là một tiêu chuẩn mã hóa. Đưa ra một đầu vào, bạn có thể sử dụng SHA để tạo ra một đầu ra rất khó có thể được sản xuất từ ​​bất kỳ đầu vào nào khác. Ngoài ra, một số thông tin bị mất trong khi áp dụng chức năng, vì vậy ngay cả khi bạn biết cách tạo ra một đầu vào có cùng một đầu ra, thì đầu vào đó sẽ không giống với đầu vào được sử dụng ở vị trí đầu tiên. Mặt khác, AES có nghĩa là bảo vệ khỏi tiết lộ cho bên thứ ba bất kỳ dữ liệu nào được gửi giữa hai bên có chung khóa mã hóa. Điều này có nghĩa là một khi bạn biết khóa mã hóa và đầu ra (và IV ...), bạn có thể quay lại đầu vào ban đầu một cách liền mạch. Xin lưu ý rằng SHA không yêu cầu bất cứ điều gì ngoại trừ một đầu vào được áp dụng, trong khi AES yêu cầu ít nhất 3 điều: bạn đang mã hóa / giải mã, khóa mã hóa và vectơ khởi tạo (IV).

Hữu ích 5 Chia sẻ Viết bình luận 0
Không hữu ích

Trả lời của bạn

Xem trước nội dung