대칭키 vs 비대칭키(공개키) 암호화

임재성·2023년 12월 25일

대칭키

무엇인가?

  • 암호화나 복호화에 사용하는 키가 동일한 방식을 말한다.
  • 대표적인 알고리즘으로 DES, 3DES, AES, SEED, ARIA 등이 존재한다.

장단점

  • 공개키 암호화는 속도가 빠르다는 장점이 있으나, 복호화하는 상대도 암호화한 상대와 동일한 키를 가져야하므로 키를 교환해야한다는 단점이 존재한다.
  • 키의 교환이 필요하게되면 해당 과정중 키를 탈취당할 우려가 있기 때문이다. 또한 암호화가 필요한 데이터가 많아질수록 관리해야하는 키의 양이 늘어난다.
  • 이러한 문제를 해결하기 위해 키의 사전공유, 키 배포센터, Diffie-Hellman 키교환, 공개키 암호화와 같은 해결책들이 존재한다.

비대칭키(공개키)

무엇인가?

  • 해당 방식은 대칭키의 키교환 문제를 해결하기 위한 암호화 방식이다.
  • 여기서 키는 누구든지 알 수 있는 공개키와 각 사용자만이 알 수 있는 개인키로 나누어진다.
  • 상대방이 공개된 키로 암호화해서 나에게 전달하면 나는 내가 가지고 있는 개인키를 사용하여 복호화하고 그 내용을 정상적으로 받을 수 있는 것이다.

장단점

  • 비대칭키 암호화의 경우 나만 개인키를 가지고 있으며, 나에게 암호화된 데이터를 보내기 위해서는 공개된 키를 가지고 있으면 되므로 키분배의 필요성이 사라진다는 장점이 있음.
  • 기밀성, 부인방지의 기능을 제공한다.
  • 암호화하는 키와 복호화하는 키가 다르므로 굉장히 복잡하여 속도가 대칭키에 비해서 느리기다.

SSL의 기초

  • 위에서 언급한 내용처럼 공개키는 대칭키의 교환에 쓰이고, 대칭키의 교환이 끝나면 이후 데이터의 암호화는 대칭키에 의해 이루어진다. 이것은 SSL의 기초라고 볼 수 있다.
  1. A가 B의 공개키로 암호화 통신에 사용할 대칭키를 암호화하고 B에게 보냄
  2. B는 암호문을 받고, 자신의 비밀키로 복호화함
  3. B는 A로부터 얻은 대칭키로 A에게 보낼 평문을 암호화하여 A에게 보냄
  4. A는 자신의 대칭키로 암호문을 복호화함
  5. 앞으로 이 대칭키로 암호화를 통신함

https에 관련한 내용은 아래의 블로그에 쉽고 자세히 나와있는듯 하여 링크 남깁니다.
https://nuritech.tistory.com/25

profile
조금씩 앞으로

0개의 댓글