카시스키 검사
반복 구간 사이의 거리로 반복 키 암호의 키 길이를 찾습니다.
예시:
구간 길이
인수 최대
고전적인 선택은 3글자입니다. 2글자는 반복을 훨씬 많이 찾아내지만 대부분 우연이고, 4글자 이상은 가장 확실한 근거만 남기므로 텍스트가 길어야 합니다.
암호문을 붙여넣으면 검사합니다. 예시는 키가 각각 5글자와 7글자인 실제 비제네르 암호문입니다.
카시스키 검사 사용 방법
- 1
암호문 붙여넣기
암호화된 텍스트를 입력란에 넣으세요. 반복이 나타나려면 보통 몇백 글자는 필요하고, 100글자 아래에서는 아무것도 안 나오는 경우가 많습니다.
- 2
구간 길이 고르기
3글자로 시작하세요. 아무것도 반복되지 않으면 2글자로 낮추되 결과를 약한 근거로 다루세요. 텍스트가 길고 집계가 지저분하면 4글자로 올리세요.
- 3
인수별 근거 읽기
후보 길이마다 우연만으로 얻을 값과 견줘 점수를 매기고, 약수와 배수로 얽힌 무리에서 가장 강한 하나만 제시합니다. 원래 거리 개수와 그 뒤의 서로 다른 구간 수도 함께 보여 줍니다. 한 구간이 수다스럽게 반복된 것보다 서로 다른 구간 여럿이 지지하는 인수가 더 믿을 만한데, 그 판단은 점수에 녹이지 않고 읽는 사람에게 남겨 둡니다.
- 4
찾은 길이를 솔버에 넣기
제시된 길이를 비제네르 솔버에 넣거나, 일치 지수 계산기의 열 단위 표와 대조해 보세요. 두 방법이 일치하면 어느 한쪽보다 훨씬 강한 근거가 됩니다.
카시스키 검사 이해하기
이 방법이 딛고 선 관찰
비제네르 암호는 키워드를 돌려 가며 글자마다 다른 양만큼 이동시킵니다. 그래서 글자 세기가 통하지 않습니다. 같은 평문 글자가 위치에 따라 다른 암호문 글자가 되기 때문입니다. 하지만 키는 반복되고, 반복은 흔적을 남깁니다.
평문에 THE가 두 번 나왔고 두 번 모두 우연히 키의 같은 세 글자와 맞물렸다고 해 봅시다. 둘은 같은 암호문 세 글자가 됩니다. 그렇다면 두 구간 사이의 거리는, 글자로 세었을 때, 키가 정확히 몇 바퀴 돈 길이입니다. 곧 키 길이의 배수입니다.
이런 우연 하나로는 증명되는 것이 거의 없습니다. 그러나 수십 개를 모아 인수분해하고 집계하면 길이를 곧장 가리킵니다.
이 도구가 재는 것
선택한 길이의 구간 중 두 번 이상 나오는 것을 위치와 함께 모두 모읍니다. 각 구간에 대해 이웃한 간격만이 아니라 모든 쌍의 거리를 계산합니다. 세 번 나오면 근거가 세 개인데, 이웃 간격만 세면 하나를 버리게 되기 때문입니다.
그다음 후보 키 길이마다 숫자가 둘 붙습니다. 몇 개의 거리를 나누는지, 그리고 그 거리가 서로 다른 반복 구간 몇 개에서 나왔는지입니다. 순위는 첫 번째 숫자를 우연에 대해 보정해서 매깁니다. 두 번째 숫자는 그 옆에 두되 점수에는 일부러 넣지 않았습니다. 산술이 아니라 판단이기 때문입니다. 말 많은 구간 하나가 여덟 번 반복되면 거리 개수는 부풀지만 독립된 근거는 늘지 않고, 서로 다른 구간 셋이 같은 인수를 가리키면 별개의 우연 셋이 같은 방향을 가리키는 것입니다. 제시된 길이가 구간 하나에만 기대고 있다면, 의심해야 할 지점이 바로 그 숫자입니다.
약수의 함정
여기서 많이들 걸립니다. 그리고 이것은 암호학이 아니라 산수입니다. 12가 어떤 거리를 나눈다면 2, 3, 4, 6도 나눕니다. 진짜 키 길이의 약수는 그 점수를 통째로 물려받으므로, 근거 순으로 정렬한 표는 실제 키가 무엇이든 가장 작은 인수를 맨 위에 올려놓습니다.
해법도 산술입니다. 우연이 거저 주는 몫만큼 모든 인수에 비용을 매기면 됩니다. 2는 어떤 거리 집합이든 절반을 공짜로 나누므로, 6분의 1만 나누는 인수와 나란히 놓으려면 원래 개수를 절반으로 깎아야 합니다. 이렇게 보정하면 진짜 키 길이가 자기 약수들을 앞지릅니다. 약수는 증거의 제 몫만 가져가기 때문입니다. 여기에 인수가 커질수록 커지는 잡음까지 보정하면 진짜 길이가 배수들도 앞지릅니다. 그러면 튜닝 상수가 하나도 없는 규칙 하나만 남습니다. 약수와 배수로 얽힌 무리에서 가장 강한 것만 남긴다는 규칙입니다. 전체 집계는 아래에 그대로 두었으니 다르게 판단해도 됩니다. 제시된 길이를 뒷받침하는 구간이 하나뿐이고 여섯 구간이 뒷받침하는 인수가 따로 있다면 그쪽을 볼 만합니다.
통하지 않을 때와 그때의 대안
카시스키 검사에는 반복이 필요한데, 짧은 메시지에는 아예 없을 수 있습니다. 반복을 일부러 피하는 암호 앞에서도 성능이 떨어지고, 키가 순환하지 않는 러닝 키나 일회용 암호에 대해서는 아무것도 말해 주지 못합니다.
일치 지수는 같은 질문에 반대편에서 접근합니다. 반복은 전혀 보지 않고, 후보 열 분할마다 글자 분포를 잽니다. 두 방법이 텍스트의 서로 다른 성질에 기대므로 함께 실패하는 일이 드물고, 양쪽이 모두 지지하는 길이는 대개 정답입니다.
자주 묻는 질문
카시스키 검사가 무엇인가요?
2와 3이 근거가 같은데 왜 6을 제시하나요?
암호문이 얼마나 길어야 하나요?
위치가 눈에 보이는 텍스트와 다른 이유는 무엇인가요?
2글자 구간을 써도 되나요?
카시스키와 일치 지수가 다른 답을 주면 어떻게 하나요?
입력한 암호문이 브라우저 밖으로 나가나요?
관련 도구
이런 편리한 도구도 함께 사용해 보세요