대칭키 & 공개키

암호화

  • 어떤 내용을 남들이 읽을 수 없도록 하여 비밀이 유지되어야 할 때 사용된다.

  • 암호화를 하기 위해선 가 필요하다. 데이터 + 키 = 암호화된 데이터 ( 이때, 키는 문자, 숫자 등 자유롭게 생성 가능. )


복호화

  • 암호화된 데이터를 다시 원래의 데이터로 바꾸는 작업

  • 복호화에도 키가 꼭 필요하다. 암호화된 데이터 + 키 = 데이터

  • 암호화, 복호화 과정에서 사용되는 키가 동일할 수도 있고, 다를 수도 있다.


대칭키 암호화 방식

  • 암호화를 하는 키와 복호화를 하는 키가 동일한 방식

  • 이때 키를 대칭키 라고 한다.

종류 : DES, AES 등

위 예시처럼 대칭키 암호화 방식은 동일한 키로 암호화, 복호화를 모두 한다.

단순한 방식이기에 속도가 빠르지만, 누군가 대칭키를 훔쳐보고 알아낸다면 데이터가 누출될 위험이 크다.

또한 사람이 증가할수록 전부 키 교환이 따로따로 이루어지기 때문에 관리해야 할 키가 많아진다.

대칭키 알고리즘의 약한 보안문제를 해결하기 위해 나온 것이 비대칭키 암호화 방식이다.


비대칭키 암호화 방식

  • 암호화와 복호화에 쓰이는 키가 다른 방식

  • 2개의 키로 암호화, 복호화에 각각 사용된다. ( 공개키비밀키라고 부른다. )

  • A, B 두개의 키가 있을때, A 키로 암호화된 데이터는 B키로만 복호화가 가능하고, B키로 암호화된 데이터도 A키로만 복호화가 가능하다.

종류: RSA, Elgamal 등

위 예시에서 두 명 모두 각자의 공개키와 비밀키를 가지고 있다. 이때 공개키는 모두에게 공개된 키를 뜻한다.

전달할 내용을 상대방의 공개키로 암호화하고, 전달받은 내용은 자신의 비밀키로 복호화한다.

키교환이 필요하지 않고, 공개키가 노출되더라도 비밀키를 알지 못해 데이터를 복호화할 수 없어 안전하다.

이 방식은 복잡한 수학으로 이루어져 있어 성능상 속도가 느리다.


Last updated