0. 개요
SEED 암호 알고리즘
전자상거래, 금융, 무선통신 등에서 전송되는 개인정보와 같은 중요 정보를 보호하기 위해
1999년 2월 한국인터넷진흥원과 국내 암호전문가들이 순수 국내기술로 개발한 128비트
블록암호 알고리즘
1. 암호화 개념
- 해독 가능한 형태의 메시지: 평문 ( PlainText )
- 해독 불가능한 형태의 메시지: 암호문 ( CipherText )
- 암호화: 평문 → 암호문
- 복호화: 암호문 → 평문
2. 암호화 방식
① 대칭키 암호화 ( = 비밀키 암호화 )
- 암호화 키와 복호화 키가 같은 암호 방식을 대칭키 암호화 ( 비밀키 암호화 ) 방식이라 한다.
② 비대칭키 암호화 ( = 공개키 암호화 )
- 암호화 키와 복호화 키가 다른 암호 방식을 비대칭키 암호화 ( 공개키 암호화 ) 방식이라 한다.
3. 단위 별 암호화 방식
① 블록 암호화( ECB모드 ): 메시지를 블록( Block )단위로 처리
- SEED는 128비트의 암복호화 키를 이용하여 임의의 길이를 갖는 입력 메시지를
블록단위로 처리하는 128비트 블록 암호 알고리즘 이다.
따라서 임의의 길이를 가지는 평문 메시지를 128비트씩 블록단위로 나누어 암호화하여 암호문을 생성.
② 스트림 암호화: 메시지를 비트( Bit ) 단위로 처리
4. SEED 암호화 구현
① 엔디안 ( Endianness )
- 컴퓨터 메모리의 바이트를 배열하는 순서
- 빅 엔디안( 큰 단위 ), 미들 엔디안( 중간 단위 ), 리틀 엔디안( 작은 단위 )
- 기본적으로 리틀 엔디안 사용 ( x86 포함 )
- 자바 가상 머신은 기본적으로 빅 엔디안 사용
( Private Static Boolean ENDIAN = BIG; )
② 데이터 형식
- 다양한 연산을 통해 평문을 무의미한 비트열의 암호문으로 변환
- 암호화 메시지는 문자열( String ) 형태가 아닌 이진( Binary )형태로 처리 필요
③ 운영모드
- 여러 입력 블록들을 블록암호에 의해 암/복호화 하는 방법에 대한 정의
- 종류: ECB, CBC, CTR, CFB, OFB 모드
5. SEED 알고리즘의 구조
SEED 알고리즘의 전체 구조는 Feistel 구조로 이루어져 있으며, 128비트의 평문 블록과
128비트 키를 입력으로 사용하여 총 16라운드를 거쳐 128비트 암호문 블록을 출력한다.
아래 구조도는 SEED 알고리즘의 전체 구조를 도식화 한 그림이다.
'IT 지식 > IT 정보' 카테고리의 다른 글
방화벽 ( Firewall ) 의 구성 형태 (0) | 2022.12.14 |
---|---|
방화벽 ( Firewall ) 개념 , 기능, 동작 방식 (0) | 2022.12.13 |
RSA 공개키 암호화 알고리즘 (0) | 2022.12.09 |
웹사이트와 브라우저 (0) | 2022.10.18 |
SSL, TLS, HTTPS 설명 (0) | 2022.10.12 |