Xem xét tình huống sau: Alice có một cặp khóa bí mật và khóa công khai cho RSA sách giáo khoa (ký hiệu là $\text{sk}$ và $\text{pk}$ tương ứng). Bob có một bản sao xác thực của $\text{pk}$. Đối thủ có một bản sao xác thực của $\text{pk}$.
Bây giờ, Bob muốn gửi $\text{PIN}$ cho Alice là một số có bốn chữ số. Anh ta mã hóa như sau: Đầu tiên anh ta chọn một nonce $N_0$ (một số được chọn ngẫu nhiên từ một miền rất lớn). Sau đó, anh ta gửi mã hóa:
$c = N_0 \mathbin\| \operatorname{RSA}(\text{pk}, [\text{PIN}\mathbin\| N_0]) = N_0 \mathbin\| [\text{PIN} \mathbin\| N_0]^e \bmod N$ ở đâu $(e,N)$ là khóa công khai RSA.
Nói cách khác, anh ấy xây dựng thông điệp mới $â\text{PIN} \mathbin\| N_0â$ (bạn có thể cho rằng anh ta có thể nhúng $[\text{PIN}\mathbin\|N_0]$ như một số trong $\{1, 2, ⦠, N-1\}$) và mã hóa nó bằng RSA sách giáo khoa. Anh ấy cũng gửi số $N_0$ với Alice ârõ ràngâ.
Hiển thị một cuộc tấn công cho phép kẻ thù tìm hiểu $\text{PIN}$ chỉ sử dụng một cuộc tấn công nghe trộm.
Tôi chỉ không chắc làm thế nào để bắt đầu với vấn đề này. Tôi hiểu rằng sách giáo khoa rsa tạo bản mã với $\operatorname{Enc}(e, m) = m^e\bmod N$, nhưng tôi không biết làm thế nào tôi sẽ nhận được $\text{PIN}$ nếu tôi không thể giả mạo tin nhắn. Bất kỳ trợ giúp sẽ được đánh giá cao.
Tôi đã cố gắng giải quyết một số việc và tôi đã gặp phải một vấn đề khác. Vì mã PIN có số lượng khả năng tương đối nhỏ, tôi có thể sử dụng một cuộc tấn công vũ phu không? Vì kẻ thù biết bản mã, e, N0 và có quyền truy cập vào khóa chung, tôi có thể tiếp tục thử các mã PIN khác nhau đúng không?