1. 대칭키 암호화 방식 (비밀키 암호화 방식)
- 하나의 비밀키를 이용한 암호화 방식
- 암/복호화키가 동일
- 대표 암호 알고리즘: DES, 3DES, TDES, AES, SEED, ARIA 등
- 대체적으로 bit수가 작고 수행시간이 짧다.
- 사용에 제한적이다.
- 사용 예: 디스크 암호화
개요
- 암호화된 문서를 암호화에 사용된 키를 일반에게 공개하지 않고 개인이 비밀로 하여 이 키를 아는 자만이 볼 수 있도록 하는 알고리즘을 뜻함.
장점
단점
- 키 교환을 위해 안전한 매커니즘의 전달방법이 요구된다.(키 교환방식은. Diffie-Hellman, SSL 프로토콜과 같이 공개키 암호에 기반한 방법, Kerberos와 같이 중앙기관이 키교환을 도와주는 방식을 사용)각 쌍의 사용자들마다 유일한 키가 생성되어 다수의 쌍이 존재할 경우 키의 수가 증가되고 이로 인해 키관리가 어려워진다. 또한 인증기능이 없다.
2. 비대칭키 암호화 방식 (공개키 암호화 방식)
- 공개키(public)와 개인키(private)를 이용한 암호화 방식
- 암/복호화키가 상이
- 대표 암호 알고리즘: RSA, ECC 등
- 대체적으로 bit수가 많고 수행시간이 길다.
- 공개라는 단어에 어울리게 범용적으로 사용 가능하다.
- 사용 예: 비밀번호 암호화
- 공개키로 암호화한 것을 개인키로 복호화한다. (암복호화시 동일키를 사용할 수 없다.)
개요
- 대칭키가 가지는 키분배의 문제점을 해결하기 위해 제안 및 사용된 것이 비대칭키(공개키)암호 알고리즘이다.
장점
- 키가 공개되어 있기 때문에 따로 분배할 필요가 없다. 인증, 부인봉쇄 기능을 제공한다. (즉, 전자서명 및 사용자 인증등에 사용되기도 한다.)
단점
특징
- 암/복호화 키가 상이하다. 대표적 암호 알고리즘은 소인수분해(RSA, Rabin), 이산대수(Schnorr, KCDSA, Diffie-Hellman, Elgamal), 대수적코딩론(McElice), 타원곡선(ECC)등이 존재한다. 공개키로 비밀키를 복호화하는 것은 불가능해야 한다.
방식
A와 B가 존재하고 A와 B 둘다 공개키와 비밀키를 소유
하고 있다. A가 평문을 B에게 보내고자 할 때 A는 B의 공개키를 가져와 암호화
하여 전달한다. B는 전달받은 암호문(B의 공개키로 암호화된 평문)을 B의 비밀키로 복호화
하여 평문을 얻는다. 반대로 B또한 A에게 평문을 전달할 때 A의 공개키를 사용하면 된다.