IT 지식/IT 정보

SEED 암호화 개념

2022. 12. 12. 21:00
목차
  1. 0. 개요
  2. 1. 암호화 개념
  3. 2. 암호화 방식
  4. 3. 단위 별 암호화 방식
  5. 4. SEED 암호화 구현
  6. 5. SEED 알고리즘의 구조

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 알고리즘의 전체 구조를 도식화 한 그림이다.

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
  1. 0. 개요
  2. 1. 암호화 개념
  3. 2. 암호화 방식
  4. 3. 단위 별 암호화 방식
  5. 4. SEED 암호화 구현
  6. 5. SEED 알고리즘의 구조
'IT 지식/IT 정보' 카테고리의 다른 글
  • 방화벽 ( Firewall ) 의 구성 형태
  • 방화벽 ( Firewall ) 개념 , 기능, 동작 방식
  • RSA 공개키 암호화 알고리즘
  • 웹사이트와 브라우저
Security Engineer
Security Engineer
IT 공부
Security Engineer
IT-log
Security Engineer
전체
오늘
어제
  • 분류 전체보기 (172)
    • Programming (39)
      • Python 웹 스크래퍼 만들기 (39)
    • IT 지식 (65)
      • IT 정보 (27)
      • CS 기초 (24)
      • 운영체제 (8)
      • IT 인프라 기초 (6)
    • 보안 (45)
      • 악성코드 분석 (10)
      • Bandit 워게임 (25)
      • 취미로 해킹 2 (6)
      • 환경 구축 (4)
    • 웹 해킹 (23)
      • 웹 기초 지식 (8)
      • SQL 기본 (2)
      • 웹 해킹 및 시큐어 코딩 기초 (13)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 파이썬
  • Selenium
  • CS
  • 워게임
  • 웹 해킹
  • 운영체제
  • CS 기초
  • 취미로해킹
  • Web
  • 리눅스
  • webScrapper
  • IT 인프라
  • WarGame
  • Beautifulsoup
  • Def
  • 컴퓨터
  • flask
  • HTML
  • overthewire
  • CSS
  • Python
  • 취미로 해킹
  • it 운영
  • 악성코드
  • 악성코드 분석
  • 모의해킹
  • 해킹
  • bandit
  • 웹 개발
  • 시큐어 코딩

최근 댓글

최근 글

hELLO · Designed By 정상우.
Security Engineer
SEED 암호화 개념
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.