Mã hĩa xác thực
Đầu vào của quá trình xác thực mã hĩa bao gồm 4 thành phần:
• Khĩa bí mật Ke dùng trong mã hĩa dữ liệu.
• Khĩa bí mật Km dùng trong xác thực thơng điệp.
• Dữ liệu cần mã hĩa P: Trong nội dung của báo cáo thì cĩ thể hiểu đây là dữ liệu truyền từ thiết bị Raspberry đến người dùng.
• Đầu ra duy nhất: Bản mã C và được trao đổi thơng qua đường tuyền tin. Quá trình mã hõa xác thực diễn ra như sau:
1. Thơng điệp sẽ được mã hĩa trước tiên dựa trên mã dịng Grain với Ke tạo ra bản mã C.
2. Tính tốn MAC của bản rõ bằng hàm băm Keccak (HMAC) với khĩa Km. 3. Gửi cả C và M trên kênh truyền tin
Giải mã xác thực
Đầu vào của mã hĩa xác thực gồm 4 phần được định nghĩa như trên: Ke, Km, M và C và đầu ra duy nhất hoặc là bản rõ (ở đây hiểu là thơng tin thu thập được từ thiết bị Raspberry) hoặc là FAIL trong trường hợp một trong số các đầu vào khơng tin cậy.
Quá trình giải mã xác thực diễn ra như sau: 1. Tách C và M. 2. Giải mã bản rõ P từ bản mã M. Bản rõ Mã hĩa Grain Hàm băm Keccak Bản mã MAC
Dữ liệu mã hĩa Dữ liệu mã hĩa Bản mã MAC Giải mã Grain Hàm băm Keccak Bản rõ MAC’ rõ So sánh MAC và MAC’ Khĩa chung Truyền tin
4. So sánh giá trị 2 giá trị MAC để xem thơng điệp cĩ tồn vẹn khơng. Nếu tồn vẹn, người dùng cĩ thể chấp nhận thơng điệp và ngược lại, người dùng cĩ thể bỏ qua thơng điệp.