1. 대칭키 암호화 (Symmetric-key Cryptography)

  • 정의: 암호화와 복호화에 같은 키를 사용.
  • 장점: 연산 속도가 빠름.
  • 단점: 키 관리 어려움(키를 안전하게 공유해야 함).

주요 알고리즘

알고리즘 유형 키 길이 특징
DES 블록 56비트 과거 표준, 현재는 안전하지 않음
3DES 블록 112~168비트 DES를 3번 적용, 느림
AES 블록 128/192/256비트 현재 표준, 안전, 빠름
RC4 스트림 40~2048비트 오래된 스트림 암호, 보안 취약
ChaCha20 스트림 256비트 안전, 속도 빠름, 모바일 친화적

블록 vs 스트림

  • 블록 암호: 고정 길이 블록 단위로 암호화 (AES, DES)
  • 스트림 암호: 데이터 바이트/비트 단위로 암호화 (RC4, ChaCha20)

2. 비대칭키 암호화 (Asymmetric-key Cryptography)

  • 정의: 공개키와 개인키 한 쌍을 사용.
    • 공개키: 암호화 → 누구나 메시지 암호화 가능
    • 개인키: 복호화 → 오직 소유자만 복호화 가능
  • 장점: 키 관리 용이, 디지털 서명 가능
  • 단점: 연산 느림, 대량 데이터 암호화에는 부적합

주요 알고리즘

알고리즘 키 길이 특징
RSA 2048~4096비트 가장 널리 사용, 서명/암호화 가능
DSA 1024~3072비트 디지털 서명 전용
ECDSA 256~521비트 타원곡선 기반, RSA보다 짧은 키로 동일 안전성
ElGamal 1024~3072비트 암호화 및 서명 가능, 느림
Diffie-Hellman 1024~4096비트 키 교환 전용

 

3. 해시 함수 (Hash Function)

  • 정의: 임의 길이 데이터를 고정 길이 해시값으로 변환.
  • 특징: 단방향(one-way), 데이터 무결성 검증에 사용.
  • 비밀키 결합 시: HMAC → 인증 및 무결성 동시 제공

주요 알고리즘

알고리즘 해시 길이 특징
MD5 128비트 취약, 충돌 가능
SHA-1 160비트 취약, 충돌 가능
SHA-2 224/256/384/512비트 안전, 널리 사용
SHA-3 224/256/384/512비트 최신 표준, 구조가 SHA-2와 다름
BLAKE3 256비트 매우 빠르고 안전

 

4. 기타 암호화 보안 기법

  • HMAC (Hash-based Message Authentication Code): 해시 + 비밀키 → 무결성 + 인증
  • 키 파생 함수 (KDF): PBKDF2, Argon2, scrypt → 비밀번호 → 안전한 키
  • 양자내성 암호 (Post-Quantum Cryptography): Kyber, Dilithium 등 → 양자컴퓨터 공격 대비

참고: 선택 기준

용도 추천 알고리즘
대량 데이터 암호화 AES, ChaCha20
안전한 키 교환 Diffie-Hellman, ECDH
디지털 서명 RSA, ECDSA
비밀번호 저장 Argon2, bcrypt, scrypt
데이터 무결성 SHA-2, SHA-3, HMAC

+ Recent posts