암호 알고리즘 개요

agnusdei·2025년 11월 20일

Information Security

목록 보기
6/96

🔒 암호 알고리즘 개요 및 분류

암호 알고리즘(Cryptographic Algorithm)은 기밀성(Confidentiality), 무결성(Integrity), 인증(Authentication), 부인 방지(Non-repudiation)와 같은 정보 보안의 핵심 요구사항을 충족시키기 위해 평문(Plaintext)을 암호문(Ciphertext)으로 변환하거나 그 역의 과정을 수행하는 수학적 절차와 방법을 의미합니다. 암호 알고리즘의 안전성(Security Strength)은 주로 사용하는 키 길이(Key Length)와 알고리즘 자체의 암호 강도에 의해 결정됩니다.

1. 암호 알고리즘의 주요 분류

암호 알고리즘은 복호화 가능 여부에 따라 크게 양방향 암호 알고리즘(Two-way Cryptographic Algorithm)단방향 암호 알고리즘(One-way Cryptographic Algorithm, 해시 함수)으로 나뉩니다.


2. 양방향 암호 알고리즘 (복호화 가능)

양방향 암호 알고리즘은 다시 암호화 키와 복호화 키의 관계에 따라 대칭키(Symmetric Key) 방식비대칭키(Asymmetric Key) 방식으로 분류됩니다.

[Image of Symmetric vs Asymmetric Key Encryption Diagram]

2.1. 대칭키 암호 (Symmetric Key Cryptography)

  • 특징: 암호화와 복호화에 동일한 비밀 키(Secret Key)를 사용합니다.
  • 핵심 기능: 주로 기밀성을 제공합니다.
  • 장점:
    • 고속 처리: 알고리즘 구조가 단순하여 비대칭키 방식보다 처리 속도가 매우 빠릅니다.
    • 대용량 데이터 암호화에 적합합니다.
  • 단점:
    • 키 분배 문제: 통신 당사자 간에 비밀 키를 안전하게 공유해야 하는 문제가 발생합니다 (키 교환 문제).
    • 키 관리 복잡성: 참여자 수가 증가할수록 관리해야 할 키의 수가 기하급수적으로 늘어납니다 (n(n1)/2n(n-1)/2).
  • 세부 분류:
    • 블록 암호(Block Cipher): 데이터를 일정한 크기의 블록으로 나누어 암호화합니다 (예: Advanced Encryption Standard, AES; Security Enhancement of Encryption Data, SEED; ARIA).
    • 스트림 암호(Stream Cipher): 평문과 같은 길이의 키 스트림을 생성하여 비트/바이트 단위로 순차적으로 XOR 연산을 통해 암호화합니다 (예: RC4, LFSR).
  • 주요 알고리즘: AES (미국 표준, 128/192/256bit), SEED (국내 표준), ARIA (국내 고성능 블록 암호), DES (Data Encryption Standard, 현재 취약하여 사용 지양).

2.2. 비대칭키 암호 (Asymmetric Key Cryptography / 공개키 암호)

  • 특징: 암호화 키(공개키, Public Key)와 복호화 키(개인키, Private Key)가 서로 다른 한 쌍의 키를 사용합니다.
  • 핵심 기능: 키 분배, 전자서명(인증 및 부인 방지), 기밀성 등을 제공합니다.
  • 원리: 일방향 함수(One-way Function)의 성질을 이용하여 한 방향으로는 계산이 쉽지만, 역방향 계산은 어렵다는 수학적 난제에 기반합니다. (예: 소인수분해 문제 \rightarrow RSA; 이산 대수 문제 \rightarrow Diffie-Hellman, ElGamal; 타원 곡선 이산 대수 문제 \rightarrow ECC)
  • 장점:
    • 키 분배 용이: 공개키는 공개되어도 무방하여 키 분배 및 관리가 용이합니다.
    • 전자서명 가능: 개인키로 서명하고 공개키로 검증하여 인증과 부인 방지 기능을 제공합니다.
  • 단점:
    • 저속 처리: 대칭키 방식보다 처리 속도가 느립니다.
    • 키 길이: 동일한 암호 강도를 유지하기 위해 대칭키 방식보다 훨씬 긴 키 길이가 필요합니다 (예: AES-128bit \approx RSA-2048bit).
  • 주요 알고리즘: RSA (Rivest, Shamir, Adleman), DSA (Digital Signature Algorithm), ECC (Elliptic Curve Cryptography), Diffie-Hellman (키 교환).

3. 단방향 암호 알고리즘 (복호화 불가능)

3.1. 해시 함수 (Hash Function)

  • 특징: 임의 길이의 입력 데이터를 고정된 길이의 해시값(Hash Value) 또는 메시지 다이제스트(Message Digest, MD)로 변환하는 함수입니다.
  • 핵심 기능: 주로 무결성인증(패스워드 저장)을 제공하며, 복호화가 불가능한 단방향성을 가집니다.
  • 암호학적 안전성 요구사항:
    • 역상 저항성(Pre-image Resistance, 단방향성): 해시값에서 원래 입력값을 찾는 것이 어려워야 합니다.
    • 제2역상 저항성(Second Pre-image Resistance, 약한 충돌 회피): 주어진 입력값과 동일한 해시값을 가지는 다른 입력값을 찾는 것이 어려워야 합니다.
    • 충돌 저항성(Collision Resistance, 강한 충돌 회피): 동일한 해시값을 가지는 서로 다른 두 입력값을 찾는 것이 어려워야 합니다.
  • 주요 알고리즘: SHA (Secure Hash Algorithm) 시리즈 (SHA-256, SHA-512 등), MD (Message Digest) 시리즈 (MD5는 현재 취약하여 사용 지양).
구분대칭키 암호 (Symmetric)비대칭키 암호 (Asymmetric)해시 함수 (Hash Function)
암/복호화 키동일 (비밀키)서로 다름 (공개키/개인키)키 없음 (단방향)
처리 속도빠름느림매우 빠름
주요 기능기밀성키 분배, 전자서명, 기밀성무결성, 인증
적합 용도대용량 데이터 암호화키 교환, 전자서명패스워드 저장, 데이터 무결성 검증
대표 예시AES, SEED, ARIARSA, ECC, Diffie-HellmanSHA-256, SHA-512

4. 암호 기술의 융합 및 발전 동향

실제 보안 시스템에서는 각 알고리즘의 장점을 결합하여 사용합니다.

  1. 하이브리드 암호 시스템 (Hybrid Cryptosystem):

    • 대용량 데이터의 기밀성을 위해 빠른 대칭키 암호(예: AES)를 사용합니다.
    • 이때 사용되는 대칭키(세션 키)의 안전한 교환 및 분배를 위해 느리지만 키 분배가 용이한 비대칭키 암호(예: RSA)를 사용합니다.
  2. 전자서명 및 인증:

    • 해시 함수를 이용해 메시지 다이제스트를 생성하고, 이를 송신자의 개인키로 암호화하여 디지털 서명을 생성합니다. 이는 무결성, 인증, 부인 방지를 제공합니다.
  3. 최신 동향:

    • 양자 내성 암호 (PQC, Post-Quantum Cryptography): 양자 컴퓨터의 등장으로 기존의 RSA, ECC와 같은 알고리즘의 안전성이 위협받음에 따라 격자 기반 암호(Lattice-based cryptography) 등 양자 컴퓨터 공격에 안전한 새로운 알고리즘이 연구 및 표준화되고 있습니다.
    • 경량 암호 (Lightweight Cryptography): 사물 인터넷(IoT, Internet of Things) 장치와 같은 저전력, 저사양 환경에 적합한 암호 알고리즘 (예: HIGHT, LEA)의 개발 및 적용이 확대되고 있습니다.
profile
DevSecOps, Pentest, Cloud(OpenStack), Develop, Data Engineering, AI-Agent

0개의 댓글