관리 메뉴

hye-_

6.암호화 - 79. 암호화 본문

정처기/정보시스템 구축관리

6.암호화 - 79. 암호화

hyehh 2023. 6. 21. 18:14
728x90
반응형
SMALL
728x90
반응형
SMALL

79. 암호화 

1. 공개키 암호화

2. 비밀키 암호화

3. 해시방식

4. Salt


암호 알고리즘 (Cryptographic Algorithm)의 개념

평문(Plaintext)을 암호문(Ciphertext)으로 바꾸고, 암호문을 다시 평문으로 바꿀 때 사용되는 알고리즘을 의미한다.

- 평문을 암호문으로 바꾸는 과정을 암호화(Encryption)라고 하고, 암호문을 다시 평문으로 바꾸는 과정을 복호화(Decryption)라고 한다.

- 암호화 및 복호화 과정에 암호키(Cryptographic key)가 필요하다.

 

#평문 (Plaintext)

암호화되기 전 메시지

 

# 암호문 (Ciphertext)

암호화가 적용된 메시지


암호 방식의 분류


1. 공개키 (Public key, 비대칭키) 암호화 기법

암호키와 해독키가 서로 다른 기법으로 키 개수는 2N개가 필요하다.

비대칭키 암호화 기법 또는 공개키(공중키) 암호화 기법이라고도 한다.

 

암호화/복호화 속도가 느리며 알고리즘이 복잡하다.

키 분배가 비밀키 암호화 기법보다 쉽다.

 

알고리즘 기법

RSA, EIGama 기법 등이 있다.

알고리즘 기법  
RSA (Rivest Shamir Adleman)
3명의 학자이름이다.
● 소인수 분해의 어려움에 기초를 둔 알고리즘이다.
● 1978년 MIT에 의해 제안되었다.
● 전자문서에 대한 인증 및 부인 방지에 활용된다.
EIGama  ● 이산대수 문제의 어려움에 기초를 둔 알고리즘이다.
● 동일한 메시지라도 암호화가 이루어질 때마다 암호문이 변경되고 암호문의 길이가 2배로 늘어나는 특징이 있다. 

 


2. 비밀키 (Private key, 대칭키) 암호화 기법

동일한 키로 암호화하고 복호화하는 기법으로 키 개수는 N(N-1)/2개가 필요하다.

대칭키 암호화 기법 또는 개인키 암호화 기법이라고도 한다.

 

암호화/복호화 속도가 빠르고 알고리즘이 단순하다.

키 분배가 공개키 암호화 기법보다 어렵다.

 

알고리즘 기법

스트림 방식과 블록 방식으로 분류된다.

알고리즘 기법  
스트림 방식 ● 평문의 길이와 동일한 스트림(Stram)을 생성하여 (즉, 문자열 그대로를 쭉 전송하는것을 의미한다.) 비트 단위로 암호화하는 대칭키 암호화 방식이다.  암호화할 때 XOR 연산을 수행한다.
● 종류 : RC4, A5/1, LSFR, SEAL, WEP, OFB
블록 방식 ● 평문을 블록 단위로 암호화하는 대칭키 암호화 방식이다.
● 종류
DES (Data Encryption Standard)
   ■ 1970년대 초 IBM이 개발한 알고리즘이다.
   ■ 16라운드 Feistel 구조를 가진다.
   ■ 평문을 64비트로 블록화를 하고, 실제 키의 길이는 56비트를 이용한다.
   ■ 전사 공격(Brute-Force Attack)에 취약하다.

AES (Advanced Encryption Standard)
   ■ DES를 대신하여 새로운 표준이 되었다.
   ■ 블록 크기는 128비트이고, 키 길이는 128/192/256비트이다.
   ■ SPN(Substitution-Permutation Network) 구조이다. 

ARIA
   ■ 국내 기술로 개발된 암호 알고리즘이다.
   ■ 경량 환경 및 하드웨어 구현에서의 효율성 향상을 위해 개발되었다.
   ■ 우리나라 국가 표준으로 지정되었다.
   ■블록 크기와 키 길이가 AES와 동일하다.

SEED
   ■ 국내 기술로 개발된 128비트 블록 암호 알고리즘이다.
   ■ Feistel 구조이다.
   ■ 2005년 국제 표준으로 제정되었다.

IDEA
   ■ DES 대체하기 위해서 스위스에서 개발한 알고리즘이다.
   ■ 상이한 대수 그룹으로부터의 의 세 가지 연산을 혼합하는 방식이다. 
 


3. 해시(HASH) 암호화 방식

임의의 길이의 메시지를 입력으로 하여 고정된 길이의 출력값으로 변환하는 기법이다.

주어진 원문에서 고정된 길이의 의사난수를 생성하며, 생성된 값을 해시값이라고 한다. 해시 함수라고도 한다.

 

의사난수 대표적 사용 기법 : OTP

임의의 수이며, 대표적인 사용 기법이 은행 이체할 때 쓰는 OTP가 해시 암호 알고리즘에 해당한다. 

의사난수는 초기값에의해 결정되는 구조이다. 미리 초기화된 값이 있고 그다음에 의사난수 생성기에 의해서 생성이 되는 형태이다. 이 생성기에 나오는 숫자가 OTP가 되는 것이다.

 

디지털 서명에 이용되어 데이터 무결성을 제공한다.

블록체인에서 체인 형태로 사용되어 데이터의 신뢰성을 보장한다.

 

알고리즘 기법

SHA, SHA1, SHA256, MD5, RMD160, HAS-160, HAVAL 기법 등이 있다.


SHA (Secure Hash Algorithm)

1993년에 미국 NIST에 의해 개발되었고 가장 많이 사용되고 있는 방식이다.

 

SHA-1

DSA에서 사용하게 되어 있으며 많은 인터넷 응용에서 Default 해시 알고리즘으로 사용된다.

 

SHA-256, SHA-384, SHA-512

AES의 키 길이인 128,192, 256bit에 대응하도록 출력 길이를 늘린 해시 알고리즘이다.  


4. Salt

시스템에 저장되는 패스워드들은 Hash 또는 암호화 알고리즘의 결괏값으로 저장된다.

이때 암호 공격을 막기 위해 똑같은 패스워드들이 다른 암호 값으로 저장되도록 추가되는 값을 의미한다.

예 ) 비밀번호가 1234이면

1234로 저장되는 것이 아니라 해쉬 알고리즘으로 암호화되어서 저장된다. 어떨 때는 4568, 어떨 때는 7895 이런 식으로 다르게 저장된다. 

 

Salt

소금이다.

다른 형태로 소금을 뿌린다. 양념을 추가한다라고 생각하면 된다.


문제 풀이

1. 분산 데이터베이스의 불법적인 접근을 차단하기 위하여 데이터 암호화가 필요하다. DES 알고리즘에서는 평문을 (①) 비트로 블록화를 하고, 실제 키의 길이는 (②) 비트를 이용한다. 괄호의 내용을 순서대로 쓰시오.

64,54

 

2. 블록 암호화 방식이 아닌 것은?

① DES

② RC4

③ AES

④ SEED

2번 

 

3. 큰 숫자를 소인수 분해하기 어렵다는 기반하에 1978년 MIT에 의해 제안된 공개키 암호화 알고리즘은?

① DES

② ARIA

③ SEED

④ RSA

4번 

 

4. 소인수 분해 문제를 이용한 공개키 암호화 기법에 널리 사용되는 암호 알고리즘 기법은?

① RSA

② ECC

③ PKI

④ PEM

1번 

 

5. 다음 암호화 기법에 대한 설명으로 틀린 것은?

① DES는 비대칭형 암호화 기법이다.

② RSA는 공개키/비밀키 암호화 기법이다.

③ 디지털 서명은 비대칭형 암호 알고리즘을 사용한다.

④ DES 알고리즘에서 키 관리가 매우 중요하다.

1번

 

6. DES는 몇 비트의 암호화 알고리즘인가?

① 8

② 24

③ 64

④ 132

3번 


 

728x90
반응형
LIST