암호학/암호학 둘러보기

[암호학 둘러보기](4)[DES 2]

황올뱀 2025. 1. 20. 16:11

DES: 라운드가 16개고, 64비트 블록 단위, 마스터키도 64비트의 알고리즘

  • 키 생성 알고리즘
    회전 시프트: 틈만 나면 회전 시프트를 한다...
    패리티 드롭:실제로는 패리티 비트 등의 검수용 비트가 들어있어 64비트가 아닌 56비트에 대해 암호화를 수행한다. 따라서 마스터키도 일부 8비트를 무시해 56비트가 된다
    압축: 비트 수를 줄이는 방법. 일부 비트값이 빠져있는 테이블을 통해 줄인다. (여기서는 56비트를 더 줄여 48비트로 만드는데 사용)
  • 암호화
    각 라운드마다
    L(i) = R(i-1)
    R(i) = (L(i-1)) XOR f(R(i-1), K(i))
    를 반복한다.
  • 복호화
    단순히 암호화의 역 과정이다.
  • DES에 대한 공격
    브루트 포스: 가능한 모든 키에 대해 무차별적으로 대입하기
        마스터키가 56비트이므로 2^56 번 대입하면 알 수 있다. 만약 GPU같은 프로세서를 쓴다면 몇 분 안에 풀어낼 수 있다.
  • 선형 암호 분석
        입력과 출력 사이에 선형 관계를 파악해 키나 평문을 알아냄.
        잘 알려진 사례를 통해 분석한다.
        항상 성공한다는 보장은 없나, 효과는 있다
  • 차분 암호 분석
        입력 여러개를 넣어 입력 변화에 따른 출력의 변화를 통해 키나 평문을 알아냄.
        일반적인 평문을 가지고 시작한다
            예) 000000, 11111, 0101010 등 특수 경우

3DES: 키의 길이가 너무 짧아 보안성이 낮은 DES의 업그레이드 버전
    DES와 거의 비슷하나 키가 3개로, 알고리즘을 3번 수행한다.
    K1로 암호화 -> K2로 복호화 -> K3로 다시 암호화

 

DESX: DES에서 키 보안을 업그레이드한 버전
    3DES와 마찬가지로 키가 3개이다.
    메세지 XOR K2 -> 결과를 키 K1으로 DES암호화 -> 암호화 한 것 XOR K3
    결국 결과적으로 DES의 키를 64+56+64 = 184 비트로 확장시킨 것과 동일한 효과를 얻을 수 있다.

728x90
반응형