DOI QR코드

DOI QR Code

일반화된 Feistel 구조에 대한 중간 일치 공격

Meet-in-the-Middle Attacks on Generalized Feistel Networks

  • 성재철 (서울시립대학교 수학과)
  • 투고 : 2017.09.08
  • 심사 : 2017.10.21
  • 발행 : 2017.12.31

초록

블록 암호 설계에서 Feistel 구조는 가장 널리 사용되는 구조 중의 하나이다. 또한 Feisel 구조를 확장하여 일반화한 Feistel 구조 역시 블록 암호 뿐 아니라 해쉬 함수에서도 널리 사용되는 구조이다. Feistel 구조의 구조적 안전성에 대한 다양한 분석 및 많은 연구가 진행되었다. 이 중 최근 Feistel 구조에 대한 중간 일치 공격은 Feistel 구조의 구조적 안전성을 가장 효과적으로 분석하는 방법 중 하나이다. 본 논문에서는 일반화된 Feistel 구조에 대한 중간 일치 공격에 대한 안전성을 분석한다.

Feistel Networks are one of the most well-known schemes to design block ciphers. Generalized Feistel Networks are used to construct only block ciphers but also hash functions. Many generic attacks on Feistel schemes have been studied. Among these attacks, recently proposed meet-in-the-middle attacks are one of the most effective attacks. In this paper, we analyze the security of meet-in-the-middle attacks on generalized Feistel Networks.

키워드

I. 서론

DES 구조로 사용된 Feistel 구조는 가장 널리 사용되는 블록 암호 설계 구조이다[1]. Feistel 구조는 n/2-비트 의사랜덤함수(PRF)를 이용하여 n-비트 의사랜덤순열(PRP)를 설계하는 아주 효율적이고 유용한 방법으로 이 설계 방법에 대한 구조적 안전성도 증명되었다[2,3].

Feistel 구조를 변형 및 일반화한 구조가 일반화된 Feistel 구조이다[4]. Feistel 구조는 2개의 branch를 이용하는 구조라고 한다면 일반화된 Feistel 구조는 branch의 개수를 n으로 확장하고 세 가지 Type으로 분류할 수 있다[5]. 이러한 일반화된 Feistel 구조를 GFN라 한다. 이러한 GFN 구조는 블록 암호뿐 아니라 해쉬 함수에서도 구조적 설계 논리로 널리 사용되고 있다. 예를 들자면 GFN Type-I은 CAST-256, Type-II는 RC6, Type-III MARS 블록 암호에 사용되었다.

블록 암호 분석 시 암호 알고리즘의 세부 논리를 모두 분석하여 분석하는 방법과 달리 블록 암호의 전체 구조를 분석하는 방법이 generic attack이다. Feistel 구조에 대한 차분 및 선형 분석에 대한 구조적 안전성 및 구조적 안전성에 대한 다양한 분석이 연구되었다[6,7,8,9,10]. 최근 J.Guo 등은 이러한 Feistel 구조에 대한 구조적 안전성을 차분의 개념을 활용한 MITM 공격 기법을 이용하여 6-라운드 Feistel 구조를 분석하였다[11]. 이 공격은 ASIACRYPT 2014의 Feistel 구조에 대한 MITM 공격 논문[12]을 수정 및 보완한 논문으로 최근까지 제안된 Feistel 구조에 대한 generic attack 중 가장 효과적인 분석 방법이다.

Feistel 구조와 더불어 GFN 구조에 대한 다양한 구조적 분석 방법들도 다양하게 연구되었다 [13,14,15]. 하지만 대부분의 분석은 차분 분석에 대한 구조적 안전성에 중점을 두고 있다. 본 논문에 서는 GFN 구조에 대하여 MITM 기법을 적용하여 새로운 공격 기법을 제시하고자 한다.

본 논문은 다음과 같이 구성되어 있다. 2장에서는 Feistel 구조와 GFN 구조를 정의한다. 3장에서는 Feistel 구조에 대한 MITM 기법을 소개한다. 4장과 5장에서는 GFN-I-4와 GFN-II-4에 대한 새로운 MITM에 대하여 안전성을 분석한다. 끝으로 6장에서 결과를 정리하고 향후 과제를 제시한다.

II. 공격 모델

본 절에서는 논문에 사용된 표기법과 블록 암호의 구조를 소개한다. 특히 공격의 모델이 되는 Feistel 구조와 일반화된 Feistel 구조를 정의한다.

DES와 같은 블록 암호의 구조로 가장 널리 사용되는 방법이 Feistel 구조이다. 이 구조에서 가장 널리 사용되는 방법은 라운드 함수 입력 전에 라운드 키와 XOR 연산 후 라운드 함수를 거치는 방법으로 설계된다.

Fig. 2. GFN-I-4

Fig. 3. GFN-II-4

블록 암호의 블록 길이를 n이라 하자. 그러면 Feistel 구조 설계에서의 i-라운드 입력을 (vi, vi-1)를 입력 값, Ki를 라운드 키, F i를 라운드 함수라고 하자. 그러면 i-라운드 출력 값 (vi+1, vi)는 다음과 같이 정의할 수 있다. 여기서 vi는 n/2-비트의 값이다.

vi+1 = F i(vi ⊕ Ki) ⊕vi-1

일반화된 Feistel 구조(GFN)는 Feistel 구조의 branch의 수를 m개로 확장시킨 구조로 다음과 같은 세 가지 Type으로 분류한다[5]. GFN 구조에서 Type I, II, III와 branch의 수가 m인 경우를 각각 GFN-I-m , GFN-II-m, GFN-III-m으로 표기한다.

본 논문에서는 m= 4인 경우, 즉 branch의 수가 4인 경우와 Type I, Type II를 중점적으로 살펴본다. Type III인 경우는 Type I을 3-라운드 변형시킨 구조로 볼 수 있기 때문에 Type I의 분석 방법을 이용하면 쉽게 적용할 수 있을 것이다.

Fig. 4. GFN-III-4

III. Feisel 구조에 대한 중간 일치 공격[11]

본 장에서는 J. Guo et al.이 [11]에서 제안한 중간 일치 공격 기법을 소개한다. 블록 암호뿐 아니라 해쉬 함수 등에서 중간 일치 공격 (Meet-In-The-Middle, MITM)은 암호 알고리즘의 분석에 널리 사용되는 기법 중의 하나이다.

차분 분석은 블록 암호의 대표적 공격 기법이다 [6]. 주어진 입력 차분에 대해 원하는 출력 차분을 만족하는 평문 및 암호문 쌍을 이용하여 distinguisher를 구성하거나 distinguisher 전후로 몇 라운드 키를 추측하여 라운드 키를 복구하는 공격이다.

앞 장에서 살펴본 Feistel 구조에서 라운드 함수 Fi의 입력 차분을 α, 출력 차분을 β라 하자. 주어진  (α, β)에 대해 다음 식을 살펴보자.

 Fi(x) ⊕ Fi(x ⊕α)= β        (1)

일반적으로 식 (1)을 만족하는 해의 개수는 라운드 함수  Fi에 의존한다. 만약 라운드 함수가 비선형 함수라면 (1)의 식을 만족하는 해의 수가 많은 경우도 있고 해가 존재하지 않을 수도 있다. 평균적으로 (1)의 식을 만족하는 해의 수는 1이다. 또한 입력 차분과 출력 차분만 주어진 경우 (1)을 만족하는 해를 찾기 위해서는 라운드 함수에 대한 전수조사가 필요하다. 만약 라운드 함수의 차분 분포표 (Differential Distribution Table, DDT)가 미리 선 계산 되어질 수 있다면 쉽게 해를 찾을 수도 있다. 하지만, 라운드 함수의 비트가 n/2비트라면 DDT를 구성하는데 2n의 시간 복잡도와 메모리 복잡도가 필요하다.

Feistel 구조의 중간 일치 공격을 이해하기 위해 스퀘어 공격 혹은 Integral 공격에 사용되는 δ -set을 다음과 같이 정의하자.

[Definition 1] (b- δ -set)

상태 값 중 특정 b-비트만 다르고 나머지 비트는 다 같은 2b개의 집합을 b- δ -set이라 정의한다.

위의 정의를 이용하면 스퀘어 공격에 주로 사용되는 하나의 S-박스의 값만 active하게 만들고 나머지는 모두 같게 설정하는 집합은 8- δ -set으로 28의 원소로 구성된 집합이 된다. 또한

어떤 주어진 상태 값 v에 대에 대해 b- δ -set을 구성한다고 가정하자. 또한 특정 b-비트를 최하위비트라고 한다면 δ에 대한  b- δ -set는 다음과 같다.

{v, v⊕1, v⊕2, ⋯, v⊕2b-1}

또한 위  b- δ -set을 라운드 함수 Fi를 계산한 후의 값은 다음과 같이 표현된다.

{ Fi(v),  Fi(v⊕1),  Fi(v⊕2), ⋯,  Fi(v⊕2b-1)}

우리는 앞으로 위의 라운드 함수 출력 값에서 출력 차분만을 고려한 2b-1길이의 다음 수열의 변화를 살펴볼 것이다.

\(\begin{equation} \left\{\begin{array}{l} F_{i}(v) \oplus F_{i}(v \oplus 1), \\ F_{i}(v) \oplus F_{i}(v \oplus 2), \\ \vdots \\ F_{i}(v) \oplus F_{i}\left(v \oplus 2^{b}-1\right) \end{array}\right\} \end{equation}\)

3.1 Feistel 구조에 대한 5-라운드 distinguisher

우선 Feistel 구조에 대한 새로운 5-라운드 distinguisher를 살펴보자. Fig. 1의 Feistel 구조를 5개의 라운드 함수 Fi와 라운드 Ki가 적용된 구조이다. 또한 마지막 swap은 없는 것으로 한다. 그러면 5-라운드 distinguisher는 다음과 같다.

Fig. 1. Feistel Structure

[Lemma 1][11]

0이 아닌 차분 X, Y(∈{0, 1}n/2)에 대하여 X≠Y이고 입력 (m, m⊕ (0,X))에 대한 Feistel 구조 5-라운드 암호화 후의 출력 차분이 (0, Y)라 하자. 그러면 중간 3 라운드(2, 3, 4 라운드)의 가능한 내부 상태의 값의 개수는 평균적으로 2 n/2이다.

X, Y( ≠X )인 고정된 입력 차분이 (0, X)이고 출력 차분이 (0, Y)이다. 그러면 1 라운드와 5 라운드의 입력 차분이 0이므로 확률 1로 출력 차분도 0이다. 2-라운드의 차분을 Δ라 하면 2,3,4 라운드 함수의 입출력 차분에 관한 식은 다음과 같다.

2 라운드 : F2(x)⊕F2(x⊕X)=Δ        (2)

3 라운드 : F3(x)⊕F3(x⊕Δ)=X⊕Y       (3)

4 라운드 : F4(x)⊕F4(x⊕Y)= Δ       (4)

고정된 Δ에 대하여, 위의 식을 만족하는 가능한 해의 개수는 평균적으로 하나이다. 또한 가능한 Δ의 개수는 2n/2이므로 2,3,4 라운드의 가능한 상태 값의 개수는 평균적으로 2n/2이다.

평문 (m, m⊕(0, X))및 이에 대응하는 5-라운드 암호문 쌍의 차분이 Fig. 5의 5-라운드 distinguisher를 만족한다고 가정하자. 하나의 고정된 Δ에 대하여 그러면 식 (2), (3), (4)를 만족하는 내부 상태의 값을 평균적으로 하나 구할 수 있다.

Fig. 5. 5-Round Distinguisher and  b- δ -set Sequence of Feistel Structure

평문 m과 고정된 Δ에 대하여 (2), (3), (4)를 만족하는 내부 상태의 값이 각각 s2, s3, s4라 하자. 그러면 각 차분 δj에 대하여 평문 쌍 (m, m⊕(0, δj))에 대한 5-라운드 암호문의 Δv5의 값을 구할 수 있다. Δv2=δj이고 (2)의 해가 s2이므로 평문 m에 대한 F2함수의 입력 값은 s2이고 m⊕δj에 대한 F2함수의 입력 차분이 δj이므로  F2함수의 입력은s2⊕δj이므로 출력 값은 F(s2⊕δj)가 된다. 따라서 2 라운드 F2함수의 출력 차분은 F2(s2) ⊕ F2(s2⊕δj)이 된다. 그러므로 3 라운드 입력 차분 Δv3을 구할 수 있다.

같은 방법으로 3-라운드 입력 차분과 m에 대한 상태 값 s3를 알 수 있으므로 4-라운드 차분 Δv4를 구할 수 있다. 또한 4-라운드 입력 차분과 입력 차분과 m에 대한 상태 값 s4를 이용하면 Δv5의 차분을 구할 수 있게 된다. 모든 2b-1에 다하여 모두 할 수 있으므로 Δv5의 2b-1개의 차분 수열을 값을 완벽하게 계산할 수 있다.

5-라운드 Feistel 구조 암호화 함수를 F라 하면 m, δj ,  Δ를 이용한 다음의 함수를 정의하자.

FΔ( m, δj)=msb n/2(F(m)⊕ F(m⊕(0, δj))

여기서 msb n/2는 n-비트 중 최상위 n/2비트만을 취하는 함수이다. 이 함수를 이용하면 2b-1개로 구성된 FΔ( m, δj )의 수열의 값을 정확하게 계산 가능하게 된다.

그런데, Δ의 가능한 수의 개수의 최대 2n/2개이므로 2b-1개로 구성된   Δv5의 차분 수열을 2n/2개 계산할 수 있게 된다. 이를 정리하면 다음과 같다.

[Proposition 1][11]

0이 아닌 차분 X,Y(∈{0,1}n/2)에 대하여 X≠Y 이고 입력  (m, m⊕(0, X))에 대한 Feistel 구조 5-라운드 암호화 후의 출력 차분이 (0,Y)라 하자. 최하위 b-비트만 변화하여 만들어진  b- δ -set에 대한 길이 2b-1로 구성된 FΔ( m, δj )의 수열은 평균적으로 2n/2개이다.

이 5-라운드 distinguisher는 아주 특이한 특성이다. 만약 이 5-라운드 distinguisher를 메모리를 이용하여 미리 계산할 수만 있다면 쉽게 6-라운드 공격을 할 수 있다.

3.2 Feistel 구조에 대한 6-라운드 공격

앞에서 구성된 5-Round distinguisher를 이용하여 차분 분석 등에 많이 사용되는 1R attack 기법을 활용하여 6-라운드 Feistel 구조를 공격할 수 있다.

6-라운드 공격은 Precomputation Phase와 Online Phase의 두 부분으로 나눌 수 있다. Precomputation Phase에서는 우선 Algorithm 1을 이용하여 가능한 내부 상태의 값에 대하여 테이블을 저장하고 Algorithm 2에서는 이 내부 상태의 값을 이용하여 모든 가능한 Δv5 수열을 T5에 저장한다.

주어진 X에 대한 2y개의 Y에 대하여, Algorithm 1과 2를 사용하여 Tδ를 선계산한다면 Precomputation Phase에서는 2n/2+y번의 연산과 메모리가 필요하다.

Online Phase에서는 우선 Algorithm 3를 이용하여 6-라운드 암호화된 암호문의 차분이 (0,Y) 가 되는 평문-암호문 쌍을 찾아낸다. 이 단계에서는 고정된  vo에 대한 평문쌍 2n 개 중(0,Y)를 만족하는 것의 개수는 평균적으로 2y이다. vo의 개수가 2n/2-y이므로 가능한 쌍은 2n/2개가 된다.

Algorithm 1. [11] Construction the sequence of the table T2, T3, T4 of Feistel structure

Algorithm 2. [11] Construction the sequence of the table  Tδ ( Δv5 sequence) of Feistel structure

Algorithm 3. [11] Data collection phase of the 6-round attack of Feistel structure

Fig. 6. 6-Round Feistel Structure Attack

Online Phase 후 남은 2n/2개의 쌍 중 1-라운드 후 차분이 (0,X)를 만족하는 K0는 평균적으로 1개가 존재한다. 이를 만족하는 평문쌍과 키에 대해 vo값에서 b- δ -set를 계산하고 키를 이용하여 v-1를 계산하여 평문 입력 b- δ -set에 대한 Δv5를 계산한다. 이 계산된 Tδ 값이 미리 계산된 테이블 K0에 매치한다. 만약 Tδ 와 매치가 되면  K0의 값이 복구된다.

Online Phase에서 2n/2개를 Tδ개를 체크한다. 잘못된 K0가 이 Tδ의 수열과 매치가 되기 위한 확률은 다음과 같다.

\(\begin{equation} \frac{2^{n / 2}}{2^{n 2^{b} / 2}}=2^{n\left(1-2^{b}\right) / 2} \end{equation}\)

여기서 b ≥ 2가 되면 잘못된 키는 거를 수 있게 된다. 이 6-라운드 공격에서는 데이터 복잡도는 2n/2-y+1개의 선택평문, 시간 복잡도는  2n/2+y이고, 메모리 복잡도는  2n-y+1이다.

y= n/4로 택하면 복잡도를 최적화할 수 있다. 이때 데이터 복잡도는 23n/4, 시간 복잡도는  23n/4, 메모리 복잡도 23n/4이 된다. 즉, 라운드 함수의 구조에 상관없이 6-라운드 Feistel 구조는 분석 가능하다.

IV. GFN-I-4 구조에 대한 중간 일치 공격공격

본 장에서는 4 branch를 갖는 일반화된 Feistel 구조의 Type I 구조인 GFN-I-4에 대한 중간 일치 공격을 살펴본다.

4.1 GFN-I-4에 대한 9-라운드 distinguisher

GFN-I-4에 대한 새로운 distinguisher를 구성하기 위해 차분 특성을 먼저 구성한다. 다음 Fig. 7은 GFN-I-4에 대한 9-라운드 차분 특성이다. 입력 차분 (0,0,0,X)에 대하여 출력 차분 (0,Y,Z,W)이다. 여기서 X,Y,Z,W는 0이 아닌 차분이고 W≠X이다.

Fig. 7. 9-Round Distinguisher of GFN-I-4

[Lemma 2]

0이 아닌 차분  X,Y,Z,W (∈{0,1}n/4에 대하여 X≠W이고 입력 (m, m⊕(0,0,0,X))에 대한 GFN-I-4 구조 9-라운드 암호화 후의 출력 차분이 (0,Y,Z,W)라 하자. 그러면 중간 5 라운드(4~8 라운드)의 라운드 함수의 가능한 내부 상태의 값의 개수는 평균적으로 2n/4이다.

(증명) 입력 차분은 (0,0,0,X), 출력 차분은 (0,Y,Z,W)으로 고정되었다고 하자. 그러면 1, 2, 3 라운드의 라운드 함수의 입력 차분은 0이므로 출력 차분 또한 확률 1로 0이 된다. 또한 4-라운드에서 라운드 함수의 차분을 Δ라고 하자. 그러면 4~8라운드 함수의 입력과 출력 차분은 다음과 같다.

- 4 라운드 :  F4(x) ⊕ F4(x⊕X)=Δ

- 5 라운드 :  F5(x) ⊕ F5(x⊕Δ)=Y

- 6 라운드 :  F6(x) ⊕ F6(x⊕Y)=Z

- 7 라운드 :  F7(x) ⊕ F7(x⊕Z)=W⊕X

- 8 라운드 :  F8(x) ⊕ F8(x⊕W)=Δ 

이때 X, Y, Z, W는 고정된 값이다. 하나의 고정된 Δ에 대하여 4~8 라운드의 라운드 함수에 대한 입력 차분과 출력 차분은 하나의 값으로 정해진다. 또한 라운드 함수가 선형 함수가 아니라면 각 라운드 함수에 대해 평균적으로 하나의 해가 존재한다. 따라서 4~8라운드 내부 상태의 값은 평균적으로 하나의 해가 존재하게 된다. 그런데 가능한 Δ의 개수의 상한이 2n/4이므로 가능한 상태의 값은 2n/4보다 작거나 같다. ▣

이제 GFN-I-4에 대한 9-라운드 distinguisher를 구성할 수 있다. Feistel 구조에서와 비슷한 방법으로 9-라운드 GFN-I-4 구조 암호화 함수를 F라 하면 m , δj, Δ를 이용한 다음의 함수를 정의하자.

FΔ(m, δj) =msbn/4(F(m)⊕F(m⊕ 0,0,0,δj))

여기서 b- δ -set는 입력 차분의 최하위 b-비트를 변화하여 만든 집합이다. 고정된  Δ에 대해 그러면 2b-1개로 구성된 FΔ(m, δj)의 수열의 값을 정확하게 계산 가능하게 된다. 가능한 Δ가 2n/4보다 작기 때문에 다음을 얻을 수 있다.

[Proposition 2]

0이 아닌 차분 X, Y, Z, W(∈ {0,1}n/4에 대하여 X ≠ M이고 입력 (m, m⊕ (0, 0, 0, X)에 대한 GFN-I-4 구조 9-라운드 암호화 후의 출력 차분이 (0,Y,Z,W)라 하자. 그러면 최하위 b-비트만 변화하여 만들어진  b- δ -set대한 길이 2b-1로 구성된 FΔ(m, δj)의 수열은 평균적으로 2n/4개이다.

4.2 GFN-I-4에 대한 10-라운드 공격

10-라운드 GFN-I-4에 대한 공격은 9-라운드 distinguisher를 이용하여 앞에 1-라운드를 덧붙이는 공격으로 첫 라운드의 키를 복구하는 공격이다. 이 공격 역시 Precomputation Phase와 Online Phase 두 과정으로 구성된다.

우선 9-라운드 distinguisher의  Δv0 수열의 값을 계산한다. Feistel 구조의 Algorithm 1과 2를 한꺼번에 수행한 Algorithm 4는 4~8 라운드의 입출력 차분에 대한 테이블을 구성한 후  Δv9수열의 Tδ를 계산한다.

Algorithm 4. Construction the sequence of the table Tδ ( Δv9 sequence) of GFN-I-4

Fig. 8. 10-Round GFN-I-4 Attack

하나의 고정된 X, Y, Z,W에 대하여 Algorithm 4를 계산하는데 필요한 계산 복잡도 및 메모리 복잡 도는 2n/4이다. 출력 차분 (0,Y,Z,W)의 개수를 2m개를 선택한다면 Precomputation Phase에 필요한 복잡도는 2n/4+m이 된다.

Online Phase에서는 우선 Algorithm 5를 이용 하여 9-라운드 암호화된 암호문의 차분이 (0,Y, Z,W)가 되는 평문-암호문 쌍을 찾아낸다. 이 단계에서는 고정된 (v0,  v-2, v-1)에 대한 평문쌍 2n/2 중  2m 개의 (0,Y,Z,W)를 만족하는 것의 개수는 평균적으로 2-n/2+m이다. (v0, v-2, v-1)를 23n/4-m개 선택하면 가능한 쌍은 2n/4개가 된다.

Online Phase 후 남은 2n/4개의 쌍 중 1-라운드 후 차분이 (0,0,0,X)를 만족하는 K0는 평균적으로 1개가 존재한다. 이를 만족하는 평문쌍과 키에 대해 v0값에서  b- δ -set 계산하고 키를 이용하여 v-3를 계산하여 평문 입력 b- δ -set에 대한  Δv9를 계산한다. 이 계산된  Δv9값이 미리 계산된 테이블 Tδ에 매치한다. 만약 Tδ와 매치가 되면 K0의 값이 복구된다.

Algorithm 5. Data collection phase of the 6-round attack of GFN-I-4

데이터 복잡도는 대략 2n-m개의 선택평문, 시간 복잡도는 2n/4+m이고, 메모리 복잡도는 2n/4+m이다. m을 조절하면 필요한 데이터와 시간 및 메모리 복잡도 사이의 trade-off를 할 수 있다. 만약 m= n/4이면 이때 데이터 복잡도 대략 23n/4, 시간 복잡도 m= n/4 메모리 복잡도 2n/2이 된다. 만약 m= 3n/8이면 데이터, 시간, 메모리 복잡도 모두 25n/8이 된다.

V. GFN-II-4 구조에 대한 중간 일치 공격

본 장에서는 4 branch를 갖는 일반화된 Feistel 구조의 Type II 구조인 GFN-II-4에 대한 중간 일치 공격을 살펴본다.

5.1 GFN-II-4에 대한 5-라운드 distinguisher

GFN-II-4 공격 방법은 앞 장에서 살펴본 GFN-I-4에 대한 방법과 거의 유사하므로 간단하게 distinguisher만 소개한다. Fig. 9는 GFN-II-4 에 대한 5-라운드 distinguisher이다.

Fig. 9. 5-Round Distinguisher of GFN-II-4

5.2 GFN-II-4에 대한 6-라운드 공격

Fig. 5의 5-라운드 distinguisher를 이용하면 6-라운드에 대한 공격을 GFN-I-4와 거의 유사하고 복잡도 역시 GFN-I-4과 같다.

Fig. 10. 6-Round GFN-II-4 Attack

데이터, 시간, 메모리 복잡도 역시 GFN-I-4과 동일하다.

VI. 결론

본 논문에서는  4-branch GFN 구조에 대한 중간 일치 공격에 대한 새로운 distinguisher와 이를 이용한 새로운 공격 방법을 소개하였다. 이를 요약하면 Table.1과 같다.

Table 1. Complexity of Generic MITM Attacks

향후 GFN의 다른 구조 뿐 아니라 다양한 구조에 대한 중간 일치 공격의 적용과 이 중간 일치 공격을 향상시키기 위한 연구에 대한 보다 심층적인 연구가 필요할 것이다.

* 이 논문은 2017년도 서울시립대학교 연구년교수 연구비에 의하여 연구되었음.

참고문헌

  1. H. Feistel, W. Notz, and J. Smith, "Some cryptographic techniques for machine-to-machine data communications," Proc of the IEEE, vol. 63, pp. 1545-1554, 1975. https://doi.org/10.1109/PROC.1975.10005
  2. M. Luby and C. Rackoff, "How to construct pseudorandom permutations from pseudorandom functions," SIAM Journal Computing, vol. 17, no. 2, pp. 373-386, 1988. https://doi.org/10.1137/0217022
  3. M. Naor and O. Reingold, "On the construction of pseudorandom permutations : Luby-Rackoff revisited," Journal of Cryptology, vol. 12, no. 1, pp. 29-66, 1999. https://doi.org/10.1007/PL00003817
  4. K. Nyberg, "Generalized Feistel Networks," ASIACRYPT'96, LNCS 1163, pp. 491-104, 1996.
  5. Y. Zheng, T. Matsumoto, and H, Imai, "On the construction of block ciphers provably secure and not relying on any unproved hypotheses," CRYTPO'89, LNCS 435, pp. 461-480, 1989.
  6. E. Biham and A. Shamir, "Differential Cryptanalysis of DES-like Cryptosystem," Journal of Cryptology, vol. 4, no. 1, pp. 3-72, 1991. https://doi.org/10.1007/BF00630563
  7. K. Nyberg and L. R. Knudsen, "Provable security against differential cryptanalysis," Journal of Cryptology , vol. 8, no. 1, pp. 27-37, 1995. https://doi.org/10.1007/BF00204800
  8. J. Daemen, L. R. Knudsen, and V. Rijmen, "The block cipher square," FSE'97, LNCS 1267, pp. 149-165, 1997.
  9. J. Patarin, "Generic attacks on Feistel schemes," ASIACRYPT'01, LNCS 2248, pp. 222-238, 2001.
  10. I. Dinur, O. Dunkelmann, N. Keller, and A. Shamir, "New attacks on Feistel structures with improved memory complexities," CRYTPO'15, LNCS 9215, pp. 433-454, 2015.
  11. J. Guo, J. Jean, I. Nikolic, and Y. Sasaki, "Extended meet-in-the-middle attacks on some Feistel constructions," Designs, Codes and Cryptography, vol. 80, no. 3, pp. 587-618, 2016. https://doi.org/10.1007/s10623-015-0120-4
  12. J. Guo, J. Jean, I. Nikolic, and Y. Sasaki, "Meet-in-the-middle attacks on generic Feistel constructions," ASIACRYPT'14, LNCS 8873, pp. 439-457, 2014.
  13. V. Hoang and P. Rogaway, "On Generalized Feistel networks," CRYTPO'10, LNCS 6223, pp. 613-630, 2010.
  14. V. Nachef, E.Volte, and J. Patarin, "Differential attacks on generalized Feistel schemes," CANS'13, LNCS 8257, pp. 1-19, 2013.
  15. A. Bogdanov and K,Shibutani, "Generalized Feistel networks revisted," Designs, Codes and Cryptography, vol. 66, no. 1, pp. 75-97, 2013. https://doi.org/10.1007/s10623-012-9660-z