본문 바로가기
Category/정보처리기사

암호화 알고리즘 정리

by Corinee 2024. 10. 9.
728x90
반응형

암호화 알고리즘은 데이터를 암호화(Encryption)하여 정보를 보호하는 기술입니다. 암호화 알고리즘은 데이터를 암호화된 형식(암호문)으로 변환하여 인가된 사람만이 데이터를 복원(복호화)할 수 있도록 합니다. 암호화 알고리즘은 대칭 키 암호화, 비대칭 키 암호화, 해시 함수 등으로 나눌 수 있습니다.

1. 대칭 키 암호화 (Symmetric Key Encryption)

  • 정의: 대칭 키 암호화에서는 하나의 동일한 키를 사용하여 데이터를 암호화하고, 같은 키로 데이터를 복호화합니다.
  • 특징:
    • 암호화와 복호화에 같은 키를 사용.
    • 키를 안전하게 공유하는 것이 중요함. 키가 노출되면 보안이 취약해집니다.
    • 속도가 빠르고 구현이 간단하지만, 키 관리의 어려움이 있습니다.
  • 주요 알고리즘:
    1. DES (Data Encryption Standard):
      • 56비트의 키를 사용하여 데이터를 64비트 블록 단위로 암호화.
      • 현재는 보안성이 낮아 거의 사용되지 않음.
    2. 3DES (Triple DES):
      • DES 알고리즘을 세 번 연속 적용하여 보안을 강화한 버전.
      • DES의 약점을 보완했으나, 여전히 속도가 느리고 사용이 줄어듬.
    3. AES (Advanced Encryption Standard):
      • DES의 후속으로 개발된 알고리즘으로, 128비트, 192비트, 256비트 키를 사용.
      • 빠르고 보안성이 뛰어나며, 현재 가장 널리 사용됨.
      • 미국 연방 정부 표준으로 채택됨.
    4. RC4:
      • 스트림 암호화 알고리즘으로 빠르지만, 보안 문제로 인해 현재는 거의 사용되지 않음.

2. 비대칭 키 암호화 (Asymmetric Key Encryption)

  • 정의: 비대칭 키 암호화는 서로 다른 두 개의 키를 사용합니다. 하나는 공개 키(Public Key)로 데이터를 암호화하고, 다른 하나는 개인 키(Private Key)로 데이터를 복호화합니다.
  • 특징:
    • 암호화와 복호화에 서로 다른 키를 사용.
    • 공개 키는 누구에게나 공유할 수 있지만, 개인 키는 비밀로 유지.
    • 대칭 키 암호화에 비해 속도는 느리지만, 키 관리가 용이하며 더 안전.
  • 주요 알고리즘:
    1. RSA (Rivest-Shamir-Adleman):
      • 가장 널리 사용되는 비대칭 키 알고리즘.
      • 매우 큰 소수를 기반으로 한 암호화로, 높은 보안성을 가짐.
      • 주로 키 교환, 디지털 서명, 데이터 암호화에 사용.
    2. ECC (Elliptic Curve Cryptography):
      • 타원 곡선을 이용한 암호화 방식.
      • RSA보다 작은 키 길이로 같은 수준의 보안을 제공, 속도와 효율성이 높음.
      • 모바일 기기 등에서 많이 사용됨.
    3. DSA (Digital Signature Algorithm):
      • 디지털 서명에 주로 사용되는 알고리즘.
      • 인증무결성을 보장하는 데 주로 사용됩니다.

3. 해시 함수 (Hash Function)

  • 정의: 해시 함수는 데이터를 입력받아 고정 길이의 해시 값(다이제스트)을 출력하는 방식입니다. 해시는 암호화 알고리즘은 아니지만, 주로 데이터 무결성 확인이나 인증에서 사용됩니다.
  • 특징:
    • 입력값의 크기에 상관없이 고정된 길이의 해시 값을 반환.
    • 단방향 함수로, 해시 값을 통해 원래 데이터를 복원할 수 없음.
    • 충돌 회피가 중요한 문제: 서로 다른 입력값이 동일한 해시 값을 반환해서는 안 됨.
  • 주요 알고리즘:
    1. MD5 (Message Digest Algorithm 5):
      • 128비트 해시 값을 생성하는 알고리즘.
      • 과거에 많이 사용되었으나, 충돌 문제가 발견되어 보안성이 약화됨.
    2. SHA-1 (Secure Hash Algorithm 1):
      • 160비트 해시 값을 생성.
      • MD5보다 보안성이 높으나, 현재는 충돌 취약성으로 인해 사용이 줄어듦.
    3. SHA-256 / SHA-3:
      • SHA-256은 256비트 해시 값을 생성하며, 보안성이 뛰어남.
      • SHA-3는 SHA-2 이후의 새로운 표준으로, 현재는 가장 안전한 해시 알고리즘 중 하나.

4. 하이브리드 암호화 (Hybrid Encryption)

  • 정의: 대칭 키 암호화비대칭 키 암호화를 결합한 방식으로, 두 가지의 장점을 결합하여 보안성과 효율성을 높이는 암호화 방식입니다.
  • 특징:
    • 대칭 키 암호화의 빠른 속도와 비대칭 키 암호화의 안전한 키 교환을 활용.
    • 예시: 데이터를 AES로 암호화하고, AES의 대칭 키는 RSA로 암호화하여 전송.

암호화 알고리즘 요약:

유형정의주요 알고리즘특징

대칭 키 암호화 하나의 키로 암호화 및 복호화 AES, DES, 3DES 빠르고 효율적이지만, 키 관리가 어려움
비대칭 키 암호화 서로 다른 두 키로 암호화 및 복호화 RSA, ECC, DSA 키 관리가 용이하지만, 암호화 속도가 느림
해시 함수 고정 길이의 해시 값을 반환하며 단방향 암호화 SHA-256, SHA-3, MD5, SHA-1 데이터 무결성 확인 및 인증에 사용, 복호화 불가능
하이브리드 암호화 대칭 키 암호화와 비대칭 키 암호화의 장점을 결합 AES + RSA (조합 사용) 보안성과 속도 모두 잡을 수 있음

추가적으로 알아두면 좋은 개념:

  1. 디지털 서명 (Digital Signature):
    • 비대칭 키 암호화의 개인 키로 데이터를 암호화하여, 데이터의 무결성과 송신자 인증을 보장합니다.
    • 수신자는 공개 키로 복호화하여 서명이 유효한지 확인할 수 있습니다.
  2. 암호화 방식의 실제 사용 예시:
    • HTTPS (SSL/TLS): 웹 브라우저와 서버 간 안전한 통신을 위해 대칭 키 암호화비대칭 키 암호화를 모두 사용합니다. 대칭 키로 데이터 암호화, 비대칭 키로 키 교환을 안전하게 수행.
    • 전자상거래, 온라인 뱅킹 등에서 대칭 및 비대칭 암호화를 조합한 하이브리드 암호화를 많이 사용합니다.

암호화 알고리즘은 정보 보안에서 중요한 역할을 하며, 각 상황에 맞는 알고리즘을 선택하는 것이 데이터의 안전한 보호에 필수적입니다.