Mật Mã
Trong mật mã học, Mật mã Caesar (hay còn được gọi là Mật mã của Caesar, Mật mã chuyển vị, Mã của Caesar hay Chuyển vị Caesar) là một trong những kỹ thuật mã hóa đơn giản và phổ biến nhất. Đây là một dạng mật mã thay thế, trong đó mỗi ký tự trên văn bản thô sẽ được thay bằng một ký tự khác, có vị trí cách nó một khoảng xác định trong bảng chữ cái. Ví dụ, nếu dịch chuyển sang trái 3 bước, D sẽ trở thành A, E sẽ trở thành B, v.v..
Để mã hóa, người ta sẽ chọn ra một khóa k: chính là số bước dịch chuyển sang phải.
Ví dụ: với k = 4 thì ta có bảng chuyển đổi sau
Plain : A B C D E F G H I J K L M N O P Q R S T U V W X Y Z Cipher : E F G H I J K L M N O P Q R S T U V W X Y Z A B C D
Để mã hóa, ta thay chữ cái ở dòng trên bằng chữ cái ở vị trí tương ứng ở dòng dưới.
Yêu cầu: Cho trước khóa k và xâu tin nhắn, hãy mã hóa theo quy luật trên.
Input
Dòng đầu chứa số nguyên k (0 ≤ k ≤ 106).
Dòng tiếp theo chứa xâu S (1 ≤ |S| ≤ 1000) (chỉ gồm dấu cách hoặc các kí tự Latin in hoa)
Output
Một dòng duy nhất chứa xâu đã mã hóa.
Ví dụ
Input2 ACCEPTED
Output
CEEGRVGF
Lưu ý: Với dấu cách, ta giữ nguyên chứ không mã hóa nó.
Comments