Các giấy trên các thuật toán dựa trên miếng bọt biển "SNEIKEN và SNEIKHA" AE và HASH, tương ứng, trình bày hàm hoán vị 512-bit "SNEIK512", không giống như các hoán vị khác (ví dụ: Keccak-f1600, gimli, v.v.) lấy một tham số miền. Các thuật toán AE và HASH của họ sử dụng tham số này để thiết lập phân tách miền.
Tất cả các thuật toán AE và HASH khác mà tôi đã thấy đều dựa trên miếng bọt biển thực hiện phân tách miền bằng cách sửa đổi các bit trong KHẢ NĂNG miếng bọt biển trước khi tính toán hoán vị.
SNEIK512 sửa đổi các bit trạng thái với miền (thông qua XOR sang trạng thái) trên mỗi vòng hoán vị để tạo hoán vị dành riêng cho miền một cách hiệu quả. Kết quả cuối cùng có vẻ giống nhau: Tách tên miền cho AE và HASH.
Bài báo không đi vào chi tiết về cách họ chọn biến trạng thái hoán vị nào để sửa đổi (họ sửa đổi RATE), cũng như không mô tả bất cứ điều gì về tác động bảo mật có thể có của việc sửa đổi này.
Sau khi suy nghĩ về thiết kế hoán vị này, có vẻ như đây có thể là một cách tổng quát để thay đổi các hoán vị hiện có để hỗ trợ phân tách miền.
Câu hỏi của tôi sau đó là:
- Điều này có thể được áp dụng cho các hoán vị hiện có (ví dụ: keccak-f1600 , gimli, v.v.) theo cách chung mà không làm giảm/ảnh hưởng đến bảo mật không?
- Nếu có, sửa đổi này có thể được khái quát hóa không (ví dụ: quy tắc đơn giản để áp dụng cho bất kỳ chức năng hoán vị nào)?
- Có giới hạn tổng quát nào về mức độ có thể sửa đổi của trạng thái trước khi có tác động không thể chấp nhận được đối với an ninh (nếu có) không?