상세 컨텐츠

본문 제목

블록 암호화와 운용방식

보안

by MustThanks 2020. 8. 5. 13:01

본문

반응형

블록 암호화와 운용방식

    블록 암호화란 
    
     * 평문을 고정된 크기의 블록 단위로 구성하여 암호화 작업을 하는 대칭키 암호화 방식
     * 평문의 반복되는 회전 함수로 회전함수의 입력값은 Key 와 이전회전된 결과물이 사용된다.
     * 특정한 길이의 블록단위로 동작하기 때문에 가변 길이 데이터를 암호화 하기 위해서는 
       이들을 블록 단위로 나누어 처리야해 한다.
     * 블록들을 어떻게 암호화 할지 정하는 것은 운영방식이라 칭한다.


     * 전자북코드(electronic codebook ,ECB)
        - 블록 암호화 방식중 가장 간단한 구조
        - 암호화 하려는 메세지를 여러개의 블록으로 나누어 암호화하는 방식

        = 모든 블럭이 하나의 암호화 키를 사용하므로 반복 공격에 취약

        . 하나의 블록만 해독되도 모든 블락을 해독할 수 있음
        . 복호화 후 평문을 알기 위해서는 Padding이 필요
        . 각 블록이 독립적이므로 블록의 오류가 다른 블록에 영향이 없음

 

       



     * 암호블록 체인 방식(cipher-block channing , CBC)  
        - 블록들은 암호화되기 이전에 이전 블록 암호화 결과와 XOR 된다
        - 첫 번째 블럭의 경우 최기화 백터를 사용한다.

        = 암호시 마다 다른 초기화 백터를 사용하는 것이 좋음
        = 암호화 결과가 이전 암호결과에 의존하므로 병렬적으로 처리가 어려움
        = 복호화의 경우 각 블록을 복호화 한 이후 이전 암호 블록과 XOR를 하는 병렬처리가 가능

        . 초기화 백터 (IV) 사용
        . 블록 암호화 방식중 보안강도가 높아 널리사용
        . 블럭의 오류가 발생하면 다른 블럭에도 오류를 주는 sife effect가 있음

 

     

 



    * 증식적 암호 블록 체인 방식(propagating cipher block changing PCBC)

 

 


    * 암호 피드백(cipher feedback CFB)
         - 암호 피드백은 CBC 의 변형
         - 블럭 암호화를 자기 동기 스트림 암호로 변환

         = 초기백터 값과 key를 이용하여 암호화 하고  암호화된 값과 평문을 XOR 하여 암호문을 생성
         = 생성한 암호문과 다시 key를 이용하여 나온 결과에 평문을 입력하여 암호문을 생성
         = 완료되기 전가지 위의 내용을 반복적으로 진행


         . 블록 암호화 알고리즘에 따라 shift 연상을 사용하는 경우도 있음
         . shift 되는 비트의 양에 따라서 CFB-8 , CFB-1 이라 하며
         . 암복호화 연산의 Round 마다 IV로 부터 shift 된 값을 사용

 


    * 출력 피드백 (output feedback)
        - 블록 암호화를 동기식 스트림 암호로 변환
        - XOR 의 대칭 성질을 이용한 암호화 방식이라 암호화와 복호화 방식이 동일



    * 카운터 (Counter CTR)
        - 블록 암호를 스트림 암호로 변환하는 구조를 가짐
        - 카운터 방식에서는 각 블럭마다 현재의 블럭이 몇 번째인지 값을 가지고와 그숫자와 Nonce를 결합하여 
          블록 암호화의 입력으로 사용
        - 각 블럭 암호에서 연속적인 난수를 얻어 암호화하려는 문자열과 XOR을 진행
        - 카운터 모드는 각블럭의 암호호와 복호화가 이전 블록에 의존하지 않아 병렬적으로 동작이 가능
        - 문자열에서 원하는 부분만 복호화 하는 것도 가능


       . CTR은 스트림 암호화 일종
       . 암복호가 같응 구조로 구현이 간단

 

이미지 출처
  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#%EC%A0%84%EC%9E%90_%EC%BD%94%EB%93%9C%EB%B6%81_(ECB)

관련글 더보기

댓글 영역