반응형

암호확에서 블록암호 운영방식은 하나의 키(사전에 공유한 암호키) 하에서 블록 암호를 반복적으로 안전하게 이용하게 하는 절차를 말한다.

블록 암호는 특정한 길이의 블록 단위로 동작하기 때문에,가변 길이 데이터를 암호화하기 위해서는 먼저 이들을 단위 블록들로 나누어야 하며,그리고 그 블록들을 어떻게 암호화 할지를 정해야 하는데,이때 블록들의 암호화 방식을 운용 방식이라고 부른다.


역으로 수행하면 복호화 할수 있는 Feistel 구조

DES

SEED

CAST-128

BLOWFISH



복호화 할 수 있는 SPN구조

AES

SAFER

SHARK

CRYTON



블록 암호화 기법



1.ECB(Electronic Code Book,전자 코드북)

가장간단한 구조

모든블록이 같은 암호화 키를 사용하기 때문에 보안에 취약

만약 암호화 메시지를 여러부분으로 나누었을때 블록이 같은 값을 가진다면,암호화 결과 역시같다.

이것은 공격자가 비슷한 메시지를 반복적으로 암호화하는 반복공격에도 취약하다.

블록의 단위는 알고리즘에 따라 다르다

DES알고리즘은 블록을 64Bit로 나누고,AES알고리즘은 블록을 128BIt로 나눈다.

각 블록은 독립적이며 특정 블록의 에러가 다른 블록에 영향을 주지않는다.

Ecb encryption.png

Ecb decryption.png



2.CBC(Cipher Block Chaning,암호 블록 체인 방식)

각 블록은 암호화되기전에 이전 블록의 암호화 결과와 XOR되며,첫블록의 경우에는 초기화 벡터가 사용된다. 초기화 벡터가 같은 경우 출력 결과가 항상 같기 때문에, 매 암호화마다 다른 초기화 벡터를 사용해야 한다.

현재 널리 사용되는 운영방식이며 보안이 가장 강력한 암호화 모드로 평가되고 있다.

ECB와 동일하게 배수를 맞추기 위한 패딩을 추가하여 크기를 맞춰야 하며,암호화시 암호화 입력값이 이전 결과에 의존하기 때문에 병렬처리가 불가능하여 순차적으로 암호화해야 한다는 단점이있다.

복호화의 경우 각 블록을 복호화한다음 이전 암호화 블록과 xor하여 복구할수 있기때문에 병렬화가 가능하다.

Cbc encryption.png

Cbc decryption.png


3.CFB(Cipher FeedBack)

CBC의 변형

이전 두가지 모드와 다르게 평문 암호문 길이가 같다.

패딩을 추가하지않고 스트림 암호화 방식으로 구성하여 Bit단위로 암호화를 수행

CBC와 마찬가지로 초기화벡터(IV,Initialization Vector)를 사용되며,암호화는 순차적으로 처리하며 복호화는 병렬처리가 가능하다.

CBC,CFB 두 모드는 암호문 한개의 블록에서 에러 발생 시 현재 복호화 되는 평문 블록과 다음 복호화되는 평문 블록에 영향을 준다.

암호화 알고리즘에 따라 Shift연산을 사용하기도 한다.

Cfb encryption.png

Cfb decryption.png

4.OFB(Output FeedBack)


평문 암호문 길이가 같다.

CFB와 동일하게 패딩을 추가하지 않고 블록단위 암호화를 스트림 암호화 방식으로 구성한다.

다른 점은 암호화 함수는 키의 생성시에만 사용되어 암호화와 복호화의 방법이 동일하고 암호문을 다시 암호화하면 평문이 나온다.IV를 사용한다.

암호문 한개 블록에서 에러 발생시 현재 복호화되는 평문 블록에만 영향을 주므로 영상데이터,음성데이터와 같은 디지털화된 아날로그 신호에 주로 사용된다.

Ofb encryption.png

Ofb decryption.png


5.CTR(CounTeR)

평문 블록과 키스트림을 XOR연산하여 암호문을 만든다.

키스트림 암호화 시마다 1씩 증가하는 카운터를 암호화한 Bit열이며,암호화와 복호화 방법이 동일하므로 구현이 간단하고 블록의 암호화 순서가 임의의 순서가 될수있다.

임의의 순서로 암호화가 가능다하는 것은 암호화를 병렬로 처리할수 있다는것이다.

OFB와 마찬가지로 암호문 블록의 에러 발생시,한개의 평문 블록에만 영향을 준다..




Ctr encryption.png


Ctr decryption.png





 

ECB

CBC

CFB

OFB

CTR

패딩유무

O

O

X

X

 X

암호문평문

길이 동일

X

X

O

O

O

암호화

병렬

O

X

X

O

O

복호화

병렬

O

O

O

O

O

연산

-

XOR

XOR

XOR

XOR

IV사용여부

X

O

O

O

X


특이사항

블록의 단위는 알고리즘에 따라 다르며 반복공격에 취약

널리 사용되는 운영방식이며 보안이 가장 강력한 암호화 모드

알고리즘에 따라 Shift연산을 사용하기도 한다.

디지털화된 아날로그 신호에 주로 사용

평문블록과

키스트림을 XOR연산하여 암호문만듬





참조

https://ko.wikipedia.org/wiki/%EB%B8%94%EB%A1%9D_%EC%95%94%ED%98%B8_%EC%9A%B4%EC%9A%A9_%EB%B0%A9%EC%8B%9D







블록 암호화 운영 모드로 올바르지 않은 것은?


1.ECB 블록 암호화 방법은 Padding이 필요 없는 방법으로 간단하고 순차적으로 암호화를 수행한다.


2.CBC 블록 암호화 방법은 초기화 벡터를 활용하여 암호화를 수행하고 블록 암호화 모드 중에서 가장 강력한 암호화 모드로 평가되고 있다.


3.CFB는 초기화 벡터를 사용하고 스트림 암호화 방식을 사용하여 Bit 단위로 암호화를 수행한다.


4.OFB 블록 암호화 모드는 디지털화된 아날로그 신호에 주로 사용된다.






정답 1

ECB 블록 암호화 방법은 평문을 고정길이로 분할하는 패딩(Padding)을 수행해야한다.

반응형

'보안 > 정보보안기사' 카테고리의 다른 글

포트 스캔 공격  (0) 2020.03.05
유닉스 파일 시스템의 구성  (0) 2020.03.05
RSA  (0) 2020.03.04
FTP  (0) 2020.03.04
IPSEC  (0) 2020.03.04
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기