반응형

0. 개요

암복호화에 사용하는 키가 동일한 대칭키 암호화와 암복호화에 사용하는 키가 다른 공개키 암호화(비 대칭키)에 대해서 비교해 보도록 하겠습니다. 대칭키와 비 대칭키 암호화 방식은 양방향 암호화 방식으로도 말합니다. 반면에 해시 함수의 경우 단방향성 함수로써 복호화가 되지 않습니다.

 

1. 대칭키 (Symmetric key)

대칭키란 데이터를 암복호화 할 때, 사용하는 키가 동일할 경우 말합니다. 즉, 아래 그림과 같이 데이터를 암호화 할 때, 사용했던 키를 복호화 할때 동일하게 사용하는 것 입니다.

 

암호화:

복호화:

 

- 대칭키 암호화에 대표적 알고리즘으로는 DES, 3DES, AES, SEED, ARIA 등이 있습니다.

- 대칭키 암호화는 암복호화에 걸리는 시간이 짧다는 장점이 있고, 단점으로는 키 교환 과정에서 중간에 키가 노출될 수 있다는 점과 키 관리가 어렵다는 단점이 있습니다. 대칭키의 단점을 보완하고자 Diffie-Hellamn 키 교환 및 공개키 암호화 등 방안을 고려할 수 있습니다.

 

2. 비 대칭키 (Asymmetric key)

비 대칭키란 데이터를 암복호화 할 때, 사용하는 키가 다른 경우를 말합니다. 공개키 암호화는 키가 공개되어 있기 때문에 키를 교환할 필요가 없고, 공개키(Public key)는 모든 사람이 접근 가능한 키이고 개인키(Private key)는 각 사용자만이 가지고 있는 키 입니다.

 

예를 들어, B가 A에게 데이터를 보낸다고 할 때, B는 A의 공개키로 암호화한 데이터를 보내고 A는 본인의 개인키로 해당 암호화된 데이터를 복호화해서 데이터를 확인합니다.

 

아래 그림에서 B에 데이터를 A의 공개키로 암호화하여 전송하면, A는 A의 개인키를 사용하여 B에 데이터를 복호화할 수 있지만, Cracker는 B에 데이터를 복호화할 수 없습니다.

 

- 비 대칭키 암호화에 대표적 알고리즘으로는 RSA가 있습니다

- 비 대칭키 암호화는 기밀성/인증/부인방지가 가능하다는 장점이 있다고 속도가 느리다는 단점이 있습니다.

 

3. 해시 (Hash)

해시함수 (Hash function)이란 임의의 길이를 갖는 데이터를 고정된 길이의 데이터로 변환시켜주는 단방향성 함수입니다. 해시 값을 비교하면서, 위변조 여부 판별과 무결성 검증을 할 수 있습니다. 해시 함수는 단방향성 함수로써 암호화 된 데이터를 복호화할 수 없습니다.

 

해시함수에 대표적인 알고리즘으로 MD5, SHA-1, SHA-256등 이 있습니다.

반응형