1. 암호 알고리즘이란?
암호 알고리즘은 데이터의 무결성 및 기밀성을 유지하기 위하여 정보를 쉽게 해독할 수 없도록 암호화하는 알고리즘이다. 암호 알고리즘에는 기법에 따라 양방향 암호 알고리즘과 일방향 암호 알고리즘으로 나뉘며 그 종류가 다양하다.
2. 암호 알고리즘 종류
1) 양방향 방식
양방향 방식은 암호화와 복호화가 양방향으로 이루어지는 방식이다. 그 종류에는 대칭키 방식과 비대칭키 방식이 있다.
(1) 대칭키 방식:
대칭키는 암호화를 할 때와 복호화를 할 때 같은 암호키를 사용하는 알고리즘이다.
블록 암호 방식: 고정 길이의 블록을 할당하여 암호화하는 방식이다. (DES, AES, SEED)
스트림 암호 방식: 유사 난수를 연속적으로 생성하여 암호문을 생성하는 방식이다.(RC4)
DES | 1975년 미국의 연방 표준국(NTS)에서 개발한 대칭키 방식의 암호화 알고리즘이다. 블록크기는 64bit이며, 키 길이는 56bit이다. 다량의 문서를 암호화 할 수 있다. Feistel 네트워크가 변형된 형태이다. DES를 세번 적용해서 키 길이를 세배 늘리는 방식인 3-DES 기법이 있다. |
AES | 1997년 미국 표준 기술연구소(NIST)에 의해서 지정된 암호화 방식이다. 블록 길이가 128비트이고 평문을 128비트 암호문으로 출력한다. 블럭 암호화 알고리즘이며 키 크기에 따라 AES-128, AES-192, AES-256으로 나뉜다. 높은 안전성과 속도를 가지고 있다. 랜섬웨어에 많이 사용된다. |
SEED | 1999년에 한국정보진흥원에서 개발한 알고리즘이다. 인터넷, 전자상거래, 무선통신 등에 사용하기 위해 만들어진 알고리즘이며 DES와 유사하게 FeistelNetwork를 사용한다. 블록길이가 128비트이다. |
ARIA | ARIA는 국가보안기술연구소에서 개발한 블록 암호 알고리즘이며 현재까지 대한민국의 국가 표준 암호 알고리즘으로 사용되고 있다. 블록크기가 128bit이며, 키 크기는 128,192,256으로 사용할 수 있다. 라운드 수는 12,14,16으로 나뉜다. |
IDEA | 1990년 스위스에서 만들어진 PES를 개량하여 만들어진 블록 암호 알고리즘이다. 키길이가 128bit이다. 블로길이가 64bit이다. FeistelNetwork방식과 SPN의 중간형태 구조를 가진다. 라운드 수가 8이다. |
LFSR | LFSR은 현재 상테에서 선형 연산을 통해 다음 상태를 생성하는 레지스터이다. 스트림 암호의 난수를 생성하는 용도로 많이 사용한다. 블록암호에 비해 경량 및 고속 동작이 용이하다. 긴 의사 난수 결과를 생성하는 좋은 방법이다. |
RC4 | 로널드 라이베스트가 만들었다. 스트림 암호방식이다. 각 단계에서 키스트림 한 바이트를 생성한다. LFSR의 구조를 가지지 않으며 옥텟 단위를 기반으로 한다. 비트 단위의 암호화 보다 실행속도가 빠르다. |
(2) 비대칭키 방식(공개키 방식) :
대칭키는 암호화 복화화의 키가 같아서 보안의 취약점이 생긴다는 단점이 있는 반면에 비대칭키는 공개키와 암호키를 두어서 암호화할 때 공개키를 사용 하하면, 복호화할때에는 비밀키를 사용하는 방 식 이다. 암호화 할때와 복호화 할 때의 키가 서로 다르기 때문에 암복호화 과정에서 보다 보안이 강화된다는 장점이 있다. 하지만 대칭키 방식보다 데이터 전송 속도가 느리다는 단점이 있다.
Diffie-Hellman | 디피와 헬만이 개발한 암호화 알고리즘이다. 비대칭키 알고리즘에서 사용되는 키 교환 방식이다. 암호화되지 않은 통신망을 통해 공통의 비밀 키를 공유할 수 있도록 한다. 이산대수의 계산이 어려운 문제를 기본 원리로 하고 있다. |
RSA | Ron Rivest, Adi Shamir, Lenard Adleman 세 사람이 연구한 암호화 알고리즘이며 세 사람의 약자를 따서 RSA라고 한다. RSA는 소인수분해를 기반으로한 암호화 알고리즘이다. 전자서명이 가능한 최초의 암호화 알고리즘이다. 안전성이 높아 가장 널리 쓰이고 있는 비대칭키 암호화 알고리즘이다. |
ECC | 타원곡선 암호라고도 한다. RSA 암호화의 대안으로 제안되었다. 짧은키로도 동일한 암호화 성능을 가진다. 계산 복잡도 이론을 활용하여 암호화 한다. |
EIGamal | 타헤르 엘가말이 제안한 암호화 알고리즘이다. 이산대수 문제의 난해함을 활용하여 암호화한다. |
2) 일방향 방식(해시 암호 방식)
: 일방향 방식은 임의 길이의 정보를 입력받아 고정된 길이의 암호문을 출력하는 암호방식이므로 해시 암호 방식이라고도 한다. 그 종류에는 MAC과 MDC가 있다.
(1) MAC: 메시지 인증코드로 메시지의 무결성과 송신자의 인증을 보장한다. 메시지가 외부에 노출돼도 상관없을 때 사용한다. MAC 방식은 양방향 암호화 알고리즘보다 빠르다는 장점을 가지고 있지만 기밀성을 제공하지 않기 때문에 보안에 취약하다는 단점이 있다.
HMAC | 암호화 해시 함수와 기밀 암호화 키를 수반하는 특정한 유형의 메시지 인증 코드이다. 메시지를 암호화 하지않고 메시지를 전송할때 해시 값을 동반해서 보낸다. IPsec, SSH, TLS 프로토콜 등에 사용된다. |
(2) MDC: 변경 감지 코드로 메시지의 무결성의 보장해주는 알고리즘이다. 메시지 변경 감지 코드는 베시지의 변경을 확인하면서 데이터의 무결성을 판단한다.
MD5 | 128비트의 해시값을 만들어 내는 암호화 해시 함수이다. 기존의 MD4를 개선하기 위하여 만들어졌다. 현재는 MD5를 보안 관련 용도로 쓰는 것은 권장하지 않는다. |
SHA | 안전한 해시 알고리즘이라는 뜻으로 미국 국가안보국(NAS)에서 제안했다. 암호화적 해시 함수들의 모음이다. 128비트의 해시값들을 만들어낸다. SHA-0, SHA-1, SHA-2 등의 종류로 발전했으며 SHA-2를 세분화 한것에는 SHA-224, SHA-256, SHA-384, SHA-512가 있다. SHA-1이 가장 많이 사용되며 이는 DSA에 사용 한다. |
'CS 지식' 카테고리의 다른 글
HTML living standard 개념 (0) | 2022.03.29 |
---|---|
URL, IP, PORT 개념 (0) | 2022.03.29 |
절차형 SQL 개념 및 종류(프로시저, 사용자정의함수, 트리거) (0) | 2021.09.09 |
[정보처리기사] 에자일 방법론 개념 및 유형 (0) | 2021.05.24 |
[정보처리기사] 미들웨어(Middleware) 개념과 종류 (0) | 2021.05.14 |