살구.LOG
암호화 알고리즘 본문
대칭키 vs 공개키(비대칭) 라는 기준으로 간략하게 정리해보았다.
1. 대칭키 암호 (Symmetric Key)
암호화와 복호화에 동일한 키를 사용. 속도가 빠르지만, 키 전달 문제(Key Distribution)가 존재함.
- DES (Data Encryption Standard)
- 구조: Feistel
- 특징: 64비트 블록, 56비트 키. 현재는 취약함(Brute-force 가능).
- 3DES (Triple DES)
- 구조 : Feistel
- 특징: DES를 3번 적용. 속도 느림, DES의 키 길이 문제 보완.
- IDEA
- 구조: Feistel
- 특징: 64비트 블록, 128비트 키. 이메일 암호화를 위한 PGP에도 사용됨. 특허 문제 해소로 자유로운 사용 가능.
- Blowfish
- 구조: Feistel
- 특징: 키 길이 가변(32~448비트).
- RC
- 구조: Feistel
- 특징: 64비트 블록, 키 길이 가변. DES를 대체하기 위해 설계된 블록 암호 알고리즘입니다.
- SEED (한국 표준)
- 구조: Feistel
- 특징: 128비트 블록, 128비트 키. KISA 개발, 국내 인터넷 뱅킹 기반.
- HIGHT (한국 표준 - 초경량 블록 암호)
- 구조: 변형된 Feistel (Modified Feistel)
- 특징: 64비트 블록, 128비트 키. KISA, ETRI, 국가보안기술연구소(NSRI)가 공동 개발. RFID 태그, 스마트카드, 무선 센서 네트워크(IoT) 등 전력과 메모리가 극도로 제한된 저사양·초경량 하드웨어 환경에 최적화됨
- AES (Advanced Encryption Standard)
- 구조: SPN
- 특징: 128비트 블록, 키 길이 가변(128/192/256). 전 세계 표준, 안전하고 빠름. WPA2에서 사용하는 알고리즘.
- ARIA (한국 표준)
- 구조: SPN (AES와 구조 동일)
- 특징: 128비트 블록, 키 길이 가변. 국가정보원과 학계가 공동 개발, 하드웨어 구현 효율성 우수.
2. 비대칭키 암호 (Asymmetric Key)
공개키(Public Key)로 암호화, 개인키(Private Key)로 복호화. 키 전달 문제 해결, 속도는 대칭키보다 느림.
- RSA (Rivest-Shamir-Adleman)
- 기반: 소인수분해 문제
- 특징: 암호화/복호화, 전자서명 모두 가능. 가장 널리 쓰임.
- Rabin
- 기반: 소인수분해 문제 (이차 잉여 문제, Quadratic Residuosity)
- 특징:
- 암호화: $C = M^2 \pmod N$ (단순 제곱 연산이라 RSA보다 매우 빠름)
- 복호화: $M = \sqrt{C} \pmod N$ 형태인데, 제곱근을 구하면 4개의 결과값이 나오기 때문에 어떤 것이 진짜 평문인지 결정해야 하는 '모호성(Ambiguity)'이 존재함.
- 이를 해결하기 위해 평문에 의도적인 중복(Redundancy)을 추가하여 처리함.
- Goldwasser
- 기반: 소인수분해 문제
- ECC (Elliptic Curve Cryptography)
- 기반: 타원곡선 이산 로그 문제
- 특징: RSA보다 짧은 키 길이로도 동일한 보안 강도 유지(효율성 높음). 현대 SSL/TLS 표준.
- DSA (Digital Signature Algorithm)
- 기반: 이산대수 문제
- 특징: 미국 표준(DSS)에 채택. 전자서명 전용 (암호화 불가능).
- ElGamal
- 기반: 이산대수 문제
- 특징: 암호화, 전자서명 모두 가능. DSA의 모태. 매번 다른 암호문이 생성됨. 키의 길이가 크다.
- KCDSA
- 기반 : 이산대수 문제
- 특징: 한국형 전자서명 알고리즘.
3. 해시 알고리즘 (Hash)
단방향성(복호화 불가). 무결성 검증용.
- MD5: 128비트 출력. 속도 빠르지만 충돌 공격 취약(사용 지양).
- SHA-1: 160비트 출력. 취약점 발견으로 사용 중단 권고.
- SHA-256 (SHA-2): 256비트 출력. 현재 표준.
- RIPEMD-160: 160비트 출력. MD4/MD5 취약점 보완.
'정보보호 > 기술' 카테고리의 다른 글
| IDS(침입 탐지 시스템)의 분류 (0) | 2026.06.08 |
|---|---|
| VPN의 종류 (1) | 2026.06.08 |
| XSS (cross-site-Scripting) (1) | 2026.06.03 |
| 스푸핑(Spoofing) (0) | 2026.06.03 |
| 포트 스캐닝 (0) | 2026.06.03 |