대칭키 & 공개키

June·2021년 12월 31일
0
post-thumbnail

대칭키(Symmetric Key)

  • 하나의 비밀키를 양쪽(client & server)가 모두 같이 사용

  • 암호화와 복호화에 사용하는 키가 같은 암호화 알고리즘

  • 공개키와 비밀키를 별도로 가지는 것과 구별되는데, 이와 비교하면 계산속도가 빠르다는 장점

  • 비밀키 하나만 알아내면 암호화된 내용을 해독 가능 → 해커로부터 안전 X

  • 대킹키 암호는 암호화하는 단위에 따라 스트림암호와 블록암호로 나눌 수 있음

    º 스트림암호는 연속적인 비트/바이트를 계속해서 입력받아, 그에 대응하는 암호화 비트/마이트를 생성하는 방식

    º 블록암호는 정해진 한 단위(블록)을 입력받아 그에 대응하는 암호화 블록을 생성하는 방식

    º 블록암호의 경우 적절한 운용모드를 조합하면 블록 단위보다 큰 입력을 처리할 수 있음. 또한 스트림암호와 유사하게 지속적인 입력에 대해 동작할 수 있음. (대신 입출력 단위는 스트림암호보다 큰 블록 단위가 됨)

  • 대킹키 기법을 사용하는 암호 알고리즘 방식으로 DES, 3-DES, AES, SEED, ARIA, MASK 등이 있다.

공개키(Public Key)

  • 비밀키 하나 만 가지는 대칭키 암호 방법과 달리, 공개키와 비밀키 두 개가 존재

  • 공개키 암호를 구성하는 알고리즘을 대칭키 암호 방식과 비교하여 비대칭 암호라고 불림

  • 암호화와 복호화에 사용하는 키가 서로 다름

  • 암호화할 때의 키는 공개키(public key), 복호화할 때의 키는 개인키(private key)

  • 공개키는 누구나 알 수 있지만, 그에 대응하는 비밀키는 키의 소유자만이 알 수 있어서
    특정한 비밀키를 가지는 사용자만이 내용을 열어볼 수 있도록 하는 방식.

공개키 암호화 방식 진행 과정


1. A가 웹 상에 공개된 'B의 공개키'를 이용해 평문을 암호화하여 B에게 보냄
2. B는 자신의 비밀키로 복호화한 평문을 확인, A의 공개키로 응답을 암호화하여 A에개 보냄
3. A는 자신의 비밀키로 암호화된 응답문을 복호화함

대칭키의 단점을 완벽하게 해결했지만, 암호화 복호화가 매우 복잡함
(암호화하는 키가 복호화하는 키가 서로 다르기 때문)

비밀키 암호화와 공개키 암호화의 비교

출처

  1. https://gaeko-security-hack.tistory.com/123
  2. https://gyoogle.dev/blog/computer-science/network/%EB%8C%80%EC%B9%AD%ED%82%A4%20&%20%EA%B3%B5%EA%B0%9C%ED%82%A4.html
profile
회사와 “함께” 성장하는 개발자

0개의 댓글