대칭키 암호 & 공개키 암호

Lys·2023년 10월 10일
0

네트워크

목록 보기
12/19

암호화와 복호화에 사용하는 암호키가 같은지 다른지에 따라 암호화 기법이 대칭키 기법과 비대칭키(공개키) 기법으로 나뉘어 진다.

암호화

  • 평문(plain text)을 암호문(Crypto text)으로 변환하는 과정이다.
  • 사용자가 입력한 데이터를 알아볼 수 없는 데이터로 변경하는 과정이다.
  • 암호문의 형태로 정보를 기억 장치에 저장하거나 통신 회선을 통해 전송함으로써 정보를 보호할 수 있다.
  • 암호화의 분류로는 단방향 암호화와 양방향 암호화가 있다.


    복호화

  • 암호문(Crypto text)을 평문(plain text)으로 변환하는 과정이다.
  • 암호화된 데이터를 정상적인 데이터로 변경하는 과정이다.

대칭키 암호

  • 하나의 키로 암호화와 복호화를 모두 수행한다.
  • 암호문을 작성할 때 사용하는 암호키와 암호문을 해독할 때 사용하는 해독 키가 같기 때문에
    이 키는 절대로 외부에 유출되지 않도록 관리해야 하여 비밀키(Secret Key)라고 부른다.
  • 대칭키 기법을 사용하는 암호 알고리즘 방식으로 DES, 3DES, AES, SEED, ARIA, MASK 등이 있다.

대칭키 장점과 단점

  • 장점
    • 암호화와 복호화에 쓰이는 키 크기가 상대적으로 작고 암호 알고리즘 내부 구조가 단순하여, 시스템 개발 환경에 용이하다.
    • 비대칭키에 비해 암호화와 복호화 속도가 빠르다.
  • 단점
    • 키를 교환해야한다는 문제 (키 배송 문제)가 발생한다.
    • 키를 교환하는 중 키가 탈취될 수 있는 문제도 있고
    • 사람이 증가할수록 전부 따로따로 키교환을 해야하기 때문에
    • 관리해야 할 키가 방대하게 많아진다.

대칭키 암호 알고리즘

  • DES 알고리즘(Data Encryption Standard)
    • 1975년에 IBM에서 개발하고 1979년에 미국 NBS(National Bureau of Standards, 현 NIST)가 국가 표준 암호 알고리즘으로 지정한 대칭키 암호 알고리즘이다.
    • 평문을 64비트로 나눠 56비트의 키를 이용해 다시 64비트의 암호문을 만들어 내는 알고리즘이다.
    • 블록 암호 기법을 사용하고 16단계의 파이스텔 네트워크(Feistel Network)를 거쳐 암호화를 수행한다.
      (블록 암호 : 평문을 고정된 크기의 블록단위로 암ㆍ복호화를 수행하며, 각 블록마다 동일한 키가 사용된다.)


  • 3DES 알고리즘
    • DES 알고리즘을 3중으로 만들어 DES 암호를 보완한 암호 알고리즘이다.
    • 암호화-암호화-암호화 방법이 아닌, 암호화-복호화-암호화 방법으로 암호화를 한다.

공개키 암호(비대칭키 암호)

  • 암호화와 복호화에 사용하는 키가 서로 다르다
  • 비밀키 하나 만 가지는 대칭키 암호 방법과 달리, 공개키와 비밀키 두 개가 존재한다.
  • 공개키 암호를 구성하는 알고리즘을 대칭키 암호 방식과 비교하여 비대칭 암호라고 불린다.
  • 대칭키의 키 교환 문제를 해결하기 위해 등장한 방식이다.
  • 암호화할 때의 키는 공개키(public key), 복호화할 때의 키는 개인키(private key)를 사용한다.
  • 공개키는 누구나 알 수 있지만, 그에 대응하는 비밀키는 키의 소유자만이 알 수 있어서
    특정한 비밀키를 가지는 사용자만이 내용을 열어볼 수 있도록 하는 방식이다.
  • 공개키 기법을 사용하는 암호 알고리즘 방식으로 Diffie Hellman, RSA, DSA, ECC 등이 있다.

공개키 장점과 단점

  • 장점
    • 키 분배를 할 필요가 없다.
    • 기밀성/인증/부인방지 기능을 제공한다.
  • 단점
    • 속도가 느리다.

공개키 암호 알고리즘

  • RSA 알고리즘
    • RSA는 창시자들의 이름 앞글자를 따서 지었다 (Ron Rivest, Adi Shamir, Leonard Adleman)
    • 암호화뿐만 아니라 전자서명이 가능한 최초의 알고리즘이다.
    • RSA는 큰 정수의 소인수 분해의 난해함에 기반하여, 공개키만을 가지고는 개인키를 쉽게 짐작할 수 없도록 디자인되어 있다.
    • 1993년 피터 쇼어는 쇼어 알고리즘을 발표하여, 양자 컴퓨터를 이용하여 임의의 정수를 다항 시간 안에 소인수 분해하는 방법을 발표했다. 따라서 양자 컴퓨터가 본격적으로 실용화되면 RSA 알고리즘은 무용지물이 될 것이다.

대칭키와 공개키

대칭키공개키
키 개수1개의 키2개의 키
키 보관 형태비밀리에 보관개인키는 비밀리에 보관
공개키는 어디든지 배포
키 교환키를 교환하는 것이 어려우며 위험함쉬움
키 길이주로 64비트, 128비트주로 512비트,1024비트,2048비트
암호화 속도빠름느림
암호화할 수 있는
평문의 길이
제한없음제한있음
기밀성가능가능
인증부분적 가능가능
무결성부분적 가능가능
부인 방지불가능가능


🙇‍ 참고 사이트 🙇‍

https://gaeko-security-hack.tistory.com/123
https://velog.io/@gs0351/%EB%8C%80%EC%B9%AD%ED%82%A4-vs-%EA%B3%B5%EA%B0%9C%ED%82%A4%EB%B9%84%EB%8C%80%EC%B9%AD%ED%82%A4
https://www.uname.in/129
https://veneas.tistory.com/entry/%EB%B3%B4%EC%95%88-%EC%95%94%ED%98%B8%ED%99%94%EC%99%80-%EB%B3%B5%ED%98%B8%ED%99%94-%EA%B7%B8%EB%A6%AC%EA%B3%A0-%EC%95%94%ED%98%B8-%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98-%EC%A2%85%EB%A5%98

0개의 댓글

관련 채용 정보