Tất nhiên, vấn đề lớn nhất là bạn cần biết tin nhắn để có thể giải mã nó.
Có bất kỳ điểm yếu ngay lập tức nào không (giả sử các tin nhắn tôi đang gửi không được soạn trước)?
Pre-đóng hộp là một thuật ngữ quá lỏng lẻo. Nếu một đối thủ có thể đoán được bản rõ theo bất kỳ cách nào thì khóa sẽ được biết. Tính bảo mật của AES sẽ bị hạ cấp nếu entropy trong thông báo thấp hơn kích thước khóa.
Lưu ý rằng giả định rằng đối thủ biết hàm băm được sử dụng (nguyên tắc Kerckhoff), do đó không thể đạt được bảo mật từ điều đó.
Việc sử dụng nonce có đủ để khắc phục bất kỳ điểm yếu nào khi sử dụng AES không?
AES không sử dụng nonce. Các sơ đồ mật mã và các chế độ hoạt động của mật mã khối như GCM có thể sử dụng nonce. Tuy nhiên, một nonce không loại bỏ bất kỳ lỗ hổng nào khác của lược đồ hoặc phương thức hoạt động. Có nonce có thể là điều kiện tiên quyết cho một sơ đồ hoặc phương thức hoạt động cụ thể, nhưng chỉ có vậy thôi.
Nếu không sử dụng một nonce, nó vẫn khả thi chứ?
Không, nó không phải là một ý tưởng tốt.
Thay vào đó, có thể bạn cần xem xét các hàm dẫn xuất khóa dựa trên mật khẩu (các hàm PBKDF, còn được gọi là hàm băm mật khẩu). Những thứ này cung cấp những thứ lành mạnh như muối và hệ số công việc / số lần lặp lại. Muối có lẽ là loại không sử dụng mà bạn đang tìm kiếm và yếu tố công việc khiến việc đoán thông điệp trở nên khó khăn hơn.