제1절 대칭키 암호

제1항 대칭키 암호

대칭키 암호(Symmetric-key cryptosystem) 방식에서는 암호화에 사용되는 암호화키와 복호화키가 동일하다는 특징이 있으며이 키를 송신자와 수신자 이외에는 노출되지 않도록 관리해야 한다일반적으로 관용 암호라고도 하며 키를 비밀스럽게 관리해야 한다는 의미로 비밀키 암호(Secret-key cryptosystem)’라고도 한다대칭키 암호는 암호화 연산 속도가 빨라서 효율적인 암호 시스템을 구출할 수 있다.

 

이 암호 방식은 알고리즘의 내부 구조가 간단한 치환과 전치의 조합으로 되어 있어서 알고리즘을 쉽게 개발할 수 있고컴퓨터 시스템에서 빠르게 동작한다그러나 송,수신자 간에 동일한 키를 공유해야 하므로 많은 사람들과의 정보 교환 시 많은 키를 생성,유지,관리해야 하는 어려움이 있다.

 

대칭키 암호 방식은 데이터를 변환하는 방법에 따라 블록 암호와 스트림 암호로 구분된다.

 

관용 암호 알고리즘과 공개키 암호 알고리즘에 대한 비교중 가장 부적절한 것은?

 

① 공개키 암호는 대체로 관용 암호에 비해 긴 키를 사용한다.

② 관용 암호를 통신 보호에 사용할 경우 송신자와 수신자가 동일한 키를 사용하므로3자의 도청을 방지할 수 있는 안전한 키 분배를 위한 메커니즘이 요구된다.

③ 공개키 암호에서 전자서명에 사용하는 서명자 개인키는 서명자만이 사용할 수 있으므로 서명에 대한 부인 방지 서비스를 제공할 수 있다.

④ 공개키 암호는 관용 암호에 비해 실행 속도는 느리지만 상대적으로 높은 안전성을 갖는다.

 

공개키 암호는 관용 암호에 비해 실행 속도는 느리다각 알고리즘 마다 특성이 있으므로 안전성 비교는 적절하지 않다. ()

 

비밀키(Secret key) 암호화 알고리즘만으로 보장하기 가장 어려운 것은?

 

① 기밀성

② 송신자 인증

③ 전자서명

④ 무결성

 

대칭키 암호는 부인방지 개념이 포함된 전자서명은 단독으로 제공하기는 힘들다대칭키 암호로 부인방지 서비스를 제공하기 위해서는 제3의 인증기관이 필요하다. ()

 

대칭키 알고리즘과 공개키 알고리즘의 차이에 대한 아래 설명 중 틀린 것은?

 

① 대칭키 알고리즘은 공개키 알고리즘에 비하여 계산 속도가 빠르다.

② 대칭키 알고리즘은 통신의 참여자들이 동일한 키를 공유하고 있어야 한다.

③ 공개키 알고리즘은 통신의 참여자들이 동일한 키를 공유하지 않아도 된다.

④ 공개키 알고리즘은 메시지에 대한 기밀성을 제공하지만대칭키 알고리즘은 그렇지 못하다.

 

대칭키공개키 모두 기밀성을 제공한다

 

 

다음 중 대칭키 암호 시스템의 특징이 아닌 것은?

 

① 사용자가 늘어날수록 관리해야 할 키가 늘어난다.

② 사전에 키를 공유하여야 한다.

③ 암호화와 복호화에 사용된 키는 서로 역수 관계이어야 한다.

④ 공개키 암호시스템 보다 암호화 속도가 빠른편이다.

 

비대칭키 암호시스템은 개인키와 공개키(암호화와 복호화에 사용된 키가)가 서로 역수 관계이다. ()

 

 

(1) 스트림 암호

스트림 암호는 블록 단위로 암·복호화되는 블록 암호와는 달리 이진화된 평문 스트림과 이진 키스트림 수열의 XOR 연산으로 암호문을 생성하는 방식이다.

 

이러한 스트림 암호는 동기식 스트림 암호 ‘자기 동기식(비동기식스트림 암호가 있다동기식 스트림 암호는 key stream 수열이 평문과 관계없이 생성되어 동기식으로 사용된다자기 동기식 스트림 암호는 key stream 수열이 평문 혹은 암호문으로부터의 함수 관계에 의해 생성되기 때문에 복호화시 동기가 흐트러져도 스스로 동기화가 이루어져서 복호화가 가능하다.

 

스트림 암호에 관한 설명으로 잘못된 것은?

 

 이진 수열(비트)로 된 평문과 키 이진 수열 비트 단위로 XOR하여 암호화한다.

② 암호화 알고리즘에 치환변환과 전치변환이 주로 쓰인다.

③ 주로 유럽을 중심으로 발전하였으며 군사용으로 쓰인다.

④ 일회용 패드는 스트림 암호의 한 예이다.

 

치환변환과 전치변환은 블록암호화기법이다. ()

 

1) 개요

① 현대 스트림 암호에서 암호화와 복호화는 평문 비트 스트림암호문 비트 스트림키 비트 스트림을 한 번에 r비트를 생성한다.

 

② 스트림 암호는 블록 암호보다 빠를 뿐만 아니라 하드웨어 구현 또한 블록 암호보다 더욱 용이하다.

③ Key stream 을 어떻게 생성하는지가 현대 스트림 암호의 주된 관심사이다현대 스트림 암호는 동기식과 비동기식 두가지 종류로 분류된다.

 

2) 동기식 스트림 암호

① 개요

ü 동기식 스트림 암호에서 키 스트림은 평문 혹은 암호문 스트림과 독립적이다.

ü 키 스트림은 평문 혹은 암호문 비트와 키 비트 사이에 어떠한 관계도 없이 생성되고 사용된다.

ü 난수열을 생성하기 위해 내부 상태(internal state)를 유지하며이전 내부 상태에서 새로운 내부 상태와 유사난수를 얻는다.

ü 암호화 및 복호화할 문자열에서 특정 위치 비트를 변경할 경우 암호화된 결과에서도 같은 위치 비트가 변경되며다른 위치의 비트는 변경되지 않는다따라서 암호화 문자열을 전송할 시에 특정 비트가 다른 값으로 손상되어도복호화 시 다른 비트에는 영향을 미치지 않는다.

ü 하지만 전송 오류에서 비트가 사라지거나 잘못된 비트가 추가되는 경우 오류가 난 시점 이후의 복호화가 실패하게 되면따라서 전송 시에 동기화(synchronize)가 필요하다.

ü 암호공격이 가능하다.

ü 동기식 스트림 암호의 한 예는 RC4가 있다.

 

 

동기식 스트림 암호에 대한 설명으로 가장 부적절한 것은?

 

① 동기식 스트림 암호는 암호화와 복호화에의 상호 동기화가 필수이다.

② 동기식 스트림 암호는 전송 도중 변조되어도 후속 암호문에 오류의 영향이 파급되지 않는다.

③ 동기식 스트림 암호는 의도적 변조가 복호화 단계에서 검출 불가하다.

④ 동기식 스트림 암호는 변조된 암호문이 후속 암호문 복호화에 사용되지 않아 오류 파급이 제한적이다.

 

자기 동기식 스트림 암호의 특징이다. ()

RC4(Rivest Cipher 4)

바이트 단위의 스트림 암호화 방식으로 평문 1바이트와 암호키 1바이트가 XOR 처리되어 암호문 1바이트를 생성한다.이 알고리즘은 랜덤 치환 사용을 기반으로 한다가장 널리 쓰이는 스트림 암호 방식이다이 방식은 웹브라우저와 서버사이의 통신의 표준으로 규정된 SSL/TLS와 무선랜 표준 IEEE 802.11 WEP(Wired Equivalent Privacy) 프로토콜에서 사용된다.

② One-Time pad

ü 동기식 스트림 암호 중에서 가장 간단하고 안전한 암호는 Gibert Vernam에 의해 설계되고 특허화된 one-time pad이다. One-time pad 암호는 암호화를 수행할 때마다 랜덤하게 선택된 키 스트림을 사용한다.

ü 해독 불가능하다는 것이 샤논(C.E Shannon)에 의해 1949년에 수학적으로 증명되었다일회용 패드는 무조건 안전하며이론적으로 해독 불가능하다고 알려져 있다.

ü 암호화 알고리즘과 복호화 알고리즘은 각각 배타적 논리합 연산을 사용한다배타적 논리합 연산의 성질에 의해 암호화 알고리즘과 복호화 알고리즘은 서로 역관계이다이 암호에서 배타적 논리합 연산이 한 번에 한 비트씩 적용된다.

 

 

③ 귀환 쉬프트 레지스터(Feedback Shift Register)

ü One-time pad의 절충안은 귀환 쉬프트 레지스터(FSR)이다. FSR은 소프트웨어와 하드웨어 환경에서 모두 구현될 수 있지만 하드웨어 구현이 더욱 용이하다.

ü 귀환 쉬프트 레지스터는 쉬프트(shift) 레지스터와 귀환(feedback) 함수로 구성된다.

 

Feedback shift register(FSR)

 

④ 선형귀환 쉬프트 레지스터(LFSR, linear feedback shift register)

ü 시프트 레지스터의 일종으로레지스터에 입력되는 값이 이전 상태값들의 선형함수로 계산되는 구조를 가지고 있다.

ü 이때 사용되는 선형함수는 주로 배타적 논리합(XOR)이다.

ü LFSR의 초기 비트값은 시드(seed)라고 부른다.

ü LFSR로 생성되는 값의 수열은 그 이전값에 의해 결정된다.

ü 레지스터가 가질수 있는 값의 개수는 유한하기 때문에이 수열은 특정한 주기에 의해 반복된다.

선형 되먹임 시프트 레지스터

 


다음은 LFSR의 동작도이다. 4비트 크기의 1100이라는 값을 3번 shift하면 어떤값이 출력되는가?

 

① 1001

② 0110

③ 1011

④ 0101

 

 ()

 

⑤ 비선형 귀환 쉬프트 레지스터(NLFSR, Nonlinear Feedback Shift Register)

ü 주로 LFSR은 선형성 때문에 공격에 취약하다. NLFSR을 이용하여 LFSR보다 안전한 스트림 암호를 설계할 수 있다.

ü 현대의 스트림 암호에서 RFID 및 스마트 카드 응용 프로그램의 구성요소이다.

 

3) 비동기식(자기 동기스트림 암호

① 개요

ü 비동기식 스트림 암호에서 키 스트림의 각 비트는 이전의 평문이나 암호문에 종속적으로 결정된다.

ü 난수열을 생성할 때 암호화 키와 함께 이전에 암호화된 문자열 일부를 사용한다따라서 암호화 문자열을 전송할 시에 일부 비트가 값이 바뀌거나혹은 비트가 사라지고 추가되는 오류가 발생하여도일부분만이 복호화에 실패하며그 이후에는 다시 정상적인 복호화 값을 얻을 수 있는 자기 동기성을 가진다.


평문과 같은 길이의 키스트림을 생성하여 평문과 키를 비트 단위로 XOR하여 암호화하는 스트림 암호는 동기적 스트림 암호와 자기동기식 스트림 암호로 분류할 수 있다지문 내용중 자기동기식 스트림 암호의 특징으로만 짝지어진 것은?

 

(암호문의 전송 도중 변경되어도 동기화가 가능

(암호화와 복호화에서 상호 동기화가 필수

(변조된 암호문으로 인한 파급이 복호화에서 제한적임

(의도적인 변조가 복호화 단계에서 검출되지 않음

 

① (), ()

② (), ()

③ (), ()

④ (), ()

 

(), (), ()는 동기식 스트림 암호의 특징이며, (), ()는 자기 동기식 스트림 암호의 특징이다. ()

 


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

02. 암호학  (0) 2017.08.02
01. 정보보호의 개요  (0) 2017.08.02

+ Recent posts