문제 설명
암호는 민감한 정보를 보호하기 위하여 오래전부터 사용되었는데 카이사르 암호(Caesar cipher) 또는 시저 암호는 암호학에서 다루는 간단한 치환 암호의 일종이다. 3글자씩 밀어내는 카이사르 암호로 “절대 브루투스를 믿지 마라”는 뜻의 “NEVER TRUST BRUTUS”을 암호화하면 “MDUDQ SQTRS AQTSTR”가 된다.
카이사르 암호는 약 기원전 100년경에 만들어져 로마의 장군인 카이사르가 동맹군들과 소통하기 위해 만든 암호이며 단순하고 간단하여 일반인도 쉽게 사용할 수 있지만, 철자의 빈도와 자주 사용되는 단어와 형태를 이용하면 쉽게 풀 수 있다는 단점이 있다. ( 카이사르 문제해결은 인터넷상에서 많이 찾아볼 수 있음.)
[암호 알고리즘 : 좀 더 해독하기 힘든 암호화 방법을 살펴보자!! ]
카이사르 암호는 키(Key)로 숫자를 이용했는데 단어 키를 이용하여 암호화를 해보자. 암호화 과정은 아래와 같다.
1. 단어에 반복되는 문자가 있으면 처음 나오는 문자 외에는 모두 삭제한다. 그러면 다음과 같이 되는데, 이것이 키가 된다.
JEONBUKHACKATHON → JEONBUKHACT
2. 윗줄에 평문 문자인 알파벳을 순서대로 쓰고, 아랫줄에 1. 과정에서 나온 문자 키(Key)를 첫 번째 위치부터 쓴다.
3. 문자 키(Key)에 속하는 문자를 제외한 알파벳의 나머지 문자를 순서대로 쓴다.
4. 완성된 암호화 표를 이용해서 평문을 암호문으로 변경한다.
암호 알고리즘의 설명과는 다르게 문자 키(Key)와 암호화할 문장이 모두 다를 경우 위에서 설명한 암호 알고리즘의 방식으로 암호화하여 완성된 문장을 출력하세요.
입력 설명
첫 번째 줄에는 최대 길이 26 이하인 공백없는 대문자 단어가 입력된다.
두 번째 줄에는 최대 길이 26 이하인 공백없는 대문자 단어가 입력된다.
출력 설명
입력 예시 Copy
LOVEYOURSELF
GOOD
출력 예시 Copy
RHHE