Ta có thể dễ dàng thấy, 61 bit phía bên trái sẽ dịch 67 bit về bên phải, còn 67 bit phía bên phải sẽ dịch 61 bit về phía bên trái. Sau đó ta sẽ có 2 cặp 4 bit là 8 bit ngoài cùng phía bên trái sẽ đi qua S-Box. Và các bit k66k65k64k63k62 sau phép dịch bit của K sẽ XOR trực tiếp với vòng của nó. Để trực quan hơn, hình 2.5 mô tả rất rõ sự dịch chuyển này.
2.5.2 Hàm Băm của hệ mật PRESENT
Có rất nhiều lựa chọn để xây dựng một hàm băm 64 bit từ mã khối 64 bit. Trong phần này, chúng ta tìm hiểu dựa trên công thức Davies-Mayer. Trong một vài tài liệu sẽ lấy tiền tố DM- đặt trước hàm PRESENT và gọi là DM-PRESENT ám chỉ hàm băm của hệ mật PRESENT sử dụng Davies-Mayer.
Công thức tính toán của chúng ta là: = E (Hi, M) Hi
Trong đó là chuỗi băm đầu ra, E là hàm mã hóa, Hi là chuỗi đầu vào, là khóa.
Trong phần này, tác giả sẽ trình bày những tìm hiểu của mình về DM- PRESENT-80, tức là hàm băm của hệ mật PRESENT với khóa 80 bit. Hàm băm với khóa 128 bit sẽ tương tự.
Qua hình 2.6 ta có thể thấy được chuỗi đầu vào và khóa đi qua khối “Block cipher encryption” chính là đi qua PRESENT để thực hiện quá trình mã hóa. Kết quả thu được ta tiếp tục đem XOR với chuỗi đầu vào để thu được một chuỗi băm.
Hình 2.6 cho chúng ta thấy một cái nhìn trực quan hơn về kiến trúc của hàm băm của hệ mật PRESENT theo cấu trúc Davies Mayer. Đầu vào là 64 bit, khóa 80 bit và đầu ra là 64 bit.