[F-Lab 66해빗 페이백 챌린지 ]

[F-Lab 페이백 모각코 46일차] (CS) CHAPTER 10 보안과 암호화

everydeveloper 2023. 8. 2. 04:41

평문을 암호문으로, 암호문을 평문으로

학습목표

  • 암호화 기술의 등장 배경을 이해한다.
  • 비밀키 암호화 방식의 종류와 암호화 과정을 알아본다.
  • 공개키 암호화 방식의 종류와 암호화 과정을 알아본다.

 

TIL

  • 보안과 암호화

 

보안과 암호화의 개요

  • 암호화 기술
  • 초기 암호화 방식
    • 시저 암호
      • 시저 암호의 원리
        • 시저 암호의 원리: 각 문자를 알파벳 상에서 일정 거리만큼 이동시켜서 암호화하는 방식입니다.
      • 키를 알 수 없는 경우 해독 방법
        • 키를 알 수 없는 경우 해독 방법: 브루트 포스 공격을 통해 가능합니다. 알파벳의 모든 가능한 이동 거리에 대해 시도하여 평문과 암호문이 일치하는 경우를 찾습니다.
      • 단어 키를 사용한 암호화
        • 단어 키를 사용한 암호화: 키로 사용될 단어를 선택하고, 이를 이용하여 각 문자를 암호화합니다.
      • 숫자 키와 단어 키를 동시에 사용한 암호화
        • 숫자 키와 단어 키를 동시에 사용한 암호화: 단어 키와 함께 각 문자를 일정 거리만큼 이동시키는 방식으로 암호화합니다.
      • 시저 암호의 한계
        • 시저 암호의 한계: 브루트 포스 공격을 통해 비교적 쉽게 해독할 수 있으며, 간단한 치환 암호이기 때문에 보안성이 낮습니다.
    • 트리테미우스 암호
      • 트리테미우스 암호는 대표적인 치환 암호화 방식 중 하나로, 문자를 다른 문자로 치환하여 암호화합니다. 이 방식은 시저 암호와 유사하지만, 시저 암호와 달리 키를 이용하여 평문의 각 문자를 다양하게 치환합니다. 트리테미우스 암호는 평문의 각 문자를 키 문자열 내에 위치한 문자로 치환합니다. 이때, 키 문자열 내의 문자 순서를 바꾸어 다양한 치환 방식을 적용할 수 있습니다. 트리테미우스 암호의 한계는 키 문자열이 공개되면 암호화가 쉽게 해제될 수 있다는 것입니다. 이러한 한계로 인해, 보다 안전한 암호화 방식이 필요해졌습니다.
    • 비게네르 암호
      • 비게네르 암호는 대표적인 대칭키 암호화 방식 중 하나로, 키를 이용해 평문을 암호화하는 방식입니다. 암호화에 사용되는 키는 알파벳으로 이루어진 문자열로, 이 키를 이용하여 평문의 각 문자를 암호화합니다. 각 평문 문자와 키 문자를 더하고 모듈러스 연산을 통해 암호문으로 변환합니다. 이후, 암호문을 복호화하려면 암호문에서 키 문자를 빼고 모듈러스 연산을 수행하여 다시 평문으로 변환합니다. 이 방식은 시저 암호와 유사하지만, 키 문자가 여러 개인 것이 특징입니다.
    • 전치형 암호
      • 전치형 암호는 문자열을 암호화하는 대표적인 암호화 방식 중 하나입니다. 이 방식은 평문 문자열에서 문자의 위치를 바꿔서 암호문을 생성합니다. 즉, 문자를 치환하는 방식이 아닌 문자의 위치를 바꾸는 방식입니다. 전치형 암호는 치환 암호보다 강력한 보안성을 가지고 있지만, 암호화와 복호화 과정이 복잡하고 시간이 오래 걸리는 단점이 있습니다.
    • 폴리비우스 암호
      • 폴리비우스 암호는 고대 그리스의 수학자 폴리비우스가 개발한 간단한 치환 암호이다. 알파벳을 일정한 거리만큼 밀어서 다른 글자로 치환하는 방식으로 암호화한다. 예를 들어, 알파벳을 3글자만큼 밀면 A는 D로, B는 E로 치환된다.

공개키 암호화 방식

  • 공개키 암호화 방식의 개념
    • 공개키 암호화 방식은 대칭키 암호화 방식의 단점을 보완하기 위해 등장한 방식입니다. 이 방식에서는 암호화와 복호화에 사용되는 키가 서로 다릅니다. 공개키는 누구나 사용할 수 있지만, 개인키는 해당 사용자만이 가지고 있습니다. 공개키 암호화 방식은 대칭키 암호화 방식보다 더욱 안전하며, 인터넷에서 많이 사용됩니다.
  • DH 비밀키 교환 방식
    • DH 비밀키 교환 방식은 공개키 암호화 방식 중 하나로, 암호화와 복호화에 사용되는 개인키를 안전하게 교환하기 위한 방식입니다. 이 방식에서는 두 사용자가 서로의 공개키를 교환한 후, 이를 이용하여 임시 공유 비밀키를 생성합니다. 이후 이 비밀키를 이용하여 대칭키 암호화 방식을 사용하여 데이터를 안전하게 전송할 수 있습니다.
  • RSA 암호화 방식
    • RSA 암호화 방식은 공개키 암호화 방식 중 하나로, 암호화와 복호화에 사용되는 키가 서로 다릅니다. 암호화에 사용되는 공개키는 누구나 사용할 수 있지만, 복호화에 사용되는 개인키는 해당 사용자만이 가지고 있습니다. RSA 암호화 방식은 대칭키 암호화 방식보다 더욱 안전하며, 인터넷에서 많이 사용됩니다.