DES(Data Encryption Standard, 데이터 암호화 표준)는 오랫동안 널리 사용되어 온 블록 암호 알고리즘이지만, 다양한 암호 분석 공격에 노출되어 왔습니다. DES를 겨냥한 대표적인 공격 기법으로는 차분 암호 분석, 관련 키 암호 분석, 선형 암호 분석, 그리고 무차별 대입 공격이 있습니다.
1. 차분 암호 분석 (Differential Cryptanalysis)
차분 암호 분석의 핵심 목표는 암호문에서 나타나는 통계적 분포와 패턴을 관찰하여, 해당 암호에 사용된 키에 대한 단서를 도출하는 것입니다.
차분 암호 분석은 입력값의 차이와 이에 대응하는 암호화된 출력값의 차이를 비교하는 암호학의 한 연구 분야입니다. 주로 블록 암호 연구에 활용되며, 평문의 변화가 암호문에 비정상적(non-random)인 결과를 유발하는지 여부를 판단하는 데 사용됩니다.
2. 관련 키 암호 분석 (Related-Key Cryptanalysis)
관련 키 암호 분석은 공격자가 원래의 미지 키 K뿐만 아니라, K에서 파생된 키 K₀ = f(K)로 암호화된 특정 평문들까지 알고 있다고 가정합니다.
선택 관련 키 공격(chosen-related key attack)에서는 공격자가 키를 어떻게 변경할지 직접 지정할 수 있으며, 알려진 관련 키 공격(known-related key attack)에서는 키 간의 차이는 알 수 있지만 공격자가 임의로 선택할 수는 없습니다. 즉, 공격자는 실제 키 값 자체가 아니라 키들 사이의 관계를 알거나 선택할 수 있다는 점이 중요합니다.
관련 키 암호 분석은 키 무결성(key integrity)을 보장하지 않는 키 교환 프로토콜에 대한 현실적인 위협입니다. 예를 들어, 공격자가 키 값을 몰라도 키의 일부 비트를 조작할 수 있으며, K, K+1, K+2처럼 알려진 규칙에 따라 키를 갱신하는 키 업데이트 프로토콜 역시 공격 대상이 될 수 있습니다. 과거에는 로터(rotor) 장치에서 운용자가 로터를 잘못 설정하는 경우에도 이러한 공격이 활용된 바 있습니다.
3. 선형 암호 분석 (Linear Cryptanalysis)
선형 암호 분석은 암호 함수에 대한 아핀(affine) 근사식을 찾아내는 데 기반한 일반적인 암호 분석 기법으로, 블록 암호와 스트림 암호 모두에 적용된 공격 사례가 존재합니다. 선형 암호 분석과 차분 암호 분석은 블록 암호에 가장 널리 사용되는 두 가지 공격 방법입니다.
선형 근사 방정식은 최적의 (n-2) 라운드 식에 기반하며, 이 방정식들로부터 도출된 후보 키의 신뢰성을 평가하게 됩니다. 필요한 평문의 수를 줄이는 방법과 공격의 성공률을 높이는 방법을 함께 적용하면 공격 효율을 크게 향상시킬 수 있습니다.
4. 무차별 대입 공격 (Brute Force Attack)
암호 분석에서 무차별 대입 공격(brute force attack)은 가능한 모든 경우의 수를 시도함으로써 암호 체계를 무력화하는 방법입니다. 대표적인 예로, 메시지를 해독하기 위해 가능한 모든 키를 하나씩 전수적으로 시도하는 방식이 있습니다. 따라서 무차별 대입 공격의 실현 가능성을 고려해 적절한 키 길이를 선택하는 것이 매우 중요합니다.
대칭키 암호에서 무차별 대입 공격은 일반적으로 키 공간(key space)에 대한 전수 탐색을 의미합니다. 즉, 특정 암호문을 생성하는 데 사용된 평문을 찾기 위해 가능한 모든 키를 검사하는 것입니다.
무차별 대입 공격에서 올바른 키를 발견하기까지 필요한 시도 횟수의 기대값은 키 공간 크기의 절반 정도입니다. 예를 들어, 가능한 키가 2⁶⁴개라면 평균적으로 2⁶³번의 시도 후에 올바른 키를 찾을 수 있습니다.
또한 키가 취약한 방식으로 생성된 경우, 예컨대 추측 가능한 비밀번호에서 파생된 키라면, 전체 키 공간이 아닌 훨씬 작은 집합(예: 사전에 등재된 비밀번호로부터 생성된 키들)만을 탐색하는 것으로도 충분히 공격이 성공할 수 있습니다.