고전 암호
일반적으로 치환(Subsitution)과 전치(Transposition)의 방법으로 설계된다.
- 치환(Subsitution) : 평문의 문자를 다른 문자로 교체
- 전치(Transposition) : 평문의 문자 위치를 교체

단일 문자 치환 암호
평문의 각 문자를 약속된 다른 문자로 치환하는 암호
치환의 대응 관계는 일대일 대응
카이사르 암호
- 기원전 44년 줄리어스 카이사르가 사용한 암호로 전해지는 암호
- 평문의 각 알파벳을 정해진 횟수만큼 다음 순서에 해당하는 알파벳으로 치환
- 알파벳을 밀어낸 횟수 = 키(Key)
- 키(Key)의 가짓수 = 알파벳 수(26개)
- 알파벳을 밀어낸 횟수(Key)만 알아내면 해독 가능
- 예시
- 평문 : SEOUL
- 키 : 3
- 암호문 : VHRXO

춤추는 인형 암호
- 모든 알파벳을 서로 다른 기호와 무작위로 일대일 대응시켜 치환하는 암호
- 키(Key)의 가짓수 = 26! (26 x 25 x 24 x · · · x 2 x 1)
- 언어의 통계적 특성이 유지됨 (ex. 영어에서 가장 많이 사용되는 알파벳과 기호를 통해 유추 가능)
코드북 암호
- 미리 정해둔 단어·구절·문장 전체를 특정 코드(기호, 숫자, 다른 단어 등)로 치환하는 암호
- 의미 단위(단어, 구, 문장)를 하나의 코드로 바꾸는 점이 특징
- 키(Key) : 코드·평문 단어 사전 자체
- 코드 사전이 노출되면 해독이 매우 수월하다
- 예시
- 평문 : Trip to Jeju with friends
- 코드북 : friends → 001 / Jeju → 002 / to → 003 / trip → 004 / with → 005
- 암호문 : 004 003 002 005 001
다중 문자 치환 암호
평문의 한 문자가 암호문에서 여러 종류의 문자로 치환될 수 있음
같은 평문 문자라도 위치에 따라 다른 암호문 문자가 됨
비제네르 암호
- 암호화 및 복호화는 미리 정해진 키워드를 통해 이루어짐
- 예시
- 평문 : KOREA
- 키 : FLY
- 암호문 : PZPJL


전치 암호
평문을 구성하는 문자들의 순서를 재배열하여 암호문을 만듦
평문을 정해진 길이의 블록들로 나누고, 규칙을 적용하여 블록 안의 문자들을 재배치 함
스키테일 암호
- 원통형 막대에 종이를 나선형으로 감은 후, 가로 방향으로 평문을 작성하여 종이를 풀어 세로 방향으로 읽히는 암호문 생성
- 키(Key) : 앞 글자에서 일정한 간격
- 예시
- 평문 : KNOWLEDGE
- 키 : 3
- 암호문 : KWDNLGOEE
고전 암호 공격
전수 키 탐색 공격
- 평문과 암호문을 알 때, 키 공간을 전부 탐색하며 주어진 암호문과 같은 암호문을 생성하는 키를 찾는 방법
- 구조 자체는 매우 단순한 공격 방법이지만, 키 공간에 크기에 따라 소요시간이 크게 달라짐
- 키 공간이 충분히 크면 현실적으로 수행하기 어려움
빈도수 공격
- 단일 치환 암호에서 평문의 통계적 특성이 유지되는 점을 이용
- 특정 언어에서 자주 등장하는 문자 빈도를 바탕으로 암호문 문자와 대응 추측
- 키를 점차적으로 유추해 암호문을 복원
- 대상 언어 빈도 통계를 모르거나 문장이 너무 짧으면 공격 어려움
'Study > Cryptography' 카테고리의 다른 글
| [Crypto] 현대 암호 (0) | 2026.04.10 |
|---|