본문 바로가기
IT 이론/정보보호

대칭키 암호화 : 블록암호와 스트림암호

by 지식id 2018. 3. 18.
반응형

1. 블록 암호(Block Cipher)


특정 비트 묶음을 기준으로 전치, 또는 치환을 하여 암호를 만들어낸다.


  (1) P-박스(transPostion-Box)

   전치(transposition)를 수행하는 모듈이다. 특정 블록에서 비트들끼리의 순서를 뒤바꾼다.


  (2) S-박스(Substitution-Box)

    치환(substitution)을 수행하는 모듈이다. 특정 블록에서 비트들을 다른 비트들로 치환한다.


  (3) Confusion 과 Diffusion

    암호 알고리즘의 성질이자 조건(요구사항)이다.

    - 혼란(confusion) : 암호문과 키의 관계를 숨김

    - 흐림(diffusion) : 암호문과 평문의 관계를 숨김


  (4) 합성 암호

P-박스와 S-박스 등을 적절히 조합하여 Confusion과 Diffusion을 만족시키는 것이다.

    - 페이스텔 구조

    - SPN 구조


  (5) 암호모드

    - ECB(Electric Codebook) 모드

    - CBC(Cipher Block Chaining) 모드

    - CFB(Cipher Feedback) 모드

    - OFB(Output Feedback) 모드

    - CTR(Counter) 모드


2. 스트림 암호


특정 비트 단위로 순차적으로 암호화환다. 블록암호가 특정 비트 묶음을 단위로 순서 없이 병렬적으로 암호화 된다면, 스트림 암호는 처음부터 끝까지 순차적인 암호화가 이루어진다.


 (1) 동기식 스트림 암호

   - One-Time Pad : 일회용 랜덤 키스트림을 이용한다. 해독 불가능하다는 것이 수학적으로 증명되었다.  그러나 이론적으로 메세지 길이만큼의 암호키가 필요하기에 실용적이지 않다.

   - FSR : Feedback Shift Register 

   - LFSR : Linear Feedback Shift Register

   - NLFSR : Non-Linear Feedback Shift Register : LFSR의 선형성 취약점을 보완하기 위한 비선형 Register이다.

   - 특징

    1) 스트림 암호의 난수열을 암호화할 입력값과 독립적으로 생성

    2) 암호화와 복호화에서 상호 동기화 필수

    3) 전송 도중 변조되어도 후속 암호문에 오류 파급 없음

    4) 복호화 단계에서 의도적인 변조 검출 불가


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

    1) 암호문이 전송 도중 변경되어도 자기 동기화 가능

    2) 변조된 암호문이 후속 복호화에 사용되지 않아 오류 파급이 제한적

    3) 입력값이 난수열 생성에 영향을 끼치지 않음


반응형

댓글