Computer >> 컴퓨터 >  >> 프로그래밍 >> 프로그래밍

DES의 핵심 구성 요소 완벽 정리

DES의 핵심 구성 요소

DES(Data Encryption Standard)는 여러 가지 중요한 요소들로 구성되어 있으며, 각 요소는 알고리즘의 보안성과 밀접한 관련이 있습니다. 아래에서 DES를 이해하는 데 필수적인 다섯 가지 핵심 요소를 자세히 살펴보겠습니다.

1. S-박스(S-Box)의 사용

DES에서 치환(substitution)에 사용되는 테이블인 S-박스는 IBM이 그 내용을 비공개로 유지해 왔습니다. IBM은 S-박스의 내부 설계를 완성하는 데 17인년(person-year) 이상이 소요되었다고 밝히고 있습니다. 이러한 비공개 정책은 S-박스 설계에 담긴 보안 지식이 외부에 노출되지 않도록 하기 위한 조치였습니다.

2. 키 길이(Key Length)

암호 시스템에는 암호화 알고리즘과 키라는 두 가지 핵심 요소가 있습니다. DES 알고리즘의 내부 동작 방식은 대중에게 완전히 공개되어 있습니다. 따라서 DES의 강도는 오직 비밀로 유지되어야 하는 키, 즉 나머지 하나의 요소에 달려 있다고 할 수 있습니다. 이것이 커르크호프스 원칙(Kerckhoffs's principle)이 실제로 적용된 대표적인 사례입니다.

3. 차분 암호 분석(Differential Cryptanalysis)

차분 암호 분석은 주로 블록 암호에 적용되지만, 스트림 암호나 암호학적 해시 함수에도 적용할 수 있는 일반적인 암호 분석 기법입니다. 넓은 의미에서 입력 데이터의 차이가 출력 결과의 차이에 어떤 영향을 미치는지를 연구하는 학문입니다.

차분 암호 분석의 주요 목표는 암호문에서 통계적 분포와 패턴을 찾아내어 해당 암호에 사용된 키에 대한 정보를 추론하는 것입니다.

또한 차분 암호 분석은 입력값의 차이와 암호화된 출력값의 차이 사이의 관계를 분석하는 암호학의 한 분야입니다. 주로 블록 암호 연구에 활용되며, 평문의 변화가 암호문에서 비무작위적인 결과를 초래하는지 판단하는 데 사용됩니다.

4. 선형 암호 분석(Linear Cryptanalysis)

선형 암호 분석은 기지 평문 공격(known-plaintext attack)의 일종입니다. 이 방법에서 공격자는 알려진 평문과 암호문의 패리티 비트를 검토함으로써 숨겨진 키의 패리티 비트에 대한 높은 확률의 근사치를 얻습니다. 보조 기법을 포함한 여러 방법을 활용하면 공격자는 이 공격을 확장하여 비밀 키의 더 많은 비트까지 찾아낼 수 있습니다.

선형 암호 분석은 크게 두 가지 요소로 구성됩니다.

  • 첫 번째 단계: 평문, 암호문, 키 비트와 관련된 선형 방정식을 만드는 것으로, 이 방정식들은 큰 편향(bias)을 가져야 합니다. 즉, 성립할 확률이 0 또는 1에 최대한 가까워야 합니다.
  • 두 번째 단계: 이러한 선형 방정식들을 알려진 평문-암호문 쌍과 함께 사용하여 키 비트를 도출하는 것입니다.

5. 타이밍 공격(Timing Attack)

타이밍 공격은 로컬 또는 원격 시스템의 취약점을 발견하여, 해당 시스템이 다양한 입력에 반응하는 응답 시간을 관찰함으로써 민감하거나 숨겨진 데이터를 추출할 수 있게 하는 보안 공격 기법입니다. 타이밍 공격은 부채널 공격(side-channel attack)이라 불리는 더 광범위한 공격 유형의 한 종류입니다.

타이밍 공격을 통해 공격자는 시스템이 여러 질의에 응답하는 데 걸리는 시간을 측정하여 보안 시스템 내부의 비밀 정보를 추출할 수 있습니다.

대표적인 예로, 코처(Kocher)는 RSA 복호화에 사용되는 숨겨진 키를 노출시키는 타이밍 공격을 설계했습니다. 당시 이러한 공격은 스마트카드와 같은 하드웨어 보안 토큰 환경에서 주로 사용되었습니다.