DOI QR코드

DOI QR Code

Improved Differential-Linear Cryptanalysis Using DLCT

DLCT를 활용한 향상된 차분선형 분석

  • Received : 2018.10.05
  • Accepted : 2018.11.14
  • Published : 2018.12.31

Abstract

The complexity of the differential-linear cryptanalysis is strongly influenced by the probability of the differential-linear characteristic computed under the assumption of round independence, linear approximation independence, and uniformity for the trail that does not satisfy differential trail. Therefore, computing the exact probability of the differential-linear characteristic is a very important issue related to the validity of the attack. In this paper, we propose a new concept called DLCT(Differential-Linear Connectivity Table) for the differential-linear cryptanalysis. Additionally, we propose an improved probability computation technique of differential-linear characteristic by applying DLCT. By doing so, we were able to weaken linear approximation independence assumption. We reanalyzed the previous results by applying DLCT to DES and SERPENT. The probability of 7-round differential-linear characteristic of DES is $1/2+2^{-5.81}$, the probability of 9-round differential-linear characteristic of SERPENT is computed again to $1/2+2^{-57.9}$, and data complexity required for the attack is reduced by $2^{0.2}$ and $2^{2.2}$ times, respectively.

차분선형 분석의 복잡도는 라운드 독립성, 선형 근사식 독립성, 차분 경로를 만족하지 못하는 경로에 대한 균일성 가정 아래 계산되는 차분선형 특성의 확률에 큰 영향을 받는다. 따라서 차분선형 특성의 정확한 확률을 계산하는 것은 공격의 유효성과 관련된 매우 중요한 문제이다. 본 논문은 차분선형 분석을 위한 새로운 개념 DLCT(Differential-Linear Connectivity Table)를 제안한다. 그리고 DLCT를 적용하여 선형 근사식 독립성 가정을 완화할 수 있는 차분선형 특성의 향상된 확률 계산 방법을 제안하며, DES와 SERPENT에 적용하여 기존 분석결과를 재분석한다. DES의 7-라운드 차분선형 특성의 확률은 $1/2+2^{-5.81}$, SERPENT의 9-라운드 차분선형 특성의 확률은 $1/2+2^{-57.9}$로 다시 계산되었고 공격에 필요한 데이터 복잡도는 각각 $2^{0.2}$, $2^{2.2}$배 감소한다.

Keywords

I. 서론

1.1 개요

차분 분석(differential cryptanalysis)은 평문의 차분이 암호화가 진행되면서 암호문의 차분에 어떠한 영향을 미치는지 분석하는 암호 분석 기법으로, Biham과 Shamir에 의해 1990년 처음 소개되었다[1]. 선형 분석(linear cryptanalysis)은 평문과 암호문, 그리고 키 사이의 관계를 선형 식으로 근사시켜서 분석하는 암호 분석 기법으로 Matsui에 의해 1992년 처음 소개되었다[2]. 차분 분석은 한 라운드 또는 그 이상의 라운드의 차분 특성(differential characteristic)을 사용하여 암호 분석이 진행되며, 선형 분석의 경우에는 선형 근사(linear approximation) 를 사용하여 암호 분석을 진행한다.

차분 특성 및 선형 근사는 일정 라운드 이상으로 길게 구성할 경우, 해당 특성을 만족할 확률이 매우 낮아지기 때문에 분석에 사용할 수 없게 된다. 따라서 1994년 Langford와 Hellman은 확률 1인 3-라운드 (부정) 차분 특성과 확률이 가장 좋은 3-라운드 선형 근사를 연결하여 6-라운드의 특성을 구성 하는 차분선형 분석 기법을 제안했다[3].

차분선형 분석 기법이 제안된 후, Biham 등은 2002년에 확장된 차분선형 분석 기법을 제안했다[4]. Langford와 Hellman은 확률 1의 (부정) 차분 특성을 사용하였지만 Biham 등은 확률이 1보다 작아지는 (부정) 차분 특성에 대해서도 동일하게 차분선형 특성을 구성할 수 있음을 보였다. Biham 등은 확률이 1보다 작은 4-라운드 (부정) 차분 특성을 사용하여 DES[5]에 대한 분석결과를 제시했고,[6]에서는 SERPENT[7]에 대한 차분선형 분석결과를 제시하였다.

2015년에는 Jiqiang Lu가 자동화 탐색 기법을 사용하여 전체 차분 특성을 탐색하고 Biham 등이 사용했던 확장된 차분선형 특성의 확률 계산에 필요한 가정을 완화했다. 그리고 이를 DES에 적용하여 Biham 등의 결과보다 더 긴 라운드의 차분선형 특성을 구성하였다[8]. 차분선형 분석은 소개된 이후에 다양한 암호들에 대한 적용이 이루어지고 있으며, 더 높은 확률을 갖는 차분선형 특성을 구성하기 위한 연구가 이루어지고 있다.

차분선형 분석과 유사한 개념으로 1999년 David Wagner에 의해 제안된 부메랑 공격(boomerang attack)이 있다[9]. 부메랑 공격은 좋은 확률을 갖는 짧은 라운드의 차분 특성을 독립적으로 연결하여긴 라운드의 쿼텟(quartet)을 구성하여 공격하는 기법이다. 부메랑 공격은 제안된 이후, 지속적으로 연구되어 확장된 부메랑 공격(amplified boomerang attack)[10], 렉탱글 공격(rectangle attack)[11]으로 발전되어 왔다. 또한, 높은 확률을 갖는 쿼텟 구성을 위해 Ladder Switch, S-box Switch, Feistel Switch 등의 기법이 제안되었다[12, 13]. 부메랑 공격은 기본적으로 두 차분 특성이 독립적이라는 가정아래 쿼텟이 구성된다. 그러나 실제로는 두 특성이 독립적이지 않으므로 꾸준히 쿼텟의 존재성에 대한 문제가 지적되어왔다[14]. 2018년 Carlos Cid 등은 부메랑 쿼텟 분석 도구인 BCT(Boomerang Connectivity Table)를 제안하였고 이를 통해 쿼텟의 존재성 문제를 해결하였다. 또한, S-box Switch 기법에서 S-box 입력 값들의 상호 종속성으로 인해 발생하는 일반화된 스위칭 효과(generalized switching effect)를 제안하여 쿼텟의 확률을 개선 시켰다[15].

차분선형 분석도 마찬가지로 차분 특성과 선형 특성이 완전히 독립적으로 구성된다고 볼 수 없으므로 유사한 문제들을 가질 수 있다. 일반적으로 차분선형 분석 기법은 차분선형 특성을 구성하고 특성이 가지는 확률을 계산하여 공격의 복잡도를 결정한다. 따라서 확률을 정확하게 계산하는 것은 실제 공격의 유효성과 관련된 중요한 문제이다. 그러나 기존에 제안된 확률 계산 방법은 실제 분석에서 만족하지 못하는 몇 가지 독립성 가정들을 요구하기 때문에 계산된 확률이 실제 확률과 차이가 생길 수 있다. 따라서 가정을 완화 하여 확률 계산을 할 수 있다면 기존의 결과보다 더 정확한 안전성 분석이 가능하다.

이를 위해 본 논문은 DLCT(Differential-Linear Connectivity Table)를 제안하며, DLCT를 적용한 새로운 특성의 확률 계산 방법을 제안한다. 제안하는 방법은 차분의 균일 분포(uniform distribution) 가정을 사용하여 일반화될 수 있으며, 균일 분포 가정을 사용하지 않는다면 실험적인 결과를 바탕으로 차분선형 특성의 확률을 계산할 수 있다. 균일 분포 가정에서 벗어날수록 더 정확한 확률을 계산할 수 있다. 이 방법을 실제로 Biham 등이 제안한 DES의 7-라운드 차분선형 특성과 SERPENT의 9-라운드 차분선형 특성에 적용하여 확률을 다시 계산한다. DES의경우 확률이 1/2+2-5.81으로 계산되었고 기존 분석 결과와 비교하여 데이터 복잡도가 약 20.2배 감소한다. SERPENT의 경우 확률이 1/2+2-57.9로 계산되었고 기존 분석결과와 비교하여 데이터 복잡도는약 22.2배 감소한다.

본 논문은 다음과 같이 구성된다. 2장에서는 차분 선형 분석에 대해 자세히 설명하고 세 가지 가정을 설명한다. 3장에서는 DLCT를 정의하고 DLCT를 사용한 차분선형 특성 확률 계산 방법을 제안한다. 4장에서는 제안한 방법을 DES와 SERPENT에 적용 하여 차분선형 특성의 확률을 다시 계산한 결과를 제시한다. 마지막으로 5장에서는 결론과 향후 연구 방향을 서술한다.

II. 배경지식

본 논문에서 사용하는 표기법은 다음과 같다.

- ⊕ : 배타적 논리합(exclusive-OR, XOR)

- ⊙ : 내적(boolean inner product)

- ∘ : 합성 함수(function composition)

- E : 블록 암호(block cipher)

- ΩP : 입력 차분(input difference)

- ΩT : 출력 차분(output difference)

- λP : 입력 마스크(input mask)

- λT : 출력 마스크(output mask)

2.1 차분 분석(Differential Cryptanalysis)

차분 분석은 1990년 Biham과 Shamir에 의해 처음 소개된 블록암호 분석 기법으로, 평문 쌍의 차분이 해당 암호문 쌍의 차분에 어떤 영향을 미치는지를 분석하는 기법이다[1]. 차분은 다양한 방법으로 정의될 수 있지만 일반적으로 배타적 논리합(XOR) 연산으로 정의되며, 입력 값인 평문 쌍의 차분을 입력 차분 그리고 출력 값인 암호문 쌍의 차분을 출력 차분이라고 부른다. 입력 차분과 출력 차분의 조합을 디퍼렌셜(differential)이라고 정의한다. 디퍼렌셜의 확률은 다음과 같이 정의된다.

정의 1. n-비트 차분 ΩP, ΩT에 대해 디퍼렌셜 ΩP→ ΩT의 확률은 다음과 같다.

\(\begin{aligned} &\operatorname{Pr}_{E}\left(\Omega_{P} \rightarrow \Omega_{T}\right)=\operatorname{Pr}_{P \in\{0,1\}^{n}}\left(E(P) \oplus E\left(P \oplus \Omega_{P}\right)=\Omega_{T}\right) \\ &=\frac{\left|\left\{x \mid E(x) \oplus E\left(x \oplus \Omega_{P}\right)=\Omega_{T}, x \in\{0,1\}^{n}\right\}\right|}{2^{n}} \end{aligned}\)

또한, 차분 특성(differential characteristic) 또는 차분 경로(differential trail)는 다음과 같이 정의한다.

정의 2. r-라운드 블록 암호에 대한 입, 출력 차분을 ΩP, ΩT, 각 라운드 함수를 \(f_{k_{i}}\) , i(2≤i≤r-1)-라운드 입, 출력 차분을 αi -1, αi이라고 할 때, 다음을 차분 특성 또는 차분 경로라고 정의한다.

\(D C=\left(\Omega_{P} \stackrel{f_{k_{1}}}{\longrightarrow} \alpha_{1} \stackrel{f_{k_{2}}}{\longrightarrow} \alpha_{2} \stackrel{f_{k_{3}}}{\longrightarrow} \ldots \alpha_{r-2} \stackrel{f_{k_{r-1}}}{\longrightarrow} \Omega_{T}\right)\)

임의 함수(random function)의 경우, 임의의 디퍼렌셜 (ΩPT)에 대한 확률은 2-n이다. 따라서 PrEP→ ΩT)가 2-n보다 크다면 충분한 수의 선택 평문 쌍을 사용하여 임의 함수와 E를 구별할 수 있다.

2.2 선형 분석(Linear Cryptanalysis)

선형 분석은 1992년 Matsui에 의해 제안된 분석 기법으로, 평문과 암호문, 그리고 키 사이의 관계를 선형 함수로 근사시켜서 분석하는 기법이다[2]. 선형 분석은 블록 암호의 입력의 특정 선형 함수와 출력의 특정 선형 함수 간의 상관관계를 이용한다. 두 선형 함수의 조합을 선형 근사(linear approximation) 라고 한다. 가장 널리 사용되는 선형 함수는 특정 이진 벡터(binary vector)를 사용하여 블록의 비트 값들의 내적을 계산하는 것이다. 입력과 결합 된 값을 입력 마스크라고 하며, 출력에 적용된 값을 출력 마스크라고 한다. 선형 근사의 확률은 다음과 같이 정의된다.

정의 3. n-비트 입, 출력 마스크 λPT에 대해 선형 근사의 확률은 다음과 같다.

\(\begin{aligned} &\operatorname{Pr}_{E}\left(\lambda_{P} \rightarrow \lambda_{T}\right)=\operatorname{Pr}_{P \in\{0,1\}^{n}}\left(P \odot \lambda_{P}=E(P) \odot \lambda_{T}\right) \\ &=\frac{\left|\left\{x \mid x \odot \lambda_{P}=E(x) \odot \lambda_{T}, x \in\{0,1\}^{n}\right\}\right|}{2^{n}} \end{aligned}\)

임의 함수의 경우, 임의의 쌍 (λPT)에 대해 선형 근사의 예상 확률은 1/2이다. 선형 근사의 바이어스(bias)는 |PrEP→ λT) -1/2| 로 정의된다.

따라서 바이어스가 충분히 클 경우, 충분한 수의 평문, 암호문 쌍이 주어 지면 임의 함수와 E를 구별할수 있다.

정의 1과 2는 가능한 모든 평문과 키의 조합을 사용해야만 정확한 값을 구할 수 있다. 그러나 실제 널리 사용되고 있는 64-비트 또는 128-비트의 큰 블록 크기를 갖는 블록 암호에 적용하기는 어렵다.

따라서 실제 확률이 아닌 확률의 근사값을 계산하여 사용하게 된다. 일반적으로 다음 가정 1을 사용하여 반복 블록 암호를 마코브 블록 암호(markov block cipher)로 간주하여 확률을 계산한다[16]. 디퍼렌셜의 확률은 차분 특성을 구성하는 각 한 라운드 차분 특성 확률의 곱으로 전체 확률을 계산하며, 선형 근사의 경우 Piling-up Lemma[2]를 사용하여 계산한다.

가정 1. 각 라운드 함수는 독립이다.

많은 블록 암호 분석 연구는 위의 가정 1을 전제로 이루어져 왔으며 정확하진 않지만, 합리적인 가정으로서 간주 되고 있다. 본 논문은 기본적으로 가정 1을 전제로 한다.

2.3 차분선형 분석(Differential-Linear Cryptanalysis)

차분 분석과 선형 분석이 제안된 이후 1994년 Langford와 Hellman은 차분선형 분석을 제안하면서 두 가지 분석 기법이 조합되어 사용될 수 있음을 보였다[3]. Langford와 Hellman은 확률 1을 가지는 3-라운드 (부정) 차분 특성을 3-라운드 선형 근사와 연결시켜 6-라운드 차분선형 특성을 구성했다. 차분선형 분석도 기본적으로 가정 1을 전제로 하며, 특성의 확률 계산을 위해 추가적으로 다음 가정을 사용한다. 전체 블록 암호 E는 차분 특성이 적용되는 E0와 선형 근사가 적용되는 E1의 합성으로 정의한다.

가정 2. 전체암호 E를 E =E1E0라고 하면, E1에 적용되는 선형 근사의 두 입력 값 E0(P)와E0(P⊕ΩP)는 각각 독립적이다.

가정 2 역시 선형 근사에 두 입력 값이 완전히 독립적이라고 볼 수 없으므로 정확하진 않지만, 합리적인 가정으로서 간주 되고 있다. Langford와 Hellman은 차분 특성의 확률이 1, 선형 근사의 확률이 1/2+q인 차분선형 특성의 확률을 다음과 같이 계산한다.

두 평문 P1, P2 = P1⊕ΩP에 대해, ΩT⊙λP= 0인 경우 λP⊙E0 (P1) = λP⊙E0 (P2)를 만족하고ΩT⊙λP= 1인 경우 λP⊙E0 (P1 )≠ λP⊙E0 (P2 )이다. 선형 근사의 바이어스를 q라고 하면, 선형 근사는 1/2+q의 확률로 λP⊙P = λT⊙E1 (P)를 만족시킨다. 따라서 1/2+q의 확률로 다음 두 식이 성립한다.

λP⊙E0 (P1 )=λT⊙E1(E0 (P1))       (1)

λP⊙E0 (P2 )=λT⊙E1(E0 (P2))       (2)

Langford와 Hellman은 λP⊙E0 (P1 ) = λP⊙E0 (P2 ) 를 만족하면서 확률이 1인 차분 특성을 사용하기 때문에 등식 λP⊙E0 (P1 ) = λP⊙E0 (P2 )은 1의 확률로 만족하게 되며, 식 (1)과 (2)에 의해 1/2 + 2q2의 확률로 λT⊙C1 = λT⊙C2 등식을 만족하게 된다. C1과 C2는 각각 P1, P2에 대한 암호문을 의미한다.(즉, Ci = E1 (E0 (Pi))).

차분선형 분석 기법이 소개된 이후, 2002년에 Biham 등은 차분선형 기법을 확률이 1보다 작은 (부정) 차분 특성에도 적용할 수 있도록 확장하였다[4]. Langford와 Hellman의 경우, 확률 1인 차분 특성을 사용하므로 등식 λP⊙E0 (P1 ) = λP⊙E0 (P2 ) 가 항상 성립한다. 그러나 확률이 p′(< 1)인 차분 특성을 사용하게 되면, 차분 특성을 따르지 않는 출력 차분이 존재하므로 λP⊙E0 (P1 ) = λP⊙E0 (P2 ) 가 성립하지 않는 경우가 발생한다. 이 경우의 확률을 계산하기 위해 Biham 등은 차분 특성을 따르지 않는 경우, 등식 λT⊙E(P1 ) = λT⊙E(P2 )의 성립 확률을 다음 가정을 사용하여 계산한다.

가정 3. 두 내적 값 λT⊙E(P)와 λT⊙E(P⊕ΩP) 는 E0 (P)⊕E0 (P⊕ΩP) ≠ ΩT인 경우(설정한 차분 경로를 따르지 않을 때)에는 균일하고 독립적인 분포를 따른다. 즉,

\(\begin{gathered} \operatorname{Pr}\left(\lambda_{T} \odot E(P)=\lambda_{T} \odot E\left(P \oplus \Omega_{P}\right) \mid\right. \\ \left.E_{0}(P) \oplus E_{0}\left(P \oplus \Omega_{P}\right) \neq \Omega_{T}\right)=\frac{1}{2} \end{gathered}\)

Biham 등은 λP⊙E0 (P1 ) = λp⊙E0 (P2 )가 성립할 확률을 1/2+p로 선형 근사시켜 표현한다. 이때, p 를 차분 연결 바이어스(differential connection bias)라고 정의한다. 차분 연결 바이어스는 가정 3에 의해 다음과 같이 계산된다.

\(\frac{1}{2}+p \approx p^{\prime}+\left(1-p^{\prime}\right) \times \frac{1}{2}=\frac{1}{2}+\frac{p^{\prime}}{2}\)       (3)

Langford와 Hellman의 경우, p = 1/2, p′ = 1이다. 따라서 세 개의 가정 아래에서 전체 차분선형 특성의 확률은 1/2+4pq2으로 계산할 수 있다. 4pq2은차분선형 특성의 바이어스라고 지칭한다. 차분선형 특성의 확률은 1/2+2p′q 2으로도 나타낼 수 있으므로 2p′q 2도 차분선형 특성의 바이어스를 나타낸다.

Biham 등은 4-라운드 부정 차분 특성과 3-라운드 선형 근사를 사용해서 7-라운드 차분선형 특성을 구성하였고 차분 연결 바이어스는 다음과 같이 계산 하였다.

\(\frac{1}{2}+p \approx \frac{14}{64}+\left(1-\frac{14}{64}\right) \times \frac{1}{2}=\frac{1}{2}+0.109\)

또, 선형 근사 바이어스 q = 0.195로 최종 차분선형 특성의 확률 1/2+4pq2을 다음과 같이 계산하였다.

\(\frac{1}{2}+4 \times 0.109 \times(0.195)^{2}=\frac{1}{2}+0.0167\)

Fig.1은 [4]에서 사용한 4-라운드 부정 차분 특성을 나타낸 그림이며, Fig.2는 [3, 4]에서 사용한 3-라운드 선형 근사를 나타낸 그림이다.

JBBHCB_2018_v28n6_1379_f0001.png 이미지

Fig. 1. The 4-Round Differential Characteristic Used in [4] (where V∈{1,...,Fx}, W∈{0,8}, X∈{0,8}, Y∈{0,2}, Z∈{0,2}, M∈{0,...,7} and ′?′ means random value in {0,1})

JBBHCB_2018_v28n6_1379_f0002.png 이미지

Fig. 2. The 3-Round Linear Approximation Used in [4]

Jiqiang Lu는 [8]에서, 자동화 탐색 기법을 사용하여 모든 특성을 탐색함으로써 가정 3을 완화하고 확률 계산을 진행하였다. 이를 통해 전체 차분 특성을 탐색할 수 있는 실험 범위 내에서 Biham 등의 결과보다 더 긴 라운드의 차분선형 특성을 구성하였다.

III. DLCT

본 장에서는 DLCT(Differential-Linear Conn -ectivity Table)에 대해 정의하고 DLCT를 적용한 차분선형 특성의 확률 계산에 대해 설명한다. 앞에서 설명한 것처럼 [3, 4]에서는 차분선형 특성의 확률을 계산하기 위해 세 가지 가정을 사용한다. 그러나 P1과 P2는 P2 = P1⊕ΩP 관계를 만족하기 때문에 완전히 독립적인 값은 아니다. 따라서 차분 특성이 적용되는 E0후의 출력 값 E0 (P1 )과 E0 (P2 )는 서로 완전히 독립적인 값이라고 할 수 없다. 즉, 가정 2를 사용하여 선형 근사의 두 입력 값에 대한 선형 근사 확률을 서로 독립적으로 계산하는 것은 차분선형 특성의 정확한 확률을 계산하지 못할 수도 있다. 본 논문에서는 가정 2를 완화 시키기 위해 다음과 같은 DLCT를 정의한다.

정의 4. n-비트 S-box에 대해, 입력 차분을 ∆, 출력 값에 대한 마스크 값을 α라고 할 때 DLCTS (Differential-Linear Connectivity Table of S-box)는 다음과 같이 정의한다.

DLCTS(∆, α) = # {x|S(x)⊙α = S(x⊕∆)⊙α}

확률 DLCPS(Differential-Linear Connectivity Probability of S-box)는 다음과 같이 정의한다.

\(D L C P_{S}(\triangle, \alpha)=\frac{D L C T_{S}(\Delta, \alpha)}{2^{n}}\)

정의된 DLCT는 S-box에 대해서 특정 입력 차분 ∆을 가지는 두 입력 값 x, x⊕∆에 대해 각 출력 값에 α를 내적 한 값이 같을 경우의 수를 의미한다.

실제 S-box에 대한 DLCT를 만들어보면 흥미로운 결과를 관찰할 수 있다. Table 1은 PRESENT[9] 에 사용된 4-비트 S-box에 대한 DLCT의 일부분이다. 행은 S-box의 입력 차분, 열은 출력 값에 대한 마스크 값을 의미한다. Table 1의 (1, 1), (8, 1) 그리고 (9, 1) 값을 살펴보면, 각각 0과 16의 값을 가진다. 이는 마스크 값 0x1에 대해 입력 차분이 각각 0x8과 0x9일 경우 S(x)⊙α과 S(x⊕∆)⊙α가 같을 확률이 완전히 한쪽으로 치우치고 있다는 것을 의미한다. 이러한 현상이 생기는 이유는 가정 2의 선형 근사의 두 입력 값이 독립적이라는 가정이 실제론 맞지 않기 때문이다. 따라서 DLCT를 사용하면 선형 근사의 적어도 한 라운드는 가정 2를 완화하여 계산할 수 있게 된다. 다시 말해서, 선형 근사의 전체 확률을 가정 2를 사용하지 않고 계산할 수는 없지만, 적어도 선형 근사의 처음 한 라운드는 DLCT 를 사용함으로써 좀 더 정확한 값을 계산할 수 있다.

Table 1. The Part of DLCT of PRESENT S-box(row means input difference and column means output mask of S-box).

JBBHCB_2018_v28n6_1379_t0001.png 이미지

기존의 차분선형 특성의 확률 계산은 차분 특성의 출력 차분 ΩT와 선형 근사의 입력 마스크 λP에 대해, ΩT⊙λP= 0을 만족하기 때문에 차분 연결 바이어스의 확률이 식 (3)과 같이 계산되지만 DLCT를 적용하면 선형 근사의 한 라운드 이후의 마스크 값이 같을 확률을 구할 수 있으므로 기존보다 한 라운드 이후의 차분 연결 바이어스를 다음과 같이 계산할 수 있다.

\(\begin{aligned} &\frac{1}{2}+p \approx p^{\prime} \times D L C P_{S}(\Delta, \alpha)+\frac{1-p^{\prime}}{2} \\ &=\frac{1}{2}+\left(D L C P_{S}(\Delta, \alpha)-\frac{1}{2}\right) p^{\prime} \end{aligned}\)       (4)

위의 식으로 선형 근사의 한 라운드 이후의 마스크 값에 대한 차분 연결 바이어스를 계산하게 되고, 첫 라운드 입력 마스크에 대해서는 ΩT⊙λP= 0이 성립하므로 전체 차분선형 특성의 확률을 계산할 때에는 선형 근사의 처음 한 라운드를 제외하고 계산한다. 첫 라운드를 제외한 선형 근사의 확률을 1/2+q′이라고 하면 차분선형 특성의 확률은 다음과 같다.

\(\frac{1}{2}+4\left(D L C P_{S}(\Delta, \alpha)-\frac{1}{2}\right) p^{\prime}\left(q^{\prime}\right)^{2}\)       (5)

따라서 위의 식으로 선형 근사 한 라운드의 확률을 차분 연결 바이어스를 계산할 때 계산 함으로써 좀더 정확하게 계산할 수 있다.

JBBHCB_2018_v28n6_1379_f0003.png 이미지

Fig. 3. The input difference and output mask for the 5-Round S-box 5 where the DLCT is applied after the 4-Round Differential Characteristic (the value ′?0????′ before S-box indicates the difference. 0 means zero difference, ?′ means random value in {0,1} and the value ′1111′ after the S-box means the bits to be masked).

선형 근사 입력 값의 종속성에 의해, 전체 차분선형 특성의 확률은 기존 결과보다 증가할 수도 있고 감소할 수도 있다. 그러나 대부분 DLCT의 입력 차분은 부정 차분 형태이므로 가능한 입력 차분의 분포를 측정하면 더 정확한 확률을 계산 수 있다. 부정 차분이 가지는 가능한 모든 입력 차분을 ∆i, 그 가짓수를 m, 각각의 확률을 wi(0≤i≤m -1)라고할 때, 차분 연결 바이어스는 다음과 같이 계산한다.

\(\begin{aligned} \frac{1}{2}+p & \approx p^{\prime} \times\left(\sum_{i=0}^{m-1} w_{i} \times D L C P_{S}\left(\Delta_{i}, \alpha\right)\right)+\frac{1-p^{\prime}}{2} \\ &=\frac{1}{2}+\left(\sum_{i=0}^{m-1} w_{i} \times D L C P_{S}\left(\Delta_{i}, \alpha\right)-\frac{1}{2}\right) p^{\prime} \\ \left(w_{i}=\right.&\left.\operatorname{Pr}\left(x \oplus x^{\prime}=\Delta_{i} \mid P_{1} \oplus P_{2}=\Omega_{P}\right)\right) \end{aligned}\)       (6)

따라서 입력 차분의 분포를 적용한 차분선형 특성의 확률은 다음과 같이 계산할 수 있다.

\(\frac{1}{2}+4\left(\sum_{i=0}^{m-1} w_{i} \times D L C P_{S}\left(\Delta_{i}, \alpha\right)-\frac{1}{2}\right) p^{\prime}\left(q^{\prime}\right)^{2}\)       (7)

일반적으로 각 차분의 확률 wi의 값이 1/m로 균일하다는 가정을 사용하여 차분선형 특성의 확률을 계산할 수 있으며, 값이 정확할수록 차분선형 특성의 확률을 더 정확하게 계산할 수 있다.

IV. 적용

본 장에서는 앞서 소개한 식 (6)과 (7)을 사용하여 실제 DES와 SERPENT에 대한 차분선형 특성의 확률을 다시 계산하고 더 정확한 확률을 얻은 결과를 제시한다. 실험은 240의 데이터를 사용하였으며 평문과 키의 비율을 조정하고, 임의의 난수 값으로 설정하여 진행되었다.

4.1 DES에 대한 적용

DES(Data Encryption Standard)는 64-비트 블록 크기와 56-비트 키 크기를 가지는 16-라운드 블록 암호이다[5]. 1994년 Langford는 DES의 8-라운드 변형에 대해 차분선형 분석을 제안하였고, Biham 등은 Langford의 방법을 확장시켜서 DES 의 8-라운드 변형에 대해 개선된 차분선형 분석 결과를 제시하였다. 앞서 설명한 것처럼 Biham 등은 전체 차분선형 특성의 확률을 1/2+2-5.91으로 계산 했다.

DLCT를 적용하여 차분선형 특성의 확률을 다시 계산하기 위해선 부정 차분 특성의 출력 차분의 형태와 선형 근사의 입력 마스크 값이 S-box를 지난 이후의 마스크 값의 형태를 알아야 한다. 기존의 7-라운드 특성은 4-라운드 부정 차분 특성과 3-라운드 선형 근사로 구성되어 있는데 부정 차분 특성의 출력 차분과 선형 근사의 마스크 값이 만나는 부분의 모양은 Fig.4와 같다. 따라서 가능한 차분의 종류는 0x0~0xF 16가지와 0x20~0x2F 16가지, 총 32가지가 있으며 출력 마스크의 형태는 0xF이다. 가능한 32가지의 입력 차분과 출력 마스크 값 0xF에 대한 DLCT는 Table 2와 같다. Table 2는 전체 DLCT 중 필요한 부분만을 표시한 것이다. 이를 이용한 확률 계산은 다음과 같다.

JBBHCB_2018_v28n6_1379_f0004.png 이미지

Fig. 4. Differential Distribution Graph of 32 input difference values in DES.

Table 2. The Part of DLCT of the S-box 5 in DES. Input difference(∆i) have 32 values, output mask(α) is 0xF and ci means DLCTS(∆i ,α)

\(\frac{1}{2}+p \approx \frac{1}{2}+\left(\sum_{0}^{31} w_{i} \times D L C P_{S}\left(\Delta_{i}, 0 x F\right)-\frac{1}{2}\right) p^{\prime}\)

각각의 차분 ∆i가 가지는 확률을 균일하다고 가정 하면 wi = 1/32이고, S-box 5의 DLCT를 이용하여 평균적인 확률을 계산할 수 있다. 이때의 차분 연결 바이어스는 다음과 같다.

\(\frac{1}{2}+p \approx \frac{1}{2}+\left(0.695313-\frac{1}{2}\right) p^{\prime}\)

따라서 전체 차분선형 특성의 확률은 식 (7)을 이용하여 계산할 수 있다. 3-라운드 선형 근사의 첫 라운드를 제외한 바이어스 q′은 -20/64이며 부정 차분 특성의 확률 p′은 14/64이므로 전체 확률은 다음과 같이 계산된다.

\(\begin{aligned} &\frac{1}{2}+4 \times\left(0.695313-\frac{1}{2}\right) \times \frac{14}{64} \times\left(-\frac{20}{64}\right)^{2} \\ &\approx \frac{1}{2}+2^{-5.91} \end{aligned}\)

그러나 실제로 각 차분이 가지는 확률은 균일하지 않다. 따라서 더 정확한 확률을 계산하기 위해선 실제와 근사한 wi값들을 알아야 한다. 본 논문에서는각 wi의 값의 평균을 실험적으로 측정하였으며 실험 값의 분포는 Fig. 5와 같다. 측정한 wi값들을 이용 하여 다시 전체 차분선형 특성의 확률을 계산할 수 있고, 전체 차분선형 특성의 확률은 식 (7)을 이용 하여 계산하면 다음과 같다.

\(\begin{aligned} &\frac{1}{2}+4 \times\left(0.708362448-\frac{1}{2}\right) \times \frac{14}{64} \times\left(-\frac{20}{64}\right)^{2} \\ &\approx \frac{1}{2}+2^{-5.81} \end{aligned}\)

위의 결과처럼, 각 wi의 값을 실제와 근사한 값으로 적용하면 전체 차분선형 특성의 확률을 더 정확하게 계산할 수 있다. 다시 계산된 차분선형 특성의 확률은 기존에 계산한 DES의 7-라운드 차분선형 특성의 확률보다 증가했음을 알 수 있다.

4.2 SERPENT에 대한 적용

SERPENT는 128-비트 블록 크기와 0~256-비트키 크기를 가지는 32-라운드 SPN 구조 블록 암호이다[7]. 각 라운드는 키 혼합(key mixing), 대체 (S-box layer), 선형 변환(linear transformation) 세 개의 단계로 구성되며 대체 단계는 4-비트 입력 및 출력을 가지는 8개의 S-box를 사용하며, 각 라운드에서 하나의 S-box가 32번 병렬적으로 사용된다.

본 논문에서는 차분 특성 및 선형 근사를 표현하기 위하여 [6]에서 Biham 등이 사용한 표기법을 동일 하게 사용한다. 1/4의 확률로 이동하는 차분은 굵은 화살표로 표시를 하고 1/8의 확률로 이동하는 차분은 얇은 화살표로 표시한다. 표기법에 대한 예시는 Fig. 5와 같다. Biham 등이 SERPENT에 대해 구성한 차분선형 특성은 9-라운드 특성으로, 확률 p′ = 2-6인 3-라운드 부정 차분 특성과 바이어스 q = 2-27인 6-라운드 선형 근사를 사용하여 구성하였다. 따라서 차분 연결 바이어스 p는 2-7이고, 전체 차분선형 특성의 확률은 1/2+4pq2 = 1/2+2-59으로 계산된다.

JBBHCB_2018_v28n6_1379_f0005.png 이미지

Fig. 5. Differential and Linear Representation Example

앞에서 설명한 DES와 마찬가지로 SERPENT도 DLCT를 적용하여 차분선형 특성의 확률을 다시 계산할 수 있다. DLCT를 적용하기 위해선 먼저 SERPENT의 기존 차분선형 특성에서 부정 차분 특성의 출력 차분과 선형 근사의 첫 라운드 S-box 이후의 마스크 값을 알아야 한다.

SERPENT의 경우 4-라운드에 적용되는 2개의 S-box 5에 DLCT를 적용해야 하며, 각 S-box의 입력 차분과 출력 마스크의 모양은 Fig.6과 같다. 각 S-box는 8가지의 입력 차분을 가지기 때문에 두 S-box는 총 64가지의 입력 차분을 가지는 하나의 8-비트 S-box로 간주할 수 있다. 즉, 두 개의 S-box에 적용될 DLCT를 입력 차분 ∆i = ??0???0?로 하고 출력 마스크 α = 01001000으로 하는 8-비트 S-box 에 대한 하나의 DLCT로 정의할 수 있다. 설명한 8-비트 S-box의 DLCT는 Table 3에 제시되어 있으며, 우리가 필요한 일부분만 표시되어 있다.

JBBHCB_2018_v28n6_1379_f0006.png 이미지

Fig. 6. The input difference and output mask (the state before S-box 5 is the difference and the state after the S-box 5 is the mask bits) for 4-Round S-box 5 to which DLCT is applied after 3-Round Differential Characteristic. ′′ means random value in {0,1} and a shaded portion denotes a mask bit).

DES와 마찬가지로 가능한 64가지의 입력 차분의각 확률 wi를 1/64로 균일하다고 가정하면 차분 연결 바이어스는 다음과 같다.

\(\frac{1}{2}+p \approx \frac{1}{2}+\left(0.501953125-\frac{1}{2}\right) p^{\prime}\)

0.501953125≈ 1/2+2-9이고, 차분 특성의 확률은 2-6 , 첫 라운드를 제외한 선형 근사의 바이어스는 2-23이므로, 식 (7)을 이용하여 전체 차분선형 특성의 확률을 계산하면 다음과 같다.

\(\begin{aligned} &\frac{1}{2}+4 \times\left(0.501953125-\frac{1}{2}\right) \times 2^{-6} \times\left(2^{-23}\right)^{2} \\ &\approx \frac{1}{2}+2^{2} \times 2^{-15} \times 2^{-46}=\frac{1}{2}+2^{-59} \end{aligned}\)

DES와 마찬가지로 SERPENT도 64가지 차분의 확률을 실험적으로 측정하여 전체 차분선형 특성의 확률을 계산할 수 있다. 64가지 입력 차분에 대한 wi 값의 분포는 Fig.7과 같다. 측정한 wi값을 적용하여 다시 계산한 차분 연결 바이어스는 다음과 같다.

\(\frac{1}{2}+p \approx \frac{1}{2}+\left(0.504150293-\frac{1}{2}\right) p^{\prime}\)

JBBHCB_2018_v28n6_1379_f0007.png 이미지

Fig. 7. Differential Distribution Graph of 64 input difference values in SERPENT.

0.504150293≈ 1/2+2-7.9이므로, 다시 계산한 차분 연결 바이어스의 값을 이용하여 전체 차분선형 특성의 확률을 계산하면 다음과 같다.

\(\begin{aligned} &\frac{1}{2}+4 \times\left(0.504150293-\frac{1}{2}\right) \times 2^{-6} \times\left(2^{-23}\right)^{2} \\ &\approx \frac{1}{2}+2^{2} \times 2^{-13.9} \times 2^{-46}=\frac{1}{2}+2^{-57.9} \end{aligned}\)

실제 값과 근사한 wi를 사용하여 차분선형 특성의 확률을 다시 계산하면 기존에 계산된 확률보다 약 21.1 ≈ 2.14배 증가한 확률을 얻을 수 있다.

4.3 공격 복잡도 분석

차분선형 특성을 구성하여 실제 암호에 대한 공격을 진행할 때에는 O(p-2 q-4 )의 데이터 복잡도가 필요하다. 따라서 기존에 계산된 차분선형 특성의 확률과 비교하여 본 논문에서 다시 계산한 확률이 더 좋을 경우, 공격 복잡도가 줄어든다. 본 논문은 기존에 사용했던 차분선형 특성을 바꾸지 않고 새로운 확률 계산 방법으로 다시 확률을 계산했기 때문에 기존에 사용했던 공격 알고리즘은 똑같이 적용되며, 향상된 확률 정도에 따라 공격 복잡도가 개선된다.

DES의 경우, Biham 등이 7-라운드 차분선형 특성의 바이어스를 0.0167≈ 2-5.91으로 계산하였고, DES의 7-라운드 변형에 대해서 약 211.81의 데이터 복잡도를 사용하여 약 84.13%의 성공률로 구별 공격 (distinguishing attack)을 진행하였다. 본 논문에서는 7-라운드 차분선형 특성의 확률을 DLCT를 적용하여 0.0178≃ 2-5.81으로 다시 계산하였으며, 실제 구별 공격 시 데이터 복잡도가 약 20.2 ≈ 1.15배 줄어든다. 이러한 결과는 동일한 차분선형 특성을 사용한 키 복구 공격(key recovery attack)에도 똑같이 적용된다. 7-라운드 차분선형 특성을 사용한 공격에서 분석 결과는 기존과 큰 차이가 없지만, 확률이 작아지는 더 긴 라운드의 차분선형 특성에 적용할 경우 차이는 더 커질 수 있다.

SERPENT는 [6]에서 Biham 등이 9-라운드 차분선형 특성을 구성하였고 바이어스는 약 2-59로 계산하였다. 구성한 특성으로 SERPENT의 11-라운드 변형에 대한 키 복구 공격을 진행하였으며, 약 2125.3의 평문을 사용하여 72.1%의 성공률로 공격했다. 본 논문에서 SERPENT에 대한 9-라운드 차분 선형 특성의 바이어스는 약 2-57.9로 계산되었으며 이결과는 기존의 분석 결과와 비교하여 데이터 복잡도가 약 22.2 ≈ 4.6배 줄어든다.

V. 결론

본 논문에서는 논문에서 제안하는 DLCT(Differential -Linear Connectivity Table)를 사용하여 두 선형 근사의 입력 값이 독립적이라는 가정 2를 완화하여 차분선형 특성의 확률을 계산하는 방법을 제안하고 실제로 DES와 SERPENT에 적용하여 다시 계산한 결과, 기존에 제시된 결과보다 개선된 확률을 얻을 수 있었다.

적용하는 암호에 따라서 확률의 개선 정도는 다를수 있는데, SERPENT의 경우 바이어스가 2배 이상 개선되었으며 이는 데이터 복잡도를 4배 이상 감소시키게 된다. 이러한 결과를 통해 기존에 차분선형 특성의 확률 계산이 독립성 가정으로 인해 다소 정확하지 못하게 계산되어 온 것을 확인할 수 있다. 본 논문에서 제안하는 DLCT를 적용한 계산 방법을 사용하면 이러한 문제를 조금이나마 해결할 수 있다.

나아가 차분선형 특성을 구성하는 단계에서 DLCT를 적용할 수도 있다. 본 논문에서 설명한 것처럼 DLCT를 적용한 확률 계산에서 선형 근사의 첫 라운드 확률은 DLCT를 통해 계산된 차분-연결 바이어스에 포함되므로 전체 확률 계산 시에 이를 제외하고 확률을 계산하게 된다. 따라서 차분선형 특성을 MILP와 SAT-solver와 같은 자동화 탐색 도구로 탐색할 경우, 탐색한 차분 경로와 선형 경로를 DLCT로 연결하여 한 라운드 더 긴 차분선형 경로를 구성할 수 있게 된다. 선형 경로의 두 입력값의 종속성이 크다면, 기존보다 더 좋은 확률을 가지는 경로가 구성될 가능성이 있다. 따라서 자동화 탐색 도구를 이용한 차분선형 경로 탐색은 좀 더 정확한 안전성 분석을 위한 연구 주제가 될 수 있다.

* 본 연구는 고려대 암호기술 특화연구센터(UD170109ED)를 통한 방위사업청과 국방과학연구소의 연구비 지원으로 수행되었습니다.

References

  1. Biham, Eli, and Adi Shamir. "Differential cryptanalysis of DES-like cryptosystems." Journal of CRYPTOLOGY 4(1), pp. 3-72, 1991. https://doi.org/10.1007/BF00630563
  2. Matsui, Mitsuru. "Linear cryptanalysis method for DES cipher." Workshop on the Theory and Application of of Cryptographic Techniques. Springer, Berlin, Heidelberg, pp. 386-397, 1993.
  3. Langford, Susan K., and Martin E. Hellman. "Differential-linear cryptanalysis." Annual International Cryptology Conference. Springer, Berlin, Heidelberg, pp. 17-25, 1994.
  4. Biham, Eli, Orr Dunkelman, and Nathan Keller. "Enhancing differential-linear cryptanalysis." International Conference on the Theory and Application of Cryptology and Information Security. Springer, Berlin, Heidelberg, pp. 254-266, 2002.
  5. FIPS, PUB. "46-3: Data encryption standard (des)." National Institute of Standards and Technology 25(10) 1-22, 1999
  6. Biham, Eli, Orr Dunkelman, and Nathan Keller. "Differential-linear cryptanalysis of Serpent." International Workshop on Fast Software Encryption. Springer, Berlin, Heidelberg, pp. 9-21, 2003.
  7. Biham, Eli, Ross Anderson, and Lars Knudsen. "Serpent: A new block cipher proposal." International Workshop on Fast Software Encryption. Springer, Berlin, Heidelberg, pp. 222-238, 1998.
  8. Lu, Jiqiang. "A methodology for differential-linear cryptanalysis and its applications." Designs, Codes and Cryptography 77(1), pp. 11-48, 2015 https://doi.org/10.1007/s10623-014-9985-x
  9. Wagner, David. "The boomerang attack." International Workshop on Fast Software Encryption. Springer, Berlin, Heidelberg, pp. 156-170, 1999.
  10. Kelsey, John, Tadayoshi Kohno, and Bruce Schneier. "Amplified boomerang attacks against reduced-round MARS and Serpent." International Workshop on Fast Software Encryption. Springer, Berlin, Heidelberg, pp. 75-93, 2000.
  11. Biham, Eli, Orr Dunkelman, and Nathan Keller. "The rectangle attack-rectangling the Serpent." International Conference on the Theory and Applications of Cryptographic Techniques. Springer, Berlin, Heidelberg, pp. 340-357, 2001.
  12. Biryukov, Alex, and Dmitry Khovratovich. "Related-key cryptanalysis of the full AES-192 and AES-256." International Conference on the Theory and Application of Cryptology and Information Security. Springer, Berlin, Heidelberg, pp. 1-18, 2009.
  13. Dunkelman, Orr, Nathan Keller, and Adi Shamir. "A practical-time related-key attack on the KASUMI cryptosystem used in GSM and 3G telephony." Annual Cryptology Conference. Springer, Berlin, Heidelberg, pp. 393-410, 2010.
  14. Murphy, Sean. "The return of the cryptographic boomerang." IEEE Transactions on Information Theory 57(4), pp. 2517-2521, 2011. https://doi.org/10.1109/TIT.2011.2111091
  15. Cid, Carlos, et al. "Boomerang Connectivity Table: A New Cryptanalysis Tool." Annual International Conference on the Theory and Applications of Cryptographic Techniques. Springer, Cham, pp. 683-714, 2018.
  16. Lai, Xuejia, James L. Massey, and Sean Murphy. "Markov ciphers and differential cryptanalysis." Workshop on the Theory and Application of of Cryptographic Techniques. Springer, Berlin, Heidelberg, pp.17-38, 1991.