728x90
💡 암호화 알고리즘이란
데이터의 무결성 및 기밀성을 확보를 위해 정보를 쉽게 해독할 수 없는 형태로 변환하는 기법
💡 단방향 암호화 방식
✅ 해시 함수(Hash Function)
Hash 함수 : Hash 알고리즘, Hash 값/키 : Hash 함수로 변환된 값이나 키
입력 데이터 / 메시지 -> Hash 함수 -> Hash 키 / 값
임의의 길이의 입력 데이터나 메시지를 고정된 길이의 값의 키로 변환합니다.
데이터의 암호화, 무결성 검증을 위해 사용될 뿐 아니라 정보보호의 다양한 분야에서 활용합니다.
✅ 단방향 암호화 종류
SHA 시리즈 | MD5 | SNEFRU | N-NASH |
1993년 NSA 설계, SHA-0, 1, 2 (224bit, 245bit, 384bit, 512bit) |
1991년 Rivest MD4 대체하기 위해 고안, 블록 크기 512bit 키 길이 128bit |
1990 R.C Merkle 발표, 32bit 프로세서에서 구현 용이하도록 고안 |
1989 일본 NTT 발표, 블록 크기, 키 길이 128bit |
💡 양방향 암호화 방식
✅ 양방향 암호화 종류
방식 | 특징 | 방식 | 종류 |
개인 키 암호화 알고리즘 (대칭 키 암호화) |
동일한 키로 데이터를 암호화 하고 복호화 함 (비밀 키는 DB 사용 권한이 있는 사용자만 나눠가짐) |
블록 암호화 알고리즘 (한번에 하나의 데이터) |
DES, AES, SEED, ARIA, IDEA, skipjack |
스트림 암호화 알고리즘 (난수열을 발생시켜 평문 간 동일한 길이의 스트림 비트 단위 암호화) |
RC4, LFSR | ||
공개 키 암호화 알고리즘 (비대칭 키 암호화) |
데이터를 암호화 할 때 사용하는 키(공개 키)는 DB 사용자에게 공개하고, 복호화 할 때 키(비밀 키)는 관리자가 관리하는 방법 |
RSA, ECC, 디피-헬만 ELGamal |
✅ 양방향 암호화 특징
방식 | 기법 | 설명 |
개인 키 암호화 알고리즘 (대칭 키 암호화) |
AES | 2001년 NIST에서 개발, 블록 크기 128bit 키 길이에 따라 AES-128,192,256으로 분류 DES의 성능 문제를 극복하기 위해 개발, 현재 가장 많이 사용 |
DES | IBM에서 개발, 블록 크기 64bit, 키 길이 56bit 16라운드 암호화 알고리즘, 현재는 안정성 우려로 사용 X |
|
SEED | KISA에서 개발, 블록 크기 128bit, 키 길이에 따라 128, 256bit로 구분 |
|
ARIA | 2004년 국가정보원과 산학연협회가 개발 | |
IDEA | 1990년 개발한 PES, IPES를 개선한 알고리즘 128bit 키를 사용하여 64bit 평문을 8라운드에 거침 블록 크기 64bit, 키 길이 128bit |
|
skipjack | NSA에서 개발, 블록크기 64bit, 키 길이 80bit, 총 32라운드 Clipper 칩이라는 IC 칩에 내장되어 있음 주로 음성 통신 장비에 삽입되어 있음 |
|
TKIP | 무선랜 보안에 사용된 WEP를 보완한 데이터 보안 프로토콜 암호 알고리즘 입력 키 길이 128bit로 늘리고 패킷당 키 할당, 키 값 재설정 등 키 관리 방식을 개선 |
|
공개 키 암호화 알고리즘 (비대칭 키 암호화) |
디피-헬만 | 최초의 공개키 알고리즘 |
RSA | 1977년 3명의 MIT 교수가 개발, 소인수 분해 문제를 이용한 방식 |
|
ECC | 타원 곡선 암호(ECC), 이산 대수 문제에 기초한 방식 RSA 암호화 속도 및 안정성 대안 |
|
Elgamal | 1985년 제안, 이산대수 문제의 어려움 해결 RSA 활용할 수 있는 곳에 어디에나 사용 가능 |
|
DSA | 정부용 전자서명 알고리즘 |