[4장] 대칭암호
1절 문자 암호화에서 비트열 암호로
부호화
-암호화에 컴퓨터 사용이 필수화 된다.
-암호화 프로그램을 통해 평문을 비트열로 변경하고 비트열로 된 암호문을 출력한다.
-이때 이 부호화를 인코딩 한다고 한다.
ASCII방식을 통한 부호화
m → 01101101
i → 01101001
d → 01100100
n → 01101110
i → 01101001
g → 01100111
h → 01101000
t → 01110100
비트에서 XOR연산
1 + 1 = 0, 0 + 0 = 0
but, 1+ 0 = 1, 0 + 1 = 1 이다.
암호화 복호화의 순서와 매우 비슷하다.
XOR연산을 통해 그림을 암호화 하기도 한다.
2절 일회용 패드와 암호화
일회용 패드란 전사공격(Brute force Attack)에서 모든 키 공간을 탐색하더라도 해독할 수 없는 암호를 말한다.
일회용 패드 암호화의 예시
1. 평문 midnight를 ascii로 부호화 한다.
2. 키값으로 ASCII값과 길이가 같은 랜덤 비트열을 가져온다
3. 둘을 XOR연산 한다.
일회용 패드는 해독할 수 없다.
1. 이는 시간적인 문제가 아니다. 키공간 전체를 순식간에 계싼할 수 있어도 해독할 수 없다.
2. 이를 전사공격으로 복호화 하면 모든 종류의 64bits패턴이 등장할 수 있다. 8 x 8
일회용 패드가 사용되지 않는 이유
1. 키 배송, 키 보존, 키 재사용, 키 동기화, 키 생성 이슈가 발생된다.
2. 키 생성, 배송에 막대한 비용과 노력이 필요한다.
3. 이러한 비용을 견딜 수 있는 경우에만 사용된다(강대국 간의 핫 라인)
3절 DES란?
DES
1. 대칭 암호이다.
2. 전사 공격으로 해독될 수 있는 암호이다.
3. 64비트 키가 적용되어 평문을 64비트의 암호문으로 암호화 시키는 대칭형 블록 암호이다.
4. 대체와 치환 함수가 사용된다.

단순 DES 계산 ( S-DES)
아래 그림을 따른다.
10비트 평문키

P10과 P8은 주어진다. 순열형식의 키이다. 10bits의 키를 재배치할때 사용한다.
LS-1, LS-2는 각각 비트를 쉬프트 연산하는것을 의미한다.
/5 표시는 비트를 각각 좌우 5비트씩 나누는것을 의미한다.
초기키: 10100 00010
P10: 35274 X1986
P10연산: 10000 01100
LS1(bit): 00001 11000
P8 연산: 637485X9
K1구하기: 10100100
이전LS1: 00001 11000
LS2(bit): 00100 00011
P8연산: 637485X9
K2구하기: 01000011
복잡하다..
조금더 복잡한 DES를 보자.

1. IP연산: 마찬가지로 위의 P연산과 동일하다. 비트를 재배치 하면 된다.
2. /n연산: 비트를 쪼개면 된다.
3. E/P: 확장수열 연산
4. S0, S1 이역시 행렬단위 키로 주어진다.
5. P4: