- 합성 암호
: 치환·전치 암호와 그 밖의 구성요소들로 이루어진 복합적인 암호 (Shannon이 소개한 개념)
※ 라운드(Round) : 반복적으로 사용되는 합성 암호 ※
→ 합성 암호라는 자물쇠를 여러번 걸어 공격을 방지하는 것
▶ 합성 암호에는 크게 2가지 종류가 있음
: Feistel 암호, SPN 구조
- Feistel 암호
: 구성도가 그물을 짜는 것 같이 교환되는 형태로 구성되어 있음
(1) Feistel 암호의 작동 원리
① 분할 : 입력된 평문을 똑같은 크키의 좌우(L, R) 블록으로 분할한다.
② 라운드 함수 적용 : 오른쪽 블록(R)에 라운드 함수를 적용한다.
③ XOR 연산 : 함수의 결과값과 왼쪽 블록(L)을 XOR 연산한다.
④ 교차(Swap) : 다음 라운드로 넘어가기 전에 원래의 R과 계산 값을 서로 바꾼다.

▶ R(i) = L(i-1) XOR f( R(i-1), K(i-1) )이 아니라 K(i)인 이유는 1라운드에서 K(0)이 아닌, K(1)을 사용하도록 표기하기 때문
(2) Feistel 암호의 특징
· 아무리 복잡한 함수를 사용하여도 구조적으로 복호화가 가능함
· 3라운드 이상이며 짝수 라운드로 구성됨
· 언제나 역변환이 가능함
· 두 번의 수행으로 완전한 확산(Diffusion)이 이루어짐
· 알고리즘 수행속도 ↑
· 하드웨어 및 소프트웨어 구현이 용이
· 아직 구조상에 문제점 발견 X
· 복호화 할 때는 암호화 알고리즘의 역순으로 실행
(3) 안정성 있는 Feistel 암호의 조건
· 평문 블록의 길이 : 64bits 이상
· 키의 길이 : 64bits 이상
· 라운드 수 : 16회 이상
(4) Feistel을 사용하는 암호 알고리즘
: SEED, DES, Blowfish, Twofish, Mars, CAST, CAST256 ...

- SPN 구조
: Substitution-permutation(SP) Network
(1) SPN 구조
① 입력된 데이터를 일정한 단위로 나누어 S-box에 통과시킨다(대치).
→ 혼돈 발생
② S-box에서 출력된 데이터를 P-box로 전치시킨다.
→ 확산 발생
▶ 위 과정을 반복하는 방식이 SPN 구조이다.

(2) SPN 구조 특징
· 암호화와 복호화 함수가 서로 다름
→ 복호화를 위해 라운드 함수가 역변환 되어야 함
· 하드웨어 구현이 용이하지만 비용 ↑
(3) SPN 구조를 사용하는 암호 알고리즘
: IEDA, ARIA, AES, RIJNDAEL, SAFER, SHARK, Square ...
| 기본 구조 | 해당 구조를 사용하는 알고리즘 |
| Feistel | DES, Blowfish, Twofish, RC5, RC6, Mars, MISTY, LOKI, CAST, CAST256, E2 |
| SPN | Rijndael, SHARK, Serpent, SAFER, SAFER+, Square, CRYPTON, PRESENT |
- 블록 암호에 대한 공격
(1) 차분 분석(차분 해독법, Differential Cryptanalysis)
: 선택 평문 공격법
→ 두 개의 평문 블록들의 비트에 차이에 대응되는 암호문 블록들의 비트의 차이를 분석
(2) 선형 분석(선형 해독법, Linear Cryptanalysus)
: 기지평문 공격의 한 종류
→ 알고리즘의 비선형 구조를 적당히 선형화시켜 키를 찾는 방법 (근사적 선형 관계식을 찾는 것을 목표로 함)
(3) 전수공격법(Exhaustive key search)
: 암호화할 때 일어날 수 있는 모든 경우의 수를 조사하는 방법
(4) 통계적 분석(Statistical analysis)
: 지금껏 알려진 통계적 자료를 이용하여 분석하는 방법
(5) 수학적 방법(Mathematical analysis)
: 통계적 분석을 포함하여 수학적 이론을 이용하여 해독하는 방법
♠ 2026.03.23 / D-303 ♠
오늘은 현대 블록 암호와 더불어 합성 암호까지 공부를 해보았다. 혼돈은 암호문과 키 사이의 관계를 숨기고, 확산은 암호문과 평문 사이의 관계를 숨긴다. 합성 암호는 P-box와 S-box를 포함한 암호인데, 같은 합성 암호를 반복적으로 사용하게 되면 이를 라운드라고 부르기로 했다. 합성 암호의 종류에는 Feistel 방법과 SPN 구조가 있었다. 둘 다 알고리즘이 그렇게 어렵지 않기 때문에 그냥 공부해보았다.
오늘은 평소보다 조금 늦게 공부가 끝났다. 오랜만에 풋살 뛰고 오니까 힘들지만 할 건 해야하기 때문에 사지방으로 출근을 했다... 5월 31일에 인터넷 보안 전문가 2급, 6월 21에 네트워크 관리사 2급 실기시험이 있는데 이 때 출타를 나갈 수 있을지 모르겠다. 못 나가면 필기 면제 없어지는건데 무슨 수를 쓰더라도 나가서 자격증 취득해서 오겠다.
사실 인보전이랑 네관 공부하면서 겹치는 부분이 상당히 있다. 이후 나중에 정처기 딸 때도 상당한 도움이 될 것 같다. 나는 이만하고 잠을 자러 가봐야겠다.
'정보보안산업기사 필기' 카테고리의 다른 글
| [암호학] AES (Advanced Encryption Standard) (1) | 2026.03.25 |
|---|---|
| [암호학] DES(Data Encryption Standard) (0) | 2026.03.24 |
| [암호학] 현대 블록 암호 (0) | 2026.03.23 |
| [암호학] 지적 재산권 보호 (0) | 2026.03.22 |
| [암호학] 암호 분석의 종류 (0) | 2026.03.19 |