♾️ Computer Science/정보 보안

[Security] 암호화 알고리즘 방식과 종류

nerowiki 2024. 4. 25. 05:21
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 정부용 전자서명 알고리즘