CS/네트워크

대칭키 공개키

sun._.ny 2022. 7. 23. 22:36

대칭키 암호 알고리즘 (symmetric-key algorithm)

 

- 암복호화에 사용하는 키가 동일한 암호화 방식

- 공개키 암호화 방식에 비해 속도가 빠르다는 장점이 있지만, 키를 교환해야한다는 문제 (키 배송 문제)가 발생

- 키를 교환하는 중 키가 탈취될 수 있는 문제도 있고 사람이 증가할수록 전부 따로따로 키 교환을 해야하기 때문에 관리해야 할 키가 방대하게 많아짐

- 키 배송 문제를 해결하기 위한 방법으로 키의 사전 공유에 의한 해결, 키 배포센터에 의한 해결, Diffie-Hellman 키 교환에 의한 해결, 공개키 암호에 의한 해결 등이 있음

 

 

 

 

 

 

 

공개키 암호 알고리즘 (public-key cryptography)

 

- 암복호화에 사용하는 키가 서로 다르며 따라서 비대칭키 암호화라고도 함

- 대칭키의 키교환 문제를 해결하기 위해 등장

- 송수신자 모두 한쌍의 키(개인키, 공개키)를 가짐

- 이름 그대로 키가 공개되어있기 때문에 키를 교환할 필요가 없어지며 공개키 모든 사람이 접근 가능한 키이고 개인키 각 사용자만이 가지고 있는 키

- A는 B의 공개키로 암호화한 데이터를 보내고 B는 본인의 개인키로 해당 암호화된 데이터를 복호화해서 보기 때문에 암호화된 데이터는 B의 공개키에 대응되는 개인키를 갖고 있는 B만이 볼 수 있게 되는 것

- 중간 공격자가 B의 공개키를 얻는다고 해도 B의 개인키로만 복호화가 가능하기 때문에 기밀성을 제공하며 개인키를 가지고있는 수신자만이 암호화된 데이터를 복호화할 수 있으므로 일종의 인증기능도 제공한다는 장점 존재 (기밀성/인증/부인방지 기능을 제공)

- 속도가 느리다는 단점이 존재

 

  • B 공개키/개인키 쌍 생성
  • 공개키 공개(등록), 개인키는 본인이 소유
  • A가 B의 공개키를 받아옴
  • A가 B의 공개키를 사용해 데이터를 암호화
  • 암호화된 데이터를 B에게 전송
  • B는 암호화된 데이터를 B의 개인키로 복호화 (개인키는 B만 가지고 있기 때문에 B만 볼 수 있음)