빈도분석 (암호)
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
빈도 분석은 암호 해독 기법의 하나로, 암호문의 문자 출현 빈도를 분석하여 평문을 추정하는 방법이다. 영어와 같은 언어에서 문자의 출현 빈도, 연결 문자, 단어의 빈도 등을 분석하여 암호를 해독하며, 반복되는 특징도 중요한 단서가 된다. 빈도 분석은 9세기 알킨디의 저술에서 처음 언급되었으며, 르네상스 시대에 유럽으로 전파되었다. 빈도 분석의 취약점을 보완하기 위해 동음이의어 치환 암호, 다중 알파벳 암호, 다중 문자 치환 등의 방법이 개발되었으며, 카지스키 테스트와 일치반복률과 같은 기술을 통해 빈도 분석 기법이 발전했다. 2차 세계 대전 중에는 십자말풀이 퍼즐을 통해 암호 해독 전문가를 모집하기도 했으며, 문학 작품에서도 빈도 분석이 암호 해독의 중요한 도구로 묘사된다.
더 읽어볼만한 페이지
- 계량언어학 - 오거스터스 드 모르간
오거스터스 드 모르간은 영국의 수학자이자 논리학자로, 기호 대수학 발전에 기여하고 수리 논리학의 기초를 다졌으며, 유니버시티 칼리지 런던의 수학 교수와 런던 수학회 초대 회장을 역임했고, 《형식 논리》, 《삼각법과 이중 대수》, 《역설의 예산》 등의 저서를 남겼다. - 계량언어학 - 지프의 법칙
지프의 법칙은 데이터의 순위와 빈도 사이의 관계를 나타내는 경험적 법칙으로, 요소의 빈도가 순위에 반비례하며 다양한 분야에서 관찰된다. - 암호 공격 - 재전송 공격
재전송 공격은 유효한 데이터 전송을 가로채 재사용하여 권한 없는 접근을 시도하는 사이버 공격으로, 세션 ID, 일회용 비밀번호, 타임스탬핑 등을 통해 방지할 수 있으며, IoT 장치와 같은 시스템에서 보안 위험을 초래할 수 있다. - 암호 공격 - 랜섬웨어
랜섬웨어는 컴퓨터 시스템 접근을 제한하고 금전을 요구하는 악성 소프트웨어이며, 암호화 기술을 활용하여 파일 접근을 막고, 비트코인 등장 이후 피해가 급증했으며, 이중 갈취 및 서비스형 랜섬웨어 형태로 진화하여 기업과 기관을 대상으로 공격하고, 파일 암호화, 시스템 잠금, 데이터 유출 등의 피해를 발생시킨다. - 암호학 - 양자 컴퓨터
양자 컴퓨터는 양자역학적 현상을 이용하여 정보를 처리하는 컴퓨터로, 큐비트를 통해 0과 1을 동시에 표현하여 특정 연산에서 기존 컴퓨터보다 빠른 속도를 보이며 암호 해독, 신약 개발 등 다양한 분야에 혁신을 가져올 것으로 기대된다. - 암호학 - 암호화
암호화는 정보를 보호하기 위해 사용되는 기술로서, 단순한 문자 치환 방식에서 시작하여 현대에는 강력한 암호화 표준과 다양한 종류로 발전했으며, IT 시스템 전반에 적용되지만, 사이버 공격과 양자 컴퓨팅의 발전에 대한 대응이 필요한 기술이다.
빈도분석 (암호) | |
---|---|
개요 | |
종류 | 암호 분석의 한 방법 |
목표 | 암호문의 문자 또는 문자 그룹의 빈도를 분석하여 암호 해독 |
관련 분야 | 암호학 통계학 |
역사 | |
기원 | 9세기 아랍의 암호학자 알-킨디 |
발전 | 르네상스 시대 유럽에서 재발견 프랑수아 비에트 등이 연구 |
중요 사건 | 메리 스튜어트의 암호 해독에 사용 제2차 세계 대전 중 독일 에니그마 암호 해독에 기여 |
원리 | |
기본 원리 | 언어마다 문자 및 문자열의 빈도가 다르다는 점을 이용 |
일반적인 접근 방식 | 암호문에서 가장 빈번하게 나타나는 문자를 추정 예상되는 평문의 문자 빈도와 비교 여러 문자 조합 (예: TH, ER)의 빈도 분석 |
약점 | 빈도 분포가 평이한 암호문에는 효과가 적음 (예: 비제네르 암호) |
활용 | |
주요 사용 분야 | 고전 암호 해독 현대 암호 분석의 기초 |
다른 기술과의 결합 | 다른 암호 해독 기술과 함께 사용되어 효율성을 높임 |
빈도 정보 | |
영어 문자 빈도 (내림차순) | E, T, A, O, I, N, S, H, R, D, L, C, U, M, W, F, G, P, Y, B, V, K, X, Q, J, Z |
영어 이중 문자 빈도 (내림차순) | TH, ER, ON, AN, EN, IN, TD, OR, EA, ES, OF, NT, AL, IT, ST, ET, OU, AR, AS, DE, RT, VE |
2. 적용
단일 환자식 암호에서 평문 한 글자를 다른 글자(또는 숫자나 기호)로 1대1 변환하면, 평문과 암호문에 대응하는 문자의 출현 빈도가 일치한다. 평문 문자의 출현 빈도는 특정 문자에 치우쳐 있으며, 문장에 상관없이 거의 일정하다. 따라서 평문과 암호문 문자의 출현 빈도를 대조하여 문자 대응 관계를 특정하고 암호문을 해독할 수 있다.
사용되는 문자의 종류와 출현 빈도는 언어에 따라 다르므로, 빈도 분석으로 평문의 언어를 추정할 수 있다. 조직이나 개인에 따라서도 출현 빈도에 차이가 있어, 빈도 분석의 정밀도를 높이는 데 이용된다. 암호문은 문자에 한정되지 않고 숫자, 기호가 함께 쓰이기도 한다. 예를 들어 폴리비오스의 암호표처럼 평문 한 글자에 두 자릿수를 대응시키는 경우, 암호문의 두 자릿수 숫자가 평문 한 글자에 대응하는 것으로 추정하고 빈도 분석을 시도한다.
암호 해독에는 출현 빈도뿐 아니라 출현 간격(반복 특징)도 중요한 단서가 된다. 평문 문자의 출현 빈도는 문장에 따라 다소 고르지 않을 수 있으며, 암호문이 적으면 출현 오차도 커진다. 암호를 사용하는 조직은 고유 명사나 문체의 영향으로 일반적인 출현 빈도와 달라지기도 하고, 조르주 페렉의 소설 『실종』처럼 의도적으로 조작하기도 한다.
해독 작업은 출현 빈도 등 통계량을 단서로 한 문자씩 평문의 문자를 추정하고, 모순이 생기면 이전 단계로 돌아가 다시 시도하는 과정을 반복한다. 문자 추정은 출현 빈도에 특징이 있는 문자부터 할당하며, 출현 빈도가 높은 문자와 낮은 문자 모두 이용할 수 있다. 문법, 전후 단어를 통한 의미를 고려하여 경우의 수를 좁히기도 한다.
2. 1. 영어에서의 빈도 분석 예시
영어의 일반적인 문장에서 알파벳 빈도는
예를 들어, 이브가 단순 치환 암호로 암호화된 다음 암호문을 가로챘다고 가정해 보자.
암호문에서 가장 흔한 문자 'I'를 'e'로, 두 번째로 흔한 문자 'E'를 'a'로, 가장 흔한 2-gram 'XL'을 'th'로, 가장 흔한 3-gram 'XLI'를 'the'로 가정하면 부분적으로 해독된 메시지를 얻을 수 있다. 이후, "that", "state", "atthattime" 등의 패턴을 통해 추가적인 문자를 추정해 나갈 수 있다. 최종적으로 다음과 같은 평문을 얻을 수 있다.
(해석: 여기서 레그랑은 엄숙하고 위엄 있는 태도로 일어나서 유리 상자에서 딱정벌레를 가져왔다. 그 안에는 아름다운 딱정벌레가 들어 있었고, 그 당시에는 자연학자들에게 알려지지 않았다. 물론 과학적인 관점에서 큰 상이었다. 등받이의 한쪽 끝 근처에는 두 개의 둥근 검은 반점이 있었고, 다른 쪽 근처에는 긴 반점이 있었다. 비늘은 매우 단단하고 광택이 나서, 구리처럼 빛나는 금의 모습을 보였다. 곤충의 무게는 매우 놀라웠고, 모든 것을 고려해 볼 때, 나는 그것에 대한 그의 의견에 대해 주피터를 비난할 수 없었다.)
하지만 이러한 추측이 항상 정확한 것은 아니다. 평문의 통계적 변동으로 인해 초기 추측이 부정확할 수 있으며, 이 경우 백트래킹이나 더 복잡한 통계 분석이 필요할 수 있다. 또한, 평문이 일반적인 빈도 분포를 따르지 않거나 의도적으로 왜곡되었을 수도 있다. 예를 들어, 조르주 페렉의 소설 『실종』은 'e'를 한 번도 사용하지 않고 쓰인 리포그램이다.
3. 역사
빈도 분석에 대한 최초의 기록은 9세기 아랍의 학자 킨디가 저술한 '암호 메시지 해독에 관한 논문'에서 찾을 수 있다.[3] 이 논문은 암호 해독법에 대한 가장 오래된 기록이기도 하다. 쿠란에 대한 면밀한 텍스트 연구를 통해 아랍어가 특징적인 문자 빈도를 갖는다는 사실이 밝혀졌다는 주장도 있다.[4]
15세기 르네상스 시대에 빈도 분석은 유럽으로 전파되었다. 1474년, 치코 시모네타는 라틴어 및 이탈리아어 텍스트 암호 해독에 관한 매뉴얼을 저술했다.[5] 당시 유럽에서는 시프트 암호를 복잡하게 변형한 암호 방식이 사용되었으나, 빈도 분석은 이러한 암호들을 무력화시켰다. 16세기에는 외교 문서의 대부분이 빈도 분석으로 해독되었다고 한다.
빈도 분석의 발전과 함께, 이에 대응하기 위한 새로운 암호 방식들이 고안되었다. (자세한 내용은 #빈도분석에 대한 대책 하위 섹션 참조)
19세기에는 카지스키 테스트가 개발되어 비즈네르 암호와 같은 다표식 환자 암호 해독에 기여했다. 20세기에는 일치반복률 개념이 등장하여 다표식 환자 암호에 대한 빈도 분석을 더욱 발전시켰다.
20세기 초, 로터식 암호기(기계식 암호의 일종)의 등장으로 빈도 분석만으로는 해독이 어려워졌다. 에니그마 암호기는 매우 긴 키 주기를 갖도록 설계되었지만, 제2차 세계 대전 중 연합군은 에니그마 암호 해독에 성공했다.[6]
제2차 세계 대전 당시, 영국과 미국은 암호 해독 요원 모집을 위해 신문에 십자말풀이를 게재하기도 했다.
3. 1. 빈도분석에 대한 대책
단일 환자식 암호는 평문의 한 글자를 다른 글자(또는 숫자나 기호)로 1대1 변환하여 암호문을 만들기 때문에, 평문과 암호문의 글자 출현 빈도가 일치한다. 평문 글자의 출현 빈도는 특정 문자에 치우쳐 있고 문장에 관계없이 거의 일정하므로, 평문과 암호문 글자의 빈도를 비교하여 대응 관계를 알아내고 암호를 해독할 수 있다.이러한 빈도분석에 대한 대책으로 다음과 같은 방법들이 고안되었다.
- 동음 환자(Homophonic substitution cipher): 평문의 한 글자에 여러 개의 암호문 글자를 대응시켜 빈도 분포를 균일하게 만든다.
- 다표식 환자(Polyalphabetic substitution cipher): 여러 개의 변환표를 사용하여 암호화한다. (예: 비즈네르 암호)
- 철자 환자(Polygraphic substitution cipher): 여러 글자를 묶어 암호화한다. (예: 플레이페어 암호, 힐 암호)
4. 문학 작품에서의 빈도분석
에드거 앨런 포의 소설 "황금충"과 아서 코난 도일의 셜록 홈즈 소설 "춤추는 인형"에서는 빈도 분석이 암호 해독의 중요한 도구로 등장한다. 포의 소설 속 암호는 몇 가지 속임수로 덮여 있지만, 이는 암호학적으로 중요하다기보다는 문학적 장치에 가깝다.
참조
[1]
웹사이트
The Black Chamber: Hints and Tips
http://www.simonsing[...]
2010-10-26
[2]
웹사이트
A worked example of the method from bill's "A security site.com"
http://www.asecurity[...]
2012-12-31
[3]
논문
The origins of cryptology: The Arab contributions
1992-04
[4]
웹사이트
In Our Time: Cryptography
http://www.bbc.co.uk[...]
BBC Radio 4
2012-04-29
[5]
서적
The codebreakers: the story of secret writing
Scribner
[6]
간행물
The Commercial Enigma: Beginnings of Machine Cryptography
http://www.tandfonli[...]
2002-01
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com