공부하자

대칭키 암호화, 공개키 암호화 본문

Security/Network

대칭키 암호화, 공개키 암호화

공부를 하자 2017. 11. 16. 11:25


대칭 키 암호화


대칭 키 암호화암호화할 때 사용하는 키와 복호화할 때 사용하는 키가 동일한 암호 시스템이다.


  • 암호화 : 암호화(暗號化) 또는 엔크립션(encryption)은 특별한 지식을 소유한 사람들을 제외하고는 누구든지 읽어볼 수 없도록 알고리즘을 이용하여 정보(평문을 가리킴)를 전달하는 과정이다. (Wikipedia - 암호화)
  • 복호화 : 복호화 또는 디코딩(decoding)은 부호화된 정보를 부호화되기 전으로 되돌리는 처리 혹은 그 처리 방식을 말한다.(Wikipedia - 복호화)


하나의 키로 암호화와 복호화를 함께 수행하기 때문에 대칭키(Symmetric key) 또는 비밀키(Secret Key) 방식의 암호화라고 한다.


  • 장점 : 암호화 / 복호화가 매우 빠르며 구현이 용이하고 CPU / 메모리를 적게 사용한다.
  • 단점 : 암호화한 정보를 전달할 때 암호 키를 함께 보내는데, 암호키는 평문으로 되어있기 때문에 암호키가 유출되었을 시에 보안에 큰 문제를 발생시키며 다른 문제로는 암호화 통신을 위한 키 전달과 관리가 어렵다.

대칭키 암호화 방식은 데이터를 변환하는 방식에 따라 블록 암호와 스트림 암호로 구분된다.


블록 암호


블록 암호는 고정된 크기의 블록 단위로 암호화, 복호화 연산을 수행하는 대칭키 암호화 방식이며 암호키 크기에 따라 64 ~ 256비트 블록 크기로 연산을 수행한다.


스트림 암호


스트림 암호(stream cipher)는 대칭 키 암호의 구조 중 하나로, 유사난수를 연속적(스트림)으로 생성하여 암호화하려는 자료와 결합하는 구조를 가진다.


공개 키 암호화


공개 키 암호화는 암호화와 복호화에 같은 키를 사용하는 대칭키 암호화 방식과 달리, 암호화와 복호화에 사용하는 키가 서로 다른 암호화 방식을 의미한다.


(비대칭키(Asymmetric Key) 방식 암호화라고도 불림.)


공개키 방식(Public Key)의 암호는 암호학적으로 연관된 두 개의 키를 만들어서 하나는 개인이 보관, 다른 하나는 타인에게 공개하는 식으로 이루어진다.


이때 본인만 갖고 있는 키를 개인 키(Private Key)라고 하며 상대방에게 공개하는 키는 공개 키(Public Key)라고 한다.


  • 장점 : 대칭 키 암호화의 키 전달 취약점을 보완하였다.
  • 단점 : 암호화, 복호화를 하기 위해 복잡한 수학연산을 수행하기 때문에 대칭 키에 비해 속도가 현저히 느리다.

대칭키 암호화와 공개키 암호화의 차이


결과적으로, 대칭키 암호화공개키 암호화의 차이로는 암호화하는 방식에서 크게 나뉘어진다.


대칭키 암호화 방식은 암호화, 복호화에 사용되는 키가 동일한 암호화 방식인 반면,

공개키 암호화 방식은 암호화, 복호화에 사용되는 키가 서로 다른 암호화 방식이다.


또한, 장단점에서도 대칭키 암호화 방식은 암호화 / 복호화 속도가 빠르지만 공개키 암호화 방식은 속도가 매우 느리며, 대칭키 암호화 방식에서 키 전달에 보안 문제가 발생하는 취약점이 있는 반면 공개키 암호화 방식

은 키 전달 취약점이 보완되었다.

Comments