Trong tấn công dựa vào bản rõ đã biết (known-plaintext attack), kẻ tấn công biết được một cặp ký tự bản rõ - bản mã tương ứng tại vị trí đầu tiên của văn bản. Từ đó có thể suy ra khóa dịch k của mật mã Caesar bằng công thức:
k=(c−p)mod26
trong đó p,c lần lượt là chỉ số (A=0,…,Z=25) của ký tự bản rõ và ký tự bản mã tại vị trí đầu tiên. Sau khi tìm được k, giải mã toàn bộ bản mã còn lại để khôi phục bản rõ.
Cho xâu bản mã C (chỉ gồm chữ in hoa A-Z) và cặp ký tự (p,c) là ký tự bản rõ và ký tự bản mã tại vị trí đầu tiên của văn bản (đảm bảo c chính là ký tự đầu tiên của C), hãy khôi phục toàn bộ bản rõ.
Ví dụ: C= "KHOOR", biết ký tự đầu bản rõ là 'H' ứng với ký tự đầu bản mã 'K' ⇒k=(10−7)mod26=3, bản rõ là "HELLO".
Dòng 1: xâu bản mã C chỉ gồm các chữ in hoa A-Z, độ dài từ 1 đến 1000. Dòng 2: hai ký tự p và c cách nhau bởi một khoảng trắng — lần lượt là ký tự bản rõ và ký tự bản mã tại vị trí đầu tiên của văn bản (chữ in hoa A-Z).
In ra một dòng duy nhất là bản rõ đầy đủ (chữ in hoa, cùng độ dài với C).
Ví dụ:
Đầu vào:
A
A A
Đầu ra:
A
Đầu vào:
KHOOR
H K
Đầu ra:
HELLO
Đang tải editor...