귀염둥이의 메모

[Network] 대칭키 vs 공개키(비대칭키) 암호화 본문

CS/네트워크

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

겸둥이xz 2021. 8. 27. 20:58
반응형

Symmetric key cryptography (대칭키 암호화)

 

  • 암호화 / 복호화를 할 때 같은 키를 사용하는 방식 (1개의 키 필요)
  • DES, 3 DES, AES,  SEED 등의 방식을 사용한다

장점

  • 암호화에 필요한 키의 길이가 비교적 짧다
  • 암호화 / 복호화 연산이 비교적 간단하다

단점

  • 키 교환 방식의 문제
    • 서버와 클라이언트가 대칭키 방식으로 통신하기 위해서 같은 키를 가지고 있어야 한다
    • 그렇기 때문에 클라이언트 또는 서버가 대칭키를 전송해야 하는데, 키 전송 과정에 암호화가 없으면  제 3자가 키를 획득할 수 있다
    • 제 3자가 키를 획득하면 비대칭키로 암호화 통신을 하는 데이터를 열어볼 수 있다

 

 

Public key cryptography (공개키 암호화, 비대칭키 암호화)

 

  • 암호화 / 복호화에 사용하는 키가 각각 다른 형식 (2개의 키 필요)
  • 공개키(Public key)개인키(Private key)를 사용한다
  • RSA, Robin, DH, DSA 등의 방식을 사용한다
  • A의 Public key 로 암호화 ➡️ 오직 A의 Private key 로 복호화 가능
  • A의 Private key 로 암호화 ➡️ 오직 A의 Public key 로 복호화 가능
  • A의 Private key는 절대 누구한테도 주지 않는다 (오직 A만 가지고 있다)

장점

  • 대칭키 암호화보다 키 분배 및 관리가 쉽다
  • 대칭키 암호화보다 확장 가능성이 더 높다

단점

  • 암호화에 필요한 키의 길이가 길다
  • 암호화 / 복호화 연산이 매우 복잡하다
    • 다수의 클라이언트로부터 전송된 암호화 데이터를 처리해야 하는 서버의 입장에서는 연산이 복잡해지는 것은 서버의 성능을 저하시키는 원인이 될 수 있음

 

반응형
Comments