DES 암호화 방식의 서브키 구현 원리

2024. 4. 23. 23:32컴퓨터 보안

반응형

key의 길이가 56비트밖에 되지 않아 전수조사 공격(Brute Force Attack)에 취약

- 1998년 56시간 안에 해독하는 HW개발

- 1999년 22시간 15분 안으로 단축

==> 3중 DES 채택

하지만 다중 DES나 3중 DES는 별 차이가 없었음...

 

이것을 해결하기 위해 강력하고 효율적인 새 암호 알고리즘 공모를 열어 이전에 사용하던 암호화 방식보다 보안이 강력한 암호화 방식을 채택하고자 하였습니다. 해당 공모에는 여러 가지 조건이 있었는데,

1. 알고리즘이 공개적으로 밝혀져야 했다고합니다.

2. 128/192/264비트의 세 가지 키를 가져야 합니다.

3. 호환성이 뛰어나야 함

이 공모를 통해서 채택된 암호화 방식이 AES 암호화 방식입니다.

AES 방식은 10, 12, 14번 돌릴 수 있다고 합니다.

처음에는 사람들이 AES 방식을 많이 돌릴수록 보안이 뛰어날 줄 알았는데 컴퓨터 보안에서는 어느 순간을 넘어가면 비슷하다는 것을 알게 되었습니다.

 

 

 

Shift 연산:  56비트 키를 두 개의 28비트로 나눈 후, 각 반을 왼쪽으로 순환 시프트합니다.

Shift 연산은 DES의 보안성을 강화하는 데 기여합니다.

 

Compress 방식은 보통 암축 함수로 언급되며, 주로 초기 키와 관련된 작업을 수행합니다. 이 방식은 DES의 보안을 강화하고, 키의 다양성을 보장하는 중요한 역할을 하고 있습니다.

DES 서브키를 생성 데는 여러 순서가 존재합니다.

초기 순열 (Initial Permutation, IP)

  • DES 알고리즘의 첫 번째 단계로, 입력 데이터의 비트를 재배열하여 확산(diffusion)과 혼란(confusion)을 도입합니다.
  • 초기 순열은 고정되어 있으며, 각 데이터 블록이 동일한 프로세스를 거치도록 보장합니다.

2. 키 생성 (Key Generation)

  • 실제 암호화 과정이 시작되기 전에 56비트 키를 생성해야 합니다.
  • 키 생성 과정에는 패리티 드롭, 압축 순열, 그리고 왼쪽 순환 시프트가 포함됩니다.
  • 최종적으로 16개의 서브키가 생성됩니다.

3. Feistel 네트워크

  • DES 알고리즘의 핵심은 Feistel 네트워크입니다.
  • 이 네트워크는 실제 암호화 및 복호화 과정을 담당합니다.
  • Feistel 네트워크는 16개의 라운드로 구성되어 있으며, 각 라운드에서 순열과 치환 연산을 조합합니다.
    • 각 라운드에서 64비트 데이터 블록을 두 개의 32비트 반으로 나눕니다 (왼쪽: L, 오른쪽: R).
    • 오른쪽 반은 확장 순열을 사용하여 48비트로 확장하고, 현재 라운드의 서브키와 비트별 XOR 연산을 수행합니다.
    • 결과는 S-박스를 통해 치환되며, S-박스는 비선형 치환을 수행합니다.
    • 왼쪽과 오른쪽 반을 교환하고 다음 라운드를 위해 반복합니다.

4. 최종 순열 (Final Permutation, FP)

  • Feistel 네트워크의 16개 라운드 후에 데이터에 최종 순열이 적용됩니다.
  • 이는 초기 순열의 역입니다.
  • DES 알고리즘의 첫 번째 단계로, 입력 데이터의 비트를 재배열하여 확산과 혼란을 도입합니다.

 

 

Q1. 전수조사 공격(Brute Force Attack) 이란?

=> 암호를 풀기 위해 가능한 모든 값을 대입하는 공격 방법입니다. 이 공격은 다양한 암호화된 데이터, 비밀번호, 로그인 자격 증명 및 암호화 키를 시도하며, 올바른 값을 찾을 때까지 시스템적으로 모든 가능한 조합을 확인합니다.

 

Q2. 키의 길이가 56bit일 때 전수조사 공격에 취약한 이유는?

  • 키 공간의 크기: DES 암호화에서 사용되는 키의 길이가 56비트입니다. 이는 총 72조 개의 가능한 키를 의미합니다.
  • 전수조사 공격: 전수조사 공격은 가능한 모든 키 조합을 시도하여 올바른 키를 찾는 방법입니다. 키의 길이가 짧을수록 전수조사 공격이 더 쉽게 가능합니다.
  • 효율성: 56비트 키를 모두 시도하는 것은 시간과 자원이 많이 소요됩니다. 
  • 암호화 보안성: 56비트 키는 현대의 컴퓨팅 능력을 고려할 때 취약합니다.
반응형

'컴퓨터 보안' 카테고리의 다른 글

대칭 암호화의 한계점  (2) 2024.06.12
암호화 기법  (0) 2024.04.10
DES 암호 기법  (0) 2024.04.03