문자 빈도 분석
글을 붙여 넣으면 바로 빈도표가 나와요. 치환 암호를 풀 때는 ‘영문 알파벳’을 고르고 영어 평균과 비교해 보세요.
글자 빈도로 알 수 있는 것
어떤 언어든 글자가 나오는 비율은 꽤 일정해요. 영어 글에서는 E가 약 12.7%로 가장 많고 T(9.1%), A(8.2%), O(7.5%), I, N 순이며, Z·Q·X·J는 0.2%도 안 돼요. 그래서 글자 빈도를 세 보면 그 글이 어느 언어인지, 암호로 바뀐 글이 어떤 방식인지 짐작할 수 있어요. 9세기 아랍 학자 알킨디가 처음 정리한 ‘빈도 분석’으로, 치환 암호를 푸는 가장 기본적인 방법이에요.
다섯 가지 세는 방법
- 영문 알파벳: A~Z만 세고, 옆에 영어 평균 빈도(Lewand 2000)를 함께 보여 줘요. 그래프의 검은 선이 영어 평균이라 어느 글자가 많고 적은지 바로 보여요. 일치 지수(IC)와 영어와의 카이제곱 거리도 계산해요.
- 모든 글자: 한글·한자·숫자·기호까지 모두 세요. ‘빈칸·문장부호 빼기’를 끄면 빈칸(␣)과 기호도 세요.
- 한글 자모: 한글 음절을 초성·중성·종성으로 나눠 세요. 한국어에서는 ㅇ, ㄱ, ㄴ 초성과 ㅏ, ㅣ 모음이 많이 나와요. 자판 배열 연구나 타자 연습 자료를 만들 때 써요.
- 두 글자 짝: 이어서 나온 두 글자(바이그램)를 세요. 영어에서는 TH, HE, IN, ER이 많아요. 단일 글자 빈도만으로 헷갈릴 때 치환 암호 풀이의 다음 단서가 돼요.
- 낱말: 낱말 단위로 세요. 블로그 키워드 분석은 ‘블로그 키워드 밀도’ 도구가 더 자세해요.
일치 지수(IC)
글에서 무작위로 두 글자를 뽑았을 때 같은 글자일 확률이에요. 영어 글은 약 0.066, 26글자가 고르게 섞인 글은 약 0.038이에요. 카이사르나 단순 치환 암호는 글자 이름만 바뀌어서 IC가 영어와 같고, 비즈네르처럼 여러 알파벳을 번갈아 쓰는 암호는 무작위 쪽으로 낮아져요. 그래서 IC만 봐도 암호 종류를 가를 수 있어요.
결과는 CSV로 저장하거나 표를 복사해 엑셀에 붙여 넣을 수 있어요. 짧은 글은 빈도가 평균과 크게 다를 수 있으니 몇백 자 이상에서 비교하세요. 글은 이 기기 밖으로 나가지 않아요.
참고한 자료
자주 묻는 질문
영어 평균 빈도는 어디서 왔나요?
로버트 르완드(Robert Lewand)의 『Cryptological Mathematics』(2000)에 실린 영어 글자 빈도로, 위키백과 ‘Letter frequency’ 문서에 정리된 값이에요.
한글 음절 빈도도 볼 수 있나요?
‘모든 글자’를 고르면 ‘이’, ‘다’, ‘는’ 같은 한글 음절별로 세요.
대소문자를 따로 세고 싶어요.
‘대소문자 합치기’를 끄세요. 이때 영문 알파벳 모드의 영어 평균 비교는 꺼져요.
함께 쓰면 좋은 도구
- 카이사르 암호·ROT13 풀기 (모든 이동 값 자동 해독)알파벳을 몇 칸씩 밀어 쓰는 카이사르 암호를 만들고, 이동 값을 몰라도 26가지를 모두 시도해 영어다운 답을 찾아 주기. ROT13·ROT47·ROT18 포함
- 비즈네르 암호 만들기·풀기 (열쇠 몰라도 자동 해독)열쇠 단어로 글자마다 다른 칸 수를 미는 비즈네르 암호를 만들고 풀기. 열쇠를 몰라도 열쇠 길이와 열쇠 단어를 추정해 해독. 자동키·보퍼트 방식 포함
- 글자 수 세기공백 포함·제외, 바이트, 원고지 매수를 자기소개서 기준으로
- 블로그 키워드 밀도 (키워드 반복 횟수·비율)글에서 키워드가 몇 번, 몇 %로 쓰였는지와 많이 쓴 단어 순위, 제목·첫 문단 포함 여부
- 맞춤법·띄어쓰기 검사 도우미 (자주 틀리는 말, 근거 조항·글자 수)자주 틀리는 표현 200여 가지와 띄어쓰기를 근거 조항과 함께 찾아 고치기, 글자 수 제한 확인 (규칙 기반)
- 한글 로마자 변환기국어의 로마자 표기법대로 이름·지명·단어 변환