목표
1. 암호의 필요성을 알아봄
2. 암호화화 복호화의 의미를 이해함
3. 대칭 암호화의 방식을 이해함
암호는 보안에 중요 역할을 함. 정보를 보호하기 위해 암호화 알고리즘 적용.
암호의 발전사
최초의 암호
- BC 480년에 스파르타에서 추방되어 페르시아에 살던 데마라토스가 페르시아의 침략 계획을 나무판에 조각하여 적은 후 밀랍을 발라 스파르타에 보낸 것
- 실제로 전달하고자 하는 정보를 숨기는 것을 스테가노그래피(Steganography)라고 하는데, 이는 '덮다.'는 의미의 그리스어 '스테가노스(Steganos)'와 '쓰다.'는 의미의 그라페인(Grapein)의 합성어.
전치법
: 단순히 메시지에 있는 문자의 의미를 바꾸는 방법
- BC400년에 스파르타 사람이 군사용으로 사용하던 암호화 방식
- 일정 굵기의 봉에 종이를 두르고, 전달하고자 하는 문장을 쓴 뒤 종이를 풀어 다른 부대에 전달하고 봉의 굵기를 알려줌.
- 전달받은 부대는 같은 굵기의 봉에 둘러 암호문을 읽음
(종이를 봉에 두르는 것 : 암호화 알고리즘, 봉의 굵기 : 암호화 키)
대체법(Transposition)
: 글자를 다른 글자로 대체하여 암호화하는 방법
시저의 암호화 방법
- 알파벳 26글자를 3 or 4자씩 오른쪽으로 이동시킨 뒤, 해당되는 글자로 변환시켜 암호화
- BC 50년에 로마시대의 줄리어스 시저가 군사적 목적으로 사용함
모노 알파베틱(Mono Alphabetic)
- 알파벳 26자를 규칙없이 임의의 문자에 임의의 알파벳을 대응시켜 암호화 함.
- 26! 가지 경우의 수
- 간단한 키워드나 키프레이즈(KeyPhrase : 핵심 문구)를 이용해 대칭표를 만들기도 함.
예시) ASSASSINATOR(암살)
1. 키워드에서 중복된 알파벳을 제거하면 ASINTOR.
2. 마지막 알파벳 R부터 Z까지 뒤에 작성하되, 앞에 나온 알파벳은 제외.
3. 다시 A부터 시작하여 중복된 알파벳을 제외하고 끝까지 작성

빈도수 분석법 (Frequency Analysis)
: 알파벳의 26글자가 문장에서 통계적으로 비슷한 빈도수를 가진다는 점에서 착안

- 단일 치환 암호법(모노 알바베틱)은 키워드를 몰라도 복호화가 가능함
- 9세기 알 킨디라는 아랍 학자가 기술한 책에 기록
비즈네르 암호화
: a가 b에 대응될 수도 있고, c에 대응될 수도 있음. 무엇에 대응할 지 결정하는 것은 키(Key).
- 비즈네르는 프랑스의 외교관으로 일했고, 업무가 암호와 매우 깊은 관련이 있어서 업무상 관심을 가지게 됨.
- 이와 같은 암호화 방식을 다중문자 치환 기법(Polygram Substitution)이라고도 함.
예시) wish to be free from myself의 키가 secret is beautiful

- 단순 빈도 분석법으로는 깰 수 없음
- 17~18세기에 널리 보급
- 19세기에 찰스 배비지에 의해 빈도 분석법을 통한 규칙성을 찾는 방법으로 복호화 방법이 만들어짐
근대 암호화
- 19세기 말 찰스 배비지가 비즈네르 암호화 방식의 복호화 방법을 알아내자 암호 제작계는 혼란에 빠짐
- 마로코니가 무선 통신을 발명했을 때 강력한 전달 도구로 그 역할이 충분했으나, 통신 내용을 보호할 수 없는 상태에서는 용도가 제한적으로 사용됨.
대칭 암호화 방식
암호 강도를 높이기 위한 성질
- 혼돈 : 암호문의 통계적 성질과 평문의 통계적 성질의 관계를 난해하게 만드는 성질
- 확신 : 각각의 평문 비트와 키 비트가 암호문의 모든 비트에 영향을 주는 성질
DES (Data Encryption Standard)
: 64비트의 블록 암호화 알고리즘. 56비트 크기의 키로 암호화 됨.
- 다음 두 가지의 기본 변환을 통해 이루어짐
* 하나의 블록인 64 비트를 L1(32비트)과 R1(32비트)으로 나눔
* R1을 암호화 키로 생성한 S-Box로 f 함수를 만들어 치환 작업 후, 이 값을 L1과 XOR 한 다음 L2와 R2의 위치를 바꿈
- 생성 가능한 암호화 키는 최대 2**56(약 7200조) 가지
- 1972년 미 상무부의 NBS(National Bureau of Standards, 훗날 NIST)에서 보안 문제의 대두로 인하여 정보보호를 목적으로 공모한 암호 알고리즘
- IBM의 바터 투흐만과 칼 마이어가 개발하여 1977년 NIST에 의해 암호화 표준으로 결정
- DC(Differential Cryptoanalysis), LC(Linear Cryptoanalysis), DES challenge 등의 공격으로 1999년에 4개월 동안 분산 환경에서 병렬 처리로 복호화 성공.
- 1998년에는 전용 칩을 이용하여 56시간 만에, 1999년에는 전용 칩과 10만대의 PC를 이용하여 22시간만에 복호화 성공
- 1998년 11월 이후부터 미 정부에서는 사용을 중단함
암호화 복호화 과정
- 암호화 과정 한 단계를 라운드(Round)라고 표현하고, 혼돈이 이 과정에서 이루어짐.
- 하나의 블록에 대해 알고리즘을 16번 수행하므로 16라운드 알고리즘.
- 복호화는 암호화의 반대로 수행

- 암호화 방식의 차이에 딸 ECB(Electronic CodeBook), CBC(Cipher Block Chainging), CFB(Fipher FeedBack), OFB(Output FeedBack)로 나뉨
S-Box
- 입력문의 확장

- S-Box에서 매칭 111000은 맨 앞 비트 1과 마지막 비트 0을 합쳐 10(2)이 되고, 가운데 블록은 1100(12)이 됨. 따라서 111000은 위의 S-Box에서 가로 12, 세로 2가 만나는 3(0011)dl ehla. rufrnr 1011 1100 0111의 가운데 있는 1100은 3(0011)으로 암호화 됨.

트리플 DES
: 기존 DES의 복호화가 가능해짐에 따라 다음 등장할 AES가 나오기 전까지 임시로 사용한 암호화 알고리즘
- 2개의 암호화 키를 이용함

AES (Advanced Encryption Standard)
: 128 비트 암호화 블록과 다양한 키의 길이로 하는 암호화 방식
- 1997년 NIST에서 향후 30년 정도 사용할 수 있는 안정성이 있는 암호화 알고리즘을 다시 공모
- 미국의 MARS, RC6, Twofish
- 벨기에의 Rijndael
- 영국, 이스라엘, 덴마크의 합작인 Serpent
- 2000년 리즈맨과 대먼의 Rijndael 알고리즘이 AES로 선정됨
기타 대칭형 암호화 알고리즘
IDEA (International Data Encryption Standard)
: 128비트의 키를 사용하여 64비트의 평문을 8라운드를 거쳐서 64비트의 암호문으로 생성함. 모든 연산이 16비트 단위로 이루어지도록 하여 16비트 프로세서에서 구현이 용이함. 주로 키 교환에 쓰임
- 1990년 ETH(Eidgenossische Technische Hochschule)의 라이와 매시가 제안한 PES(Proposed Encryption Standard)가 발표됨.
- 1991년에 이를 개선하여 IPES(Improved PES)라는 이름으로 다시 발표됨
- 1992년에는 IDEA로 이름이 바뀜
RC5
: 입출력, 키, 라운드 수가 가변인 블록 알고리즘
- 64비트의 키를 가짐.
- 속도는 DES의 10배
- 1994년 미국 RSA 연구소의 리베스트가 개발
Skipjack
: 64비트의 입출력, 80비트의 키, 총 32라운드를 거쳐 암호문을 생성하는 알고리즘.
- 미 국가 안보국(NSA)에서 개발한 Clipper 칩에 내장되는 블록 알고리즘
- 알고리즘의 형태와 구조는 기밀로 유지하다가 1998년 공개.
- 소프트웨어로 구현되는 것을 막고자 Fortezza Card에 칩 형태로 구현
'정보보호 > 정보보호학 개론 (2013, 백석대 이근호 교수님)' 카테고리의 다른 글
8-1. 공개키 기반 구조 및 공인 인증서 (0) | 2024.08.12 |
---|---|
7-2. 비대칭 암호화 및 해시 (0) | 2024.08.10 |
6-3. 악성 코드 : 웜과 스파이웨어 (0) | 2024.08.10 |
6-2. 악성 코드 : 바이러스 (0) | 2024.08.10 |
6-1. 악성 코드 : 역사 및 분류 (0) | 2024.08.09 |
댓글