[Dreamhack] 고전 암호 정리

2024. 3. 7. 20:10보안/크립토

728x90
반응형

고전 암호 - 컴퓨터와 같은 고성능 연산 장치가 발명되기 전, 간단한 기계, 손 등으로 암복호화를 수행하던 암호
치환(Substitution) - 평문의 문자를 다른 문자로 바꾸는 것
전치(Transposition) - 평문 문자들의 위치를 바꾸는 것

단순한 고전암호는 하나만, 복잡한 고전암호는 두가지 방법 모두 사용

고전 암호의 분류

단일 문자 치환 암호(Monoalphapetic Substitution Cipher)


평문의 각 문자를 약속된 다른 문자로 치환하는 암호
복호화를 위해 치환의 대응관계는 일대일 대응이다. A -> B 로 치환되면, 다른 어떤 문자도 B로 치환되지 않는다.

카이사르 암호

기원전 44년 줄리어스 카이사르가 사용. 단일 문자 치환 암호의 대표적인 예시

-> 평문의 각 알파벳을 일정한 거리만큼 밀어서 다른 알파벳으로 치환. 알파벳을 밀어낸 횟수만 알면 해독 가능

가능한 모든 키의 집합을 키 공간(Key Space)이라고 하는데, 알파벳은 26자니까 카이사르 암호에서 키 공간의 크기는 26

카이사르 암호

춤추는 인형 암호

춤추는 인형 암호

모든 알파벳을 서로 다른 기호와 무작위로 일대일 대응시켜 치환 -> 키 공간의 크기는 26!

코드북 암호

책을 정하고 페이지 x와 단어의 인덱스 y를 보내면 수신자는 이를 이용하여 해독

코드북 암호

21537, 21529, 21406, 21402라는 암호문을 보내면, 215페이지의 37번째 단어, 215 페이지의 29번째 단어 . 이런식으로 찾아 해석 -> come to yellow roads

다중 문자 치환 암호(Polyalphabetic Substitution Cipher)


평문의 한 문자가 암호문에서 여러 종류의 문자로 치환될 수 있다.

비제네르 암호(Vigenere Cipher)

SKY -> DREAMHACK으로 암호화하려면 S K Y행을 고르고, 각 행에서 평문의 문자에 대응되는 문자로 평문을 치환

S K Y S K Y S K Y
D R E A M H A C K
V B C S W F S M I

전치 암호(Transposition Cipher)


평문을 구성하는 문자들의 순서를 재배열하여 암호문을 만든다. 

전치 암호

블록의 길이가 3이고, 키가 (3,1,2)일 때, 암호화는 위의 그림처럼 진행된다.

->ex)스키테일 암호(Scytale Cipher)

고전 암호 공격


전수 키 탐색 공격(Exhaustive Key Search Attack)

평문과 암호문을 알 때, 키 공간을 전부 탐색하여 주어진 암호문과 같은 암호문을 생성하는 키를 찾는 방법

키 공간의 크기가 작다면 빠르게 찾을 수 있다. -> 다 해보기 !

빈도수 공격(Frequency Analysis)

단일 치환 암호는 평문과 암호문이 일대일 대응을 유지하기 대문에, 평문의 통계적 특성을 알면 유추해낼 수 있다.

영문에서 알파벳의 사용 빈도

퀴즈

Q1. 다중 치환 암호는 단일 치환 암호보다 전사적 공격으로 암호문을 복호화하기 (쉽다/어렵다).

-> 어렵다

Q2. 빈도수 분석은 단일 치환 암호를 대상으로 (유효한/불가능한) 공격 기법이다.

-> 유효한

728x90
반응형

'보안 > 크립토' 카테고리의 다른 글

[Dreamhack] 현대 암호 정리  (2) 2024.03.07
[Dreamhack] Crpyptography Introduction 정리  (1) 2024.03.07