분류
- 크게 대칭키 알고리즘과 공개키 알고리즘으로 분류할 수 있다.
비밀키(대칭키) 암호 | 공개키(비대칭키) 암호 | |
---|---|---|
암호화 방법 | 암호화와 복호화에 같은 키를 사용 | 암호화와 복호화에 다른 키를 사용
키 쌍 K1, K2에 대해
|
키의 개수 | 암호를 공유하는 사용자의 순서쌍 개수
n(n-1)/2 |
사람당 2개씩(공개키, 비밀키)
2n |
장점 | 상대적으로 빠름 | 키 분배 문제 해소
전자서명 가능 |
단점 | 안전한 키 분배가 문제
참여자 증가에 따라 키 개수 기하급수적 증가 |
키 발급자에 대한 보증 어려움
상대적으로 느림 |
대칭키(비밀키) 방식
- 블록 암호화 스트림 암호로 나눌 수 있다.
블록 암호
구분 | DES | 3DES | SEED | AES | ARIA | IDEA |
---|---|---|---|---|---|---|
키 길이 | 56bit | 56*3bit | 128bit | 128/192/256bit | 128/192/256bit | 128bit |
블록 크기 | 64bit | 64bit | 128bit | 128bit | 128bit | 64bit |
라운드 | 16번 | 16*3번 | 16번 | 10/12/14번 | 12/14/16번 | 8번 |
구조 | Feistel Network | Feistel Network | Feistel Network | SPN | SPN | Lai-Massey schema |
비고 | AES 이전 미국 표준 | DES의 취약점 보완 및
호환성 유지용 임시방편 |
ARIA 이전 국내 표준 | 현 미국 표준 | 현 국내 표준 | 국제 표준
(PGP에서 사용) |
- Feistel과 SPN
- Feistel 구조 : DES, SEED
- SPN(Non-Feistel) 구조 : AES, ARIA
스트림 암호
비대칭키(공개키) 방식
구분 | ECC | RSA |
---|---|---|
속도 | 빠름 | 느림 |
키 길이 | 짧음 | 김 |
시장점유율 | 낮음 | 높음 |
주요 사용처 | 모바일 환경
(그 외 환경으로 확대 중) |
유선 환경 |
장점 | 효율성 | 오랜 기간 입증된 안전성 |
- 그 외
해시 알고리즘
- SHA
- MD