암호화 알고리즘: Difference between revisions
From CS Wiki
No edit summary |
No edit summary Tags: Manual revert Visual edit |
||
(13 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
[[분류:보안]][[분류:암호학]][[분류:정보보안기사]] | [[분류:보안]][[분류:암호학]][[분류:정보보안기사]] | ||
==대칭키== | = 분류 = | ||
=== | ;크게 대칭키 알고리즘과 공개키 알고리즘으로 분류할 수 있다. | ||
{| class="wikitable" | |||
! | |||
! 비밀키(대칭키) 암호 | |||
! 공개키(비대칭키) 암호 | |||
|- | |||
| 암호화 방법 | |||
| 암호화와 복호화에 같은 키를 사용 | |||
| 암호화와 복호화에 다른 키를 사용 | |||
키 쌍 K1, K2에 대해 | |||
* K1으로 암호화한 것은 K2로 복호화 | |||
* K2로 암호화한 것은 K1으로 복호화 | |||
|- | |||
| 키의 개수 | |||
| 암호를 공유하는 사용자의 순서쌍 개수 | |||
n(n-1)/2 | |||
| 사람당 2개씩(공개키, 비밀키) | |||
2n | |||
|- | |||
| 장점 | |||
| 상대적으로 빠름 | |||
| 키 분배 문제 해소 | |||
전자서명 가능 | |||
|- | |||
| 단점 | |||
| 안전한 키 분배가 문제 | |||
참여자 증가에 따라 키 개수 기하급수적 증가 | |||
| 키 발급자에 대한 보증 어려움 | |||
상대적으로 느림 | |||
|} | |||
==대칭키(비밀키) 방식== | |||
; 블록 암호화 스트림 암호로 나눌 수 있다. | |||
===블록 암호=== | |||
{| class="wikitable" | {| class="wikitable" | ||
! 구분 | ! 구분 | ||
Line 41: | Line 73: | ||
| SPN | | SPN | ||
| SPN | | SPN | ||
| | | Lai-Massey schema | ||
|- | |- | ||
| 비고 | | 비고 | ||
Line 67: | Line 99: | ||
* [[RC4|RC4(취약)]] | * [[RC4|RC4(취약)]] | ||
==공개키 | ==비대칭키(공개키) 방식== | ||
* [[RSA]] | ; 대표적으로 인수분해 기반 방식(대표적으로 [[RSA]]), 이산대수 기반 방식, [[타원 곡선 암호|타원곡선 방식]]으로 나뉜다. | ||
* 인수분해 : RSA, Rabin | |||
* [[ | * 이산대수 : Diffie-Hellman, Elgamal, DSA, Schnorr | ||
* [[Knapsack]] | * 타원곡선 : ECC | ||
* [[DSA]] | * [[RSA]]와 [[ECC]]의 비교 | ||
** Digital Signature Algorithm | {| class="wikitable" | ||
** 1991년 미국국립표준·기술연구소(NIST)에서 표준안으로 개발한 공개 키 기반의 알고리즘 | ! 구분 | ||
! [[ECC]] | |||
! [[RSA]] | |||
|- | |||
| 속도 | |||
| 빠름 | |||
| 느림 | |||
|- | |||
| 키 길이 | |||
| 짧음 | |||
| 김 | |||
|- | |||
| 시장점유율 | |||
| 낮음 | |||
| 높음 | |||
|- | |||
| 주요 사용처 | |||
| 모바일 환경 | |||
(그 외 환경으로 확대 중) | |||
| 유선 환경 | |||
|- | |||
| 장점 | |||
| 효율성 | |||
| 오랜 기간 입증된 안전성 | |||
|} | |||
* 그 외 | |||
** [[ElGamal]] | |||
** [[Knapsack]] | |||
** [[DSA]] | |||
*** Digital Signature Algorithm | |||
*** 1991년 미국국립표준·기술연구소(NIST)에서 표준안으로 개발한 공개 키 기반의 알고리즘 | |||
== 해시 알고리즘 == | |||
* SHA | |||
* MD | |||
=국내 개발 암호화 알고리즘= | |||
ARIA, HIGHT, LEA, SEED | [[ARIA]], [[HIGHT]], [[LEA]], [[SEED]] |
Latest revision as of 03:28, 6 October 2023
분류[edit | edit source]
- 크게 대칭키 알고리즘과 공개키 알고리즘으로 분류할 수 있다.
비밀키(대칭키) 암호 | 공개키(비대칭키) 암호 | |
---|---|---|
암호화 방법 | 암호화와 복호화에 같은 키를 사용 | 암호화와 복호화에 다른 키를 사용
키 쌍 K1, K2에 대해
|
키의 개수 | 암호를 공유하는 사용자의 순서쌍 개수
n(n-1)/2 |
사람당 2개씩(공개키, 비밀키)
2n |
장점 | 상대적으로 빠름 | 키 분배 문제 해소
전자서명 가능 |
단점 | 안전한 키 분배가 문제
참여자 증가에 따라 키 개수 기하급수적 증가 |
키 발급자에 대한 보증 어려움
상대적으로 느림 |
대칭키(비밀키) 방식[edit | edit source]
- 블록 암호화 스트림 암호로 나눌 수 있다.
블록 암호[edit | edit source]
구분 | 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
스트림 암호[edit | edit source]
비대칭키(공개키) 방식[edit | edit source]
구분 | ECC | RSA |
---|---|---|
속도 | 빠름 | 느림 |
키 길이 | 짧음 | 김 |
시장점유율 | 낮음 | 높음 |
주요 사용처 | 모바일 환경
(그 외 환경으로 확대 중) |
유선 환경 |
장점 | 효율성 | 오랜 기간 입증된 안전성 |
- 그 외
해시 알고리즘[edit | edit source]
- SHA
- MD