비대칭키 동작 원리 - bidaechingki dongjag wonli

1. 평문을 암호화 시키는 암호화 알고리즘의 종류와 동작 원리

가) 대칭키 방식 (Symmetric, 관용키, 비밀키) 개념도 및 상세

비대칭키 동작 원리 - bidaechingki dongjag wonli

구분

내용

스트림 암호

One Time

Password

- 한번 쓰고 Pass 폐기, 일회용

- Sniffing 등으로 가로채도 새로운 암호 사용하므로 안전

- 동기화된 시간 유지하는 Time-Stamp 방법

- Client/Server의 임의의 패스워드 리스트 내 위치 이용방법

- Challenge-Response 스키마 이용

블록암호

DES

- Data Encryption Standard

- 64bit의 평문을 64bit의 키를 이용해서 64bit의 암호문 생성

- 64bit Key = 56bit(내부실제 키) + 8bit(검사용 패리티 비트)

- 각 라운드마다 전치 및 대치의 과정을 갖는 16회(Round)의 반복적인 암호화 과정 수행

SEED

- KISA에서 개발한 128bit 블록암호 알고리즘

- 입력 키의 크기가 128bit이며 16 Round 수행

특징

- 암/복호화 키가 동일한 암호화 알고리즘, 제 3자에게 노출 시 폐기

- 순환, 치환방식을 사용해 비대칭 암호화 방식에 비해 수행 속도가 매우 빠름

- 사용자가 증가할 수록 키 관리에 대한 문제가 발생 ( 키 수량 = n*(n-1)/2)

- 시스템 환경에 맞는 적절한 암호 알고리즘을 쉽게 개발 가능

나) 비대칭키 방식 (Asymmetric, 공개키, 개인키) 개념도 및 상세

비대칭키 동작 원리 - bidaechingki dongjag wonli

구분

내용

RSA

- 소인수분해 문제 해결의 높은 난이도를 이용한 가장 대표적인 공개키 암ㅎ화 알고리즘

- 개인키로 암호화하는 것이나 공개키로 암호화 하는 것이나 모두 수학적으로 안전하다고 증명

- 다른 암호화 알고리즘과 달리 양쪽으로 암호화가 가능함

ECC

- Elliptic Curve Cryptograyphy

-

- 타원곡선 이산대수 문제는 인수분해문제나 유한체의 이산대수 문제에 비해 효과적인 공격 방법이 현재까지 발견되지 않았음

- 다른 공캐기 암호에 비해 짧은 키를 사용하여 비슷한 암호강도를 가짐

- 연산속도가 빨라 무선 인터넷, 스마트 카드 등의 제한된 환경에 적합

비대칭

암호화

특징

- 암호화 / 복호화의 키가 서로 다르고 하나를 알더라도 대칭되는 키를 알 수 없는 알고리즘

- 암호를 위한 키와 복호를 위한 키가 서로 다른 키로 구성

- 사용자 1명이 증가되면 2개의 키만 추가로 요구되므로 키 관리가 용이

- 공개키(암호화키)로부터 개인키(복호화키)를 구하는 것이 현실적으로 불가능

- 사용자 공개키와 실사용자를 연결할 수 있는 PKI(Public Key Infrastructure) 필요

- RSA 원리: RSA는 소인수분해시 큰 수로부터 두개의 큰 소인수를 구하는 것이 어렵다는 점을 착안하여 개발

- ECC 원리: 타원곡선이산대수 문제를 기반으로 하는 공개키 암호 알고리즘

2. 대칭 키와 비대킹 키 비교

가) 대칭 키와 비대킹 키 비교 특징 별 비교

구분

대칭키

비대칭키

장점

- 구현이 용이

- 여러 변형이 가능

- 암호해독이 어려움

- 전자서명이 가능

- 완벽한 인증이 가능

단점

- 쉽게 해독이 가능

- 완벽한 인증이 어려움

- 키 관리의 어려움 (생성과 분배)

- 제 3의 인증기관이 필요

- 해독시간이 오래 걸림 (계산량 과다)

사례

- DES: 미국 IBM

- SEED: 국산, ETRI

- ARIA: 국산, 국가보안연구소

- RSA(소인수분해): 미국

- DSA(이산대수): 미국

- ECC(타원곡선): 무선인터넷

나) 대칭 키와 비대킹 키 비교 요소 별 비교

구분

대칭키

비대칭키

키의 상호관계

암호화키 = 복호화키

암호화키 != 복호화키

암호화키

비밀키

공개키

복호화키

비밀키

개인키

비밀키 전송

전송

불필요

대표사례

DES, SEED

RSA, DSA, ECC

키 개수

t = n*(n-1)/2

t=2n

장점

고속, 경제성 높음

키 분배 및 관리의 용이함

단점

키 분배 및 관리의 어려움

저속, 경제성 낮음