[정보보안] 6. 현대 암호

2021. 10. 25. 16:07Computer Sciences/Security

1. 현대 암호의 방식

블록 암호

  • 특정 비트 수의 블록을 한 번에 처리하는 암호 알고리즘이다.
  • 블록의 비트 수를 블록 길이(block length)라고 한다.
    • DES, 트리플 DES - 64비트
    • DES - 64비트 평문, 64비트 암호문
    • AES - 128비트, 192비트, 256비트
  • 암호화, 복호화 시 같은 1개의 키 사용(비밀 키 또는 대칭 키라고 부름)

스트림 암호

  • 데이터의 흐름(스트림)을 순차적으로 처리해 나가는 암호 알고리즘이다.
  • 1비트, 8비트, 32비트, 64비트 등의 단위 등으로 암호화와 복호화를 수행한다.
  • 암호화와 복호화 시 키가 다르다. 즉 2개의 키를 사용한다.
    • 그래서 스트림 암호의 키를 다중 키 또는 비대칭 키라고 부른다.

2. 블록 암호 기법의 종류

  • ECB
  • CBC
  • CFB
  • OFB

ECB(Electric CodeBook mode)

평문 블록을 암호화 한 것이 그대로 암호문이 되는 방식이다.

  • 암호문 속에 일정한 패턴이 있어 암호 해독이 쉽다. 즉 기밀성이 낮다.
  • 공격자는 암호문의 일부를 해독하지 않아도 평문을 알 수 있다.
  • 장점
    • 간단하고 고속이다.
    • 병렬 처리가 가능하다(암호화, 복호화 모두).
  • 단점
    • 평문 속의 반복이 암호문에 반영된다.
    • 암호문 블록의 삭제나 교체에 의한 평문의 조작이 가능하다.
    • 비트 단위의 에러가 있는 암호문을 복호화하면, 대응하는 블록 또한 에러가 있다.
    • 재전송 공격이 가능하다.

→ 사용해서는 안된다.

CBC(Cipher Block Chaining mode)

1단계 앞에서 수행되어 결과로 출력된 암호문 블록에 평문 블록을 XOR하고 나서 암호화를 수행하는 방식이다.

  • 맨 처음 수행하는 암호문 블록은 초기화 벡터(Initialization vector, IV)를 사용한다.
  • 암호문 블록에서 비트 누락이 생기면 그 이후의 평문 블록 전체에 영향을 미치게 된다.

  • 장점
    • 평문의 반복은 암호문에 반영되지 않는다.
    • 병렬 처리가 가능하다(복호화만).
    • 임의의 암호문 블록을 복호화할 수 있다.
  • 단점
    • 비트 단위의 에러가 있는 암호문을 복호화하면 1블록 전체와 다음 블록에 대응하는 비트가 에러가 된다.
    • 암호화에서는 병렬 처리를 할 수 없다.

→ 권장되는 방식이다.

CFB(Cipher-FeedBack mode)

1단계 앞에 암호문 블록을 암호 알고리즘의 입력으로 사용하는 방식이다.

  • 맨 처음 수행하는 암호문 블록은 초기화 벡터(Initialization vector, IV)를 사용한다.
  • 여기서 암호 알고리즘이 생성하는 비트열을 '키 스트림'이라고 한다.

  • 장점
    • 패딩이 필요 없다.
    • 병렬 처리가 가능하다(복호화만).
    • 임의의 암호문 블록을 복호화할 수 있다.
  • 단점
    • 암호화에서는 병렬 처리를 할 수 없다.
    • 비트 단위의 에러가 있는 암호문을 복호화하면 1블록 전체와 다음 블록에 대응하는 비트가 에러가 된다.
    • 재전송 공격이 가능하다.

→ 현재는 사용하지 않는다. CTR 모드를 사용하는 편이 낫다.

OFB(Output-FeedBack mode)

1단계의 암호 알고리즘의 출력을 암호 알고리즘의 입력으로 피드백하는 방식이다.

  • 장점
    • 패딩이 필요 없다.
    • 암호화, 복호화의 사전 준비를 할 수 있다.
    • 암호화 복호화가 같은 구조를 하고 있다.
    • 비트 단위의 에러가 있는 암호문을 복호화하면, 평문에 대응하는 비트만 에러가 된다.
  • 단점
    • 병렬 처리가 안된다.
    • 적극적 공격자가 암호문 블록의 비트를 반전시키면 대응하는 평문 블록의 비트가 반전된다.

→ CTR 모드를 사용하는 편이 낫다.

'Computer Sciences > Security' 카테고리의 다른 글

[정보보안] 8. AES  (0) 2021.10.25
[정보보안] 7. 블록 암호 - DES  (0) 2021.10.25
[정보보안] 5. 접근 제어  (0) 2021.10.25
[정보보안] 4. 난수  (0) 2021.10.25
[정보보안] 3. 그 외에 암호 방식  (0) 2021.10.25