CS

대칭키와 비대칭키(공개키)

DongSup 2022. 11. 13. 17:34

 

 

 

대칭키

 

 

 

  • 암호화, 복호화에 사용하는 키가 동일한 암호화 방식
  • Session Key, Secret Key, Shared Key 키라고도 불림
  • 기밀성을 제공하나, 무결성/인증/부인방지 를 보장하지 않음
  • 암호화방식에 속도가 빠름
  • 대용량 Data 암호화에 적합
  • 알고리즘 : SEED, DES, 3DES, AES, ARIA, ChaCha20

 

암호화, 복호화에 사용하는 키가 동일하기 때문에, 필수적으로 한번은 한쪽에서 다른 한쪽으로 키를 전송해야하는데

중간에 누군가 암호화 키를 가로챈다면 암호화된 정보가 유출될 수 있기에 아래와 같은 문제점이 존재함

 

  1. 키를 교환해야 하는 문제
  2. 탈취 관리 걱정
  3. 사람이 증가할수록 키관리의 어려움
  4. 확장성 떨어짐

이러한 단점를 보완한 것이 비대칭키

 

 

 


 

 

 

비대칭키(공개키)

 

 

 

  • 암호화, 복호화에 사용하는 키가 서로 다른 암호화 방식
  • 노출되면 안되는 개인키와 개방되어 있는 공개키를 쌍으로 이룬 형태
  • 암호화방식에 속도가 느림 
  • 키분배가 필요없고 기밀성/인증/부인방지 기능 제공 
  • 알고리즘 : Diffie Hellman, RSA, DSA, ECC, PDA
  • 송수신자 모두 한쌍의 키(개인키, 공개키)를 갖고있게 됨
    • 공개키 : 모든사람이 접근 가능한 키
    • 개인키 : 각 사용자만이 가지고 있는 키
  • 방식 
    • 암호 모드 : 송신자 공개키로 암호화 -> 송신자 개인키로 복호화 소량의 메시지 암호화 목적, 주로 키 교환의 용도로 사용 
    • 인증 모드 : 송신자 개인키로 암호화 -> 송신자 공개키로 복호화 메시지를 인증(부인방지)하는 것이 목적임

 

공개키와 개인키로 각각 암호화 했을 때의 효과

  • 공개키 암호화 : 공개키로 암호화를 하면 개인키로만 복호화할 수 있음 (개인키는 자신만 가지고 있으므로, 자신만 볼 수 있음)
  • 개인키 암호화 : 개인키로 암호화하면 공개키로만 복호화할 수 있음 (공개키는 모두에게 공개되어 있으므로, 내가 인증한 정보임을 알려 신뢰성을 보장할 수 있음)

 

 

 


 

Reference Path

 

 

대칭키 vs 공개키(비대칭키)

대칭키 암호화 방식 : 암복호화에 사용하는 키가 동일함공개키 암호화 방식 : 암복호화에 사용하는 키가 서로 다르며 비대칭키 암호화라고도 함대표적 알고리즘 : DES, 3DES, AES, SEED, ARIA장점 : 암

velog.io

 

대칭키 / 비대칭키 양방향 암호화 기법

양방향 암호화 이전 글에서는 봤던 단방향 암호화 기법과 반대로... 대칭키와 비대칭키는 양방향 암호화 방식 이다. Hash를 사용한 단방향 암호화 방식과는 다르게 암호화된 암호문을 복호화할

myjamong.tistory.com