[보안] Block Cipher mode

양현지·2023년 4월 23일
2

Security

목록 보기
4/14

1. Various Modes

  • block cipher 운영 방식

1) ECB

  • Electronic code book

  • 각 block을 독립적으로 암호화

    P1 => Ek => C1
    P2 => Ek => C2
    ...
    Pn => Ek => Cn

    => Plaintext block이 동일하면 cipher block도 동일함
    => 'same plaintext yields same ciphertext!'

2) CBC

  • cipher block chaining
  • ECB의 단점(같은 plaintext block은 같은 cipher text를 가짐)을 극복하고자 암호화 블록이 서로 연결됨
    CBC mode
  • 이전 암호블록이 Plaintext 블록과 xor 연산을 한 후 Encrypt.
  • 첫 번째 Plaintext 블록은 IV와 xor 연산

3) CTR

  • counter mode

    O : offset
    RiR_{i} = EkE_{k}(i+O)
    CiC_{i} = PiP_{i}RiR_{i}

    -> plain text가 암호화 되는 것은 아님.
    -> counter를 통해 block의 위치 파악 가능
    -> 병렬 처리 가능 (각 block이 independant 하므로)

4) CFB

  • cipher feedback mode

    CiC_{i} = PiP_{i}EKE_{K}(Ci1C_{i-1})

5) OFB

  • output feedback mode

    R0R_{0} = 0
    RiR_{i} = EkE_{k}(Ri1R_{i-1})
    CiC_{i} = PiP_{i}RiR_{i}

6) GCM

  • Galois Counter mode

  • AEAD (Authenticated Encrytion with Associated Data)
    암호화와 인증을 둘 다 제공

  • CTR 모드로 암호화 하면서 cipher text에 MAC을 추가하여 Authentication 수행
    업로드중..

    IV : Initial vector
    Key : 대칭키로 암호화/복호화에 동일한 Key를 사용
    Authentication Tag : Cipher Text의 무결성을 검증
    AD(Auth Data) : 암호화 되는 것은 아니나 Authentication Tag를 생성하는 데 사용

0개의 댓글

관련 채용 정보