암호화와 복호화에 같은 암호키(대칭키)를 사용하는 알고리즘
동일한 키를 주고받기 때문에, 매우 빠르다는 장점이 있음
but, 대칭키 전달과정에서 해킹 위험에 노출
암호화와 복호화에 사용하는 암호키를 분리한 알고리즘
대칭키의 키 분배 문제를 해결하기 위해 고안됨
대칭키일 땐 송수신자 간만 키를 알아야하기 때문에 분배가 복잡하고 어렵지만, 공개키/비밀키로 분리할 경우 남들이 알아도 되는 공개키만 공개하면 되므로
자신이 가지고 있는 고유한 암호키(비밀키)로만 복호화할 수 있는 암호키(공개키)를 대중에 공개함
B의 공개키
를 이용해 평문을 암호화 => B에게 보냄하지만 이 방식은 Confidentiallity(기밀성)만 보장해줄 뿐, Integrity(무결성)이나 Authenticity(진정성)은 보장해주지 못함
-> 이는 MAC(Message Authentication Code)
나 전자 서명(Digital Signature)
으로 해결
-> MAC은 공개키 방식이 아니라 대칭키 방식임을 유의! T=MAC(K,M)
대칭키에 비해 암호화/복호화가 매우 복잡
암호화하는 키가 복호화하는 키와 서로 다르기 때문
SSL 탄생의 시초가 됨
즉, 대칭키를 주고받을 때만 공개키 암호화 방식을 사용하고 이후에는 계속 대칭키 암호화 방식으로 통신하는 것