Nói chung là không.
Trong mật mã, sự xuất hiện của các chuỗi số "ngẫu nhiên" thường khá đáng ngờ --- điều gì sẽ xảy ra nếu có một số lựa chọn số "yếu" khiến toàn bộ cấu trúc không an toàn? Làm thế nào để bạn biết nhà thiết kế đã không sử dụng quyền tự do của họ trong việc lựa chọn những con số này để nhúng một cửa hậu? Lưu ý rằng điều này làm xảy ra, ví dụ nổi tiếng là:
Lưu ý rằng có một số "hằng số tùy ý" được coi là ít nghi ngờ hơn --- các lựa chọn phổ biến là các chữ số của $\pi$, hoặc những thứ thuộc loại này (giả sử các chữ số của $\sqrt{2}$ hoặc $\sqrt{3}$). Chúng thường được gọi là không có gì lên số tay áo của tôivà có thể đạt được khi nhà thiết kế chỉ cần một số số tùy ý thỏa mãn một số ràng buộc tối thiểu mà các số "hầu hết" phải đáp ứng.
Dù sao, trở lại RIPEMD.
Ban đầu nó được chỉ định trong bài báo năm 1995 "Nguyên tắc toàn vẹn cho các hệ thống thông tin an toàn." (Tôi tìm thấy thông tin này qua liên kết này).
Đặc biệt, thông số kỹ thuật được chứa trong tài liệu này.
Tôi thu hút sự chú ý của bạn đến trang 75 của tài liệu (trên trang 7 của pdf).
Bốn hằng số được sử dụng trong các thao tác này không được chọn ngẫu nhiên; họ
là phần nguyên của $2^{30}\sqrt{2}, 2^{30}\sqrt{3}, 2^{30}\sqrt[3]{2}, 2^{30}\sqrt[3]{3}$ tương ứng. Tuy nhiên, không có lý do cụ thể cho sự lựa chọn này.
Điều này giải thích các hằng số trong thêm hằng số
một phần của tệp bạn đã liên kết --- chúng không có gì trong tay áo của tôi.
Thật không may, bảng cụ thể mà bạn hỏi không được giải thích thỏa đáng.
Các tác giả tuyên bố rằng họ sao chép một sửa đổi chức năng nén của MD4 (bao gồm cả bảng mà bạn đã chú ý), nhưng chỉ đơn giản nói rằng chúng bao gồm các sửa đổi của B. den Boer, mà họ trích dẫn là Truyền thông cá nhân (vì vậy lý do cụ thể của họ cho việc sửa đổi là không rõ).
Thật không may, các tài liệu khác về mật mã cũng không sáng tỏ.
Xem xét cuộc tấn công này trên hàm băm.
Các tác giả đã đề cập (như rõ ràng) rằng các chỉ số "lựa chọn từ thông báo" cụ thể phải là một hoán vị (điều này cũng đã được đề cập trong thông số kỹ thuật ban đầu), nhưng không rõ ràng tại sao những hoán vị cụ thể đã được chọn.
Điều cuối cùng mà tôi sẽ đề cập là đôi khi bạn ở trong tình huống có nhiều lựa chọn có thể xảy ra. có cấu trúc đối tượng (như hoán vị, vì vậy bạn không thể hy vọng các chữ số của $\pi$ sẽ đủ), và bạn cần chọn một.
Một chiến lược bạn có thể làm (thay vì lôi nó ra khỏi không khí loãng) là:
- cố gắng "xếp hạng" các đối tượng có cấu trúc theo một số chỉ số hiệu quả, rồi
- chọn "đầu tiên" (theo một số thứ tự tự nhiên) của các đối tượng "hiệu quả nhất".
Điều này là mơ hồ, vì vậy một ví dụ cụ thể có thể hữu ích.
Thiết kế của AES yêu cầu số học trên $\mathsf{GF}(2^8)$. Mọi đa thức bất khả quy bậc 8 trên $\mathbb{F}_2$ định nghĩa một bản sao "khác" (nhưng tất cả đều đẳng cấu lẫn nhau) của $\mathsf{GF}(2^8)$.
Cho rằng đây là trường hợp, bạn chọn đa thức nào trong thiết kế của AES?
Các nhà thiết kế AES biện minh cho lựa chọn này (và những lựa chọn khác mà bạn có thể thấy thú vị) trong phần 7 của đề xuất của họ.
đa thức $m(x)$ ... cho phép nhân trong $\mathsf{GF}(2^8)$ là cái đầu tiên trong danh sách các đa thức bất khả quy bậc 8, được đưa ra trong [LiNi86, p. 378].
Vì vậy, họ thu hút một số thiết kế của các tác giả khác ngoài họ.
Tôi cũng đã thấy (và nghĩ rằng tôi đã có cho AES nói riêng) lựa chọn:
- thu thập tất cả các đa thức bất khả quy
- sắp xếp chúng theo trọng lượng hamming (số liệu hiệu quả)
- trong số những thứ có trọng lượng hamming tối thiểu, hãy chọn cái đầu tiên theo từ điển.
Tất nhiên, điều này không may là không hữu ích cho bảng cụ thể của bạn.