장점 |
단점 |
- 구현이 용이
- 암.복호화 속도가 빠름
- 암.복호화 키의 크기가 상대적으로 작음
- 각종 암호 시스템의 기본으로 활용
- 강한 암호로의 전환이 용이
|
- 관리할 암.복호화 키의 수가 많음
⇒ N(N-1)/2
- 암.복호화 키 공유 방식에 제한
- 제공되는 보안 서비스에 제약이 따름
- 디지털 서명 등의 기법에 적용하기 곤란
|
-
대칭키 암호 시스템의 분류
-
블록 암호 시스템
- 평문을 일정한 길이의 블록으로 나누어 블록 단위로 암호화 하는 방식
- 패딩 : 평문이 블록 단위의 배수가 아닐 때, 이것을 맞추어 주기 위한 방식
- 운영 모드 : 블록 암호 시스템은 블록 단위로 암.복호화를 수행하므로, 일반적인 데이터를 암.복호화하는 경우 복수 개의 블록을 처리해야 하는데, 이때 각 블록들 간의 연관성 도는 의존성을 주는 방식을 운영 모드라고 함
-
블록 암호 시스템의 운영 모드
- ECB(Electronic Code Book) : 평문 블록은 각각 독립적으로 암호화되어 암호문 블록을 생성
- CBC(Cipher Block Chaining) : 각각의 평문 블록은 이전의 암호문 블록과 XOR된 후에 암호화(앞에서 암호화한 블록을 다음 블록의 seed로 사용)
- CFB(Cipher FeedBack) : 독립적으로 움직이는 연속 데이터 블록 S가 존재하여 각각의 평문 블록은 이전의 S(i-1)를 암호화한 S(i)와 XOR되어 암호문 블록을 생성
- OFB(Output FeedBack) : 이전의 암호문 블록은 출력됨과 동시에 암호화되어 현재의 평문과 XOR된 후에 암호문 블록을 생성
- 대표적인 블록 암호 시스템 : DES, Triple-DES, IDEA, SEED, RIJNDAEL 등
DES |
- NIST에서 표준으로 공표(1977년)
- 5년마다 안전성이 재평가되며, 56-BIT 키의 취약성으로 인해 Triple-DES, AES로 대체되고 있음
- 기본 사양 : 입.출력 크기(64 BIT), 키 크기(56 BIT), 라운드 수(16), Feistel 구조
|
T-DES |
- IPSec이나 PKIX 등 대부분의 새로운 응용들에서 묵시적 블록 암호, 알고리즘으로 사용
- 사용 예 : (E[D[E(M,K1)], K2],K1], [E[E[E(M,K1)], K2], K3]
- T-DES 중 가장 안전한 방식
|
IDEA |
- 1990년 유럽의 Lai와 Massey에 의해 개발
- PGP(Pretty Good Privacy )에 채택
- 기본 사양 : 입.출력 크기(64 BIT), 키 크기(128 BIT), 라운드 수(8)
|
SEED |
- 한국정보보호진흥원(KISA) 주관으로 개발되어 현재 TTA 표준으로 제정
- 기본 사양 : 입.출력 크기(128 BIT), 키 크기(128 BIT), 라운드 수(16), Feistel 구조
|
RIJNDAEL |
- Daemen과 Rijmen에 의해 개발
- 2000년 10월 AES 알고리즘으로 최종 선정
- SPN(Substitution-Permutation Network) 구조의 가변 블록 길이를 지원하는 블록 암호
- 지원 블록 길이는 128, 192, 256비트이며, 각 블록 길이에 대해 128, 192 혹은 256비트의 키를 사용하며, 각 키의 길이에 대해 10, 12, 14라운드를 사용
|
▶ 블록 암호 시스템의 종류
-
스트림 암호 시스템
- 평문을 1비트 단위로 암호화하는 방식
- 키를 키 스트림 생성기라는 알고리즘에 입력하여 발생되는 1비트 키의 무한 수열로 평문을 암호화
- 일회용 패드도 스트림 암호의 일종
- 일반적으로 하드웨어로 구현시 블록 암호에 비해 빠르며, 구현에 있어 복잡도가 작음
- 버퍼링에 한계가 있거나 받은 문자를 개별적으로 처리해야 하는 경우 사용
- 풍부한 이론을 가지고 있음에도 많이 공개되지 않는 이유 : 'Proprietary and Confidential'