XOR로 계산하는 암호 해독 (프로젝트 오일러 #59)
현대 암호화 기법 중엔 XOR을 이용하는 방법도 널리 쓰인다. 이 문제는 주어진 데이터가 XOR로 암호화되어있고, 키의 길이가 소문자 3자리일 때 원문을 구하는 문제이다.키가 3개이므로 aaa~zzz 까지의 17576(263) 가지의 키를 일일이 대입해봐도 되지만, 3부분으로 나누어 78(26×3)번만 돌려도 된다. 문제에는 좀 모호하게 적혀있긴 하지만, 원문은 일반적인 영단어로 구성되어 있다고 한다.즉, 키의 후보값을 넣고 돌렸을 때 결과가 일반적인 영단어에 포함되지 않는 기호가 나타나면 키가 아니라고 볼 수 있는 것이다. 이러한 점을 고려해서 대략 아래와 같은 코드를 작성했다. #include #include using namespace std; inline bool isDecrypedChar(int..