-
암호학 4주차 - 고전 암호보안/CRYPTOGRAPHY 2024. 3. 15. 17:10
0. 고전암호의 분류
- 고전암호 - 치환: 평문의 문자를 다른 문자로 바꾸는 것
- 단일 문자 치환 암호
- 다중 문자 치환 암호
- 전치: 평문 문자들의 위치를 바꾸는 것 의 방법으로 설계된다
- 단순한 고전 암호는 한 가지 원리만을 사용하는 치환 암호 / 전치함호
- 복잡한 고전 암호는 두 원리를 모두 사용
1. 단일 문자 치환 암호
: 평문의 각 문자를 약속된 다른 문자로 치환하는 암호
- 복호화를 위해 치환의 관계는 일대일 대응
- 카이사르 암호
: 평문의 각 알파벳을 일정한 거리만큼 밀어서 다른 알파벳으로 치환한다.
- 복호화 방법: 암호문의 각 문자를 다시 원래의 위치로 민다.
송신자와 수신자가 사전에 합의해야 통신 가능
-컴퓨터를 사용하면 쉽게 복호화 된다.
- 키(key): 알파벳을 밀어낸 횟수/ 가능한 키의 갯수는 26개
- 키 공간(key space): 암호학에서 가능한 모든 키의 집합 / 카이사르 암호에서 키 공간의 크기는 26
- 단일 문자 치환 암호 예시
1. 춤추는 인형 암호: 사람 한 명이 글자 하나에 대응
- 모든 알파벳을 서로 다른 기호와 무작위로 일대일 대응시킴+키 교환 -> 키 공간의 크기는 26!
2. 난수표/ 코드북을 이용한 단일 치환 암호
3. 책 페이지와 인덱스를 통한 치환 암호
- 단일 치환 암호의 단점
- 언어가 지닌 통계적 특성이 유지된다.
ex. 영어 문장에서 가장 많이 사용되는 알파벳이 e 임을 이용해서 해독 가능
2. 다중 문자 치환 암호
: 평문의 한 문자가 암호문에서 여러 종류의 문자로 치환될 수 있다.
- 비제네르 암호
- 암호화와 복호화는 미리 정해진 키워드를 이용해 이루어진다.
- 방법
1. 비제네르 표에서 키워드의 문자에 맞는 행을 고른다.
2. 키워드를 반복하며 키워드의 각 행에서 평문의 문자에 대응되는 문자로 평문을 치환한다.
- 비제네르 암호의 합동식( C: 암호문, M: 평문, K: 키워드, Xi=X의 i번째 요소)
3. 전치 암호
: 평문을 구성하는 문자들의 순서를 재배열하여 암호문을 만든다.
- 방법: 평문을 정해진 길이의 블록들로 나누고 규칙을 적용해 블록 안의 문자들을 재배치
- 예시 : 블록 길이 3, 키가 (3,1,2)인 경우
- 스키테일 암호 : 나무봉을 이용한 암호
- 방법
1. 메시지를 교환할 두 사람이 같은 크기의 나무봉 제작
2. 송신자는 종이 테이프를 나무봉에 감고 테이프 위에 세로로 메세지를 기입해 암호문 만듦
3. 종이테이프를 풀어내면 메시지를 읽을 수 없지만 같은 나무봉을 가진 사람은 해석할 수 있음.
3. 고전 암호 공격
- 전수 키 탐색 공격
: 평문과 암호문을 알 때 키 공간을 전부 탐색하며 주어진 암호문과 같은 암호문을 생성하는 키를 찾는 방법
- 단순하지만 키 공간의 크기가 작다면 빠른 시간 안에 키를 찾아 해독 가능
- 카이사르 암호(단일 치환 암호)는 키 공간이 작아 전수 키 탐색 공격에 취약하고
현대 암호는 키 공간의 크기가 매우 넓으므로 이를 대상으로 사용하기 어려움.
- 빈도수 공격
: 암호문에서 단어가 등장하는 빈도를 분석하여 통계적으로 복호화하는 공격 기법
(추측을 바탕으로 암호문을 복구)
- 대상 언어의 특성을 아는 경우 시도가 가능
- 다중 치환 암호는 통계적 특성이 사라져 빈도수 공격이 쉽지 않다.
'보안 > CRYPTOGRAPHY' 카테고리의 다른 글
암호학 5주차 - 블록암호 (0) 2024.03.16 암호학 5주차 - DES (0) 2024.03.15 암호학 5주차 - AES (1) 2024.03.15 암호학 4주차 - 현대 암호 (0) 2024.03.15 암호학 3주차 (0) 2024.03.15