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 |
'소프트웨어 > 상식' 카테고리의 다른 글
| FIDO(Fast IDentity Online) (0) | 2025.09.17 |
|---|---|
| TOTP(Time-based One-Time Password) (0) | 2025.09.17 |
| MFA(Multi-Factor Authentication, 다중 인증) (1) | 2025.09.17 |
| IAM(Identity and Access Management) 이란? (0) | 2025.09.13 |
| PAM(Privileged Access Management) 이란? (0) | 2025.09.13 |