2010-09-12 27 views

Trả lời

78
  • Thuật toán thông báo tiêu hóa nhận một đầu vào đơn - một thông báo - và tạo "thông báo" (còn gọi là băm) cho phép bạn xác minh tính toàn vẹn của thông báo: Mọi thay đổi đối với thông báo sẽ (lý tưởng) dẫn đến một băm khác được tạo ra. Kẻ tấn công có thể thay thế tin nhắn và thông báo là hoàn toàn có khả năng thay thế tin nhắn và tiêu hóa bằng một cặp hợp lệ mới.
  • Thuật toán MAC có hai đầu vào - một thông báo và khóa bí mật - và tạo MAC cho phép bạn xác minh tính toàn vẹn tính xác thực của tin nhắn: Mọi thay đổi đối với tin nhắn hoặc khóa bí mật sẽ (lý tưởng) dẫn đến một MAC khác nhau được tạo ra. Không ai không có quyền truy cập vào bí mật sẽ có thể tạo ra một phép tính MAC xác minh; nói cách khác một MAC có thể được sử dụng để kiểm tra xem MAC có được tạo bởi một bên có quyền truy cập vào khóa bí mật hay không.
  • Thuật toán HMAC đơn giản là một loại thuật toán MAC cụ thể sử dụng thuật toán băm bên trong (thay vì, ví dụ, một thuật toán mã hóa) để tạo MAC.
+0

@Rook Rất cũ nhận xét ở đây, nhưng CMAC chỉ là một hình thức cụ thể của MAC. Tất nhiên không có gì chống lại việc sử dụng AES-CMAC. –

+1

@owlstead Quyền của bạn, tôi đã nhầm lẫn vì một số thư viện gọi nó là một chế độ. – rook

+1

"MAC có thể được sử dụng để kiểm tra xem MAC đã được tạo ..." Không phải là "... để kiểm tra xem _message_ đã được tạo ..." chưa? – leonbloy

14
  • A Message Digest chỉ đơn giản là băm của thư. Đó là đầu ra của hàm băm mật mã được áp dụng cho dữ liệu đầu vào, được gọi là thông báo .
  • A Mã xác thực thư (MAC) là một phần thông tin chứng minh tính toàn vẹn của thư và không thể bị giả mạo dễ dàng.
  • A HMAC là loại MAC cụ thể được xác định bởi RFC 2104.

Wikipedia cũng có bài viết tốt bao gồm tất cả các điều khoản: xem Message Digest, Message Authentication Code, và HMAC.

+1

Đối với MAC, tính toàn vẹn và tính xác thực đều có thể được chứng minh vì bên gửi và bên nhận có chung khóa bí mật. – Nate

Các vấn đề liên quan