정보보안산업기사 필기

[암호학] 대칭키 암호 알고리즘

zzadary1012 2026. 3. 26. 23:26

어제까지는 대칭키 암호 알고리즘의 대표격인 DES와 AES에 대해 공부했었다. 

오늘은 기타 대칭키 암호 알고리즘의 특징들에 대해 간단히 정리하는 시간을 가져보겠다.

 

- IDEA (International Data Encryption Algorithm)

: DES를 대체하기 위해 스위스에서 개발

· 암호키 크기 : 128비트

· 블록 크기 : 64비트

· 구조 : Feistel의 변형 (Feistel과 SPN의 중간 형태 → Lai-Massey Scheme)

· 라운드 횟수 : 8.5회 (8라운드 이후 마지막에 한 번 더 키를 작용)

· S-box 사용 X → 대수적 구조가 서로 다른 연산 사용

· PGP(Pretty Good Privacy)의 데이터 암호 알고리즘으로 채택

 

 

- RC5

: 빠른 암·복호화를 위해 미국에서 개발

· 암호키 크기와 라운드 횟수는 가변적임

· 블록 크기 : 32, 64, 128비트

· 간단한 연산 → 암·복호화가 빠름 ( DES의 10배)

· 모든 하드웨어에 적합

 

 

- SEED

: 중요·개인 정보를 보호하기 위한 대칭키 알고리즘

· 암호키 크기 : 128비트 → 16개의 64비트 라운드 키를 생성

· 블록 크기 : 128비트 (이후, 256비트 키를 사용하는 SEED-256 개발)

· 함수 : 수정된 64비트 Feistel 형태

· 라운드 횟수 : 16회

 

 

- ARIA (Academy Research Institute Agency)

: Academy(학계), Research Institute(연구소), Agency(정부기관)이 공동으로 개발한 기술

· 암호키 크기 : 128, 192, 256 비트 (ARIA-128, ARIA-192, ARIA-256)

· 블록 크기 : 128비트

· 구조 : ISPN(Involutional SPN)

 

 

- HIGHT (HIGh security and light weigHT)

: 저전력·경량화를 요구하는 환경을 위해 개발

· ISO/IEC 국제 표준 암호 표준

· 블록 크기 : 64비트

 

 

- LEA (Lightweight Encryption Algorithm)

: 128비트 경량 고속 블록 알고리즘

· 대용량 데이터를 빠르게 처리

· 저전력 암호화에 사용 가능

· 금융 분야에 강함

 

구분 개발 국가 암호키 크기 블록 크기 라운드 횟수 특징
DES 미국 56 64 16 Feistel 구조 사용, 3중 DES 존재
Rijndael 벨기에 128,192,256 128 10,12,14 SPN 구조 사용
IDEA 스위스 128 64 8 Feistel과 SPN의 중간 형태, PGP의 알고리즘
RC5 미국 0 ~ 2040 32,64,128 1 ~ 255 간단한 연산으로 빠른 암·복호화
SEED 한국 128,256 128 16,24 중요 정보 및 개인 정보 보호
ARIA 한국 128,192,256 128 12,14,16 다양한 환경에 적합함
HIGHT 한국 128 64 32 저전력·경량화
LEA 한국 128,192,256 128 24,28,32 경량 고속 블록 암호 알고리즘

[표 - 대칭키 암호 알고리즘 비교]

 

 

 

현대 대칭키 암호를 이용한 암호화 기법

 

- 블록 암호의 사용 방식

: 블록 암호를 실제로 사용하기 위해서는 사용 방식을 규정해야 함

→ NIST에서 다섯 가지 운영 모드를 정의

 

· ECB 모드 (전자 부호표 모드)

· CBC 모드 (암호 블록 연쇄 모드)

· CFB 모드 (암호 피드백 모드)

· OFB 모드 (출력 피드백 모드)

· CTR 모드 (카운터 모드)

 

즉, 위의 다섯 가지 운영 모드들을 AES, SEED같은 대칭 블록 암호에 적용 가능함

 

① ECB 모드 (Eletronic CodeBook)

: 운영 모드에서 가장 간단함 → 평문을 블록 단위로 나누어 각각 독립적으로 암호화

 

· 특징

(1) 각각의 블록을 암·복호화 할 때 사용하는 키는 동일하다 → 같은 평문 블록은 같은 암호문 블록으로 나옴

(2) 장점 : 블록 간의 독립성 → 특정 블록에서 발생하는 오류가 다른 블록에 영향 X

▶ 많은 양의 데이터를 암호화 할 때 병렬적으로 처리

(3) 단점 : 패턴이 드러나 보안에 취약

 

ECB 모드

 

Q. 평문 크기가 블록 크기의 배수가 아니라면 어떻게 하나요?

A. Padding 이라는 과정을 통해서 평문의 마지막 블록이 다른 블록들과 동일한 크기가 되도록 덧붙이기를 실행한다.

 

 

② CBC 모드 (Cipher Block Chaining)

: 이전 단계의 암호문 블록과 다음 단계의 평문 블록이 XOR 연산되어 암호화된다 

 

· 특징

(1) 첫 블록에는 "초기화 벡터(Ⅳ)" 사용 → 동일한 평문이라도 Ⅳ가 다르다면 암호문이 달라짐

※ Ⅳ : 송수신 양자가 모두 알고 있어야 하며, 제 3자로 부터 예측 불가능해야함 ※

(2) 연쇄 작용이 일어남 : 각각의 암호문 블록은 그 이전의 평문 블록에도 영향을 받음

(3) 복호화 할 때 암호문 블록이 1개 파손 → 2개 블록에 영향을 미침 (해당 블록 평문 + 다음 블록 평문에 대응하는 비트) / 평문 블록의 한 비트 오류 → 모든 암호문에 영향

(4) IPSec, Kerberos version 5에서 사용

 

CBC 모드

 

 

③ CFB 모드 (Cipher FeedBack)

: 블록 암호를 스트림 암호처럼 사용할 수 있게 만들어줌

 

· 특징

(1) Padding이 필요하지 않고 실시간으로 사용 가능

(2) 암호화와 복호화 과정은 평문 블록과 암호문 블록의 역할만 바꾸면 동일하다.

(3) 이전 암호문 블록을 암호화하여 평문과 XOR 연산한다.

CFB 모드

 

▶ 여기서 평문 블록과 암호문 블록만 바꾸면 암호화 → 복호화가 되는 것, 신기하다!

 

 

④ OFB 모드 (Output FeedBack)

: ECB 모드의 단점(평문이 같으면 암호문이 같음)과 오류 전파가 발생하는 CBC, CFB 모드의 단점을 개선함

 

 

· 특징

(1) 암호기의 출력과 평문을 XOR 연산하여 암호문 생성 → 오류 전파 발생 X

(2) 전송중인 암호문의 비트 손실, 삽입 등에 유의

(3) Ⅳ가 바뀌면 암호문이 모두 바뀜

(4) 동기식 스트림 암호

OFB 모드

 

▶ 그림을 보면 CFB는 평문블록과 암호문 블록을 XOR 연산한 값을 다음 과정으로 넘김. 하지만 OFB는 XOR 연산하기 전 값을 다음 과정으로 넘김

 

 

⑤ CTR 모드 (CounTeR)

: 각 블록마다 고유한 카운터 값을 암호화 하여 평문과 XOR 연산

 

· 특징 

(1) 각 블록이 독립적으로 병렬처리 가능 

(2) 현대 고속 네트워크 환경이나 하드웨어 가속에 적합

(3) 이전 암호문과 독립적인 키 스트림 생성 → 하지만 피드백 생성 X

(4) 동기식 스트림 암호화 지원

(5) 그 외 OFB 모드의 장점을 대부분 지원

 

CTR 모드

 

설명만 보면 CTR 모드가 제일 성능이 좋은 모드인 것 같음.

 

모드 암호화 병렬처리 복호화 병렬처리 오류 전파 처리 방식 특징 및 용도
ECB 가능 가능 X 블록 가장 단순. 동일 평문 → 동일 암호문 생성
CBC 불가능 가능 O 블록 이전 암호문 블록과 XOR 연산, Ⅳ 필수
CFB 불가능 가능 O 스트림 블록 암호를 스트림처럼 사용
OFB 불가능 불가능 X 스트림 암호기 출력을 다시 입력으로 피드백
CTR 가능 가능 X 스트림 가장 빠르고 현대적인 방식

[표 - 운영 모드 비교 및 정리]

 

 

 

 

 

 

 

♠ 2026.03.26 / D-300 ♠

 

오늘 드디어 D-300이 되었다. 지금까지 군생활을 259일 했다는건데, 작년에 훈련소 입대해서 지금까지 했던 군생활을 한 번 더 해도 전역이 안 온다는 걸 생각하면 눈물난다. 내일은 금요일인데, 아마 개인정비 시간때 풋살하고, 야간에 TV연등 할거라 공부를 안 할 것 같다.... 토요일도 외출나가서 공부를 안 할 것 같다. 일요일에 금, 토에 논만큼 열심히 공부하겠다.

 

오늘은 대칭키 암호화 알고리즘과 블록 암호 운영 모드에 대해 공부했다. 많이 나오는 알고리즘의 특징들을 외우고 비교할 수 있는 수준만 되면 산업기사 필기 시험에선 잘 맞출 수 있지 않을까 싶다. 운영 모드에서도 한 문제 정도 나올 거 같은데, 큼직큼직하게 큰 그림부터 잡고 세부적으로 들어가야겠다.

 

일요일에 돌아오겠다.