Mục đích của các khóa là để tham số hóa một phép biến đổi mật mã. Hạn chế duy nhất ngoài không gian khóa khi chọn khóa là mục đích này, do đó, thông thường trong mã hóa đối xứng, không có gì ngăn cản việc chọn khóa một cách ngẫu nhiên trong không gian khóa, đây là cách tốt nhất để chống lại các cuộc tấn công.
Mục đích của tin nhắn là để truyền tải thông tin. Chúng thường được chọn dưới nhiều ràng buộc, tùy thuộc vào ứng dụng. Ví dụ: được mã hóa trong một bảng chữ cái cụ thể như ASCII, sử dụng các từ của ngôn ngữ nói như tiếng Anh, tuân theo các quy tắc ngữ nghĩa phức tạp, nghĩa là ý định của tác giả thông điệp.Do đó, các thông báo, theo nghĩa hoạt động của nó, thường không phải là ngẫu nhiên trong không gian thông báo, được hiểu là tất cả các thông báo mà hệ thống mật mã có thể mã hóa, sau đó giải mã thành bản gốc.
Tuy nhiên, có những ngoại lệ đối với tuyên bố cuối cùng này. Ví dụ, trong sách giáo khoa mã hóa RSA $m\mapsto m^e\bmod n$, đó thường là tin nhắn giả định $m$ là ngẫu nhiên trong không gian tin nhắn $[0,n)$, bởi vì một giả định về giai điệu đó là cần thiết để bảo mật. Việc mã hóa trực tiếp một thông điệp có ý nghĩa cho mỗi RSA trong sách giáo khoa có thể không an toàn. Một cách khác là chọn ở trên $m$ một cách ngẫu nhiên trong không gian thông báo, sau đó sử dụng nó làm khóa của một hệ thống mật mã khác để mã hóa thông điệp thực tế.