DOI QR코드

DOI QR Code

Key Recovery Attacks on Zorro Using Related-Key Differential Characteristics, and Collision Attacks on PGV-Zorro

Zorro의 연관키 차분특성을 이용한 키 복구 공격 및 PGV-Zorro의 충돌쌍 공격

  • Kim, Giyoon (Dept. of Information Security, Cryptology and Mathematics, Kookmin University) ;
  • Park, Eunhu (Dept. of Financial Information Security, Kookmin University) ;
  • Lee, Jonghyeok (Dept. of Information Security, Cryptology and Mathematics, Kookmin University) ;
  • Jang, Sungwoo (Dept. of Information Security, Cryptology and Mathematics, Kookmin University) ;
  • Kim, Jihun (Dept. of Financial Information Security, Kookmin University) ;
  • Kim, Hangi (Dept. of Financial Information Security, Kookmin University) ;
  • Kim, Jongsung (Dept. of Information Security, Cryptology and Mathematics, Kookmin University)
  • 김기윤 (국민대학교 정보보안암호수학과) ;
  • 박은후 (국민대학교 금융정보보안학과) ;
  • 이종혁 (국민대학교 정보보안암호수학과) ;
  • 장성우 (국민대학교 정보보안암호수학과) ;
  • 김지훈 (국민대학교 금융정보보안학과) ;
  • 김한기 (국민대학교 금융정보보안학과) ;
  • 김종성 (국민대학교 정보보안암호수학과)
  • Received : 2018.06.14
  • Accepted : 2018.10.01
  • Published : 2018.10.31

Abstract

The block cipher Zorro is designed to reduce the implementation cost for side-channel countermeasure. It has a structure similar to AES, but the number of S-Boxes used is small. However, since the master key is used as the round key, it can be vulnerable to related key attacks. In this paper, we show key recovery attacks on Zorro using related-key differential characteristics. In addition, the related key differential characteristics are fatal when Zorro is used as the base block cipher of the hash function. In this paper, we describe how these characteristics can be linked to collision attacks in the PGV models.

블록암호 Zorro는 AES와 비슷한 연산과정을 거치나 S-box 개수를 줄여 부채널 공격에 대비한 마스킹을 구현 비용을 줄일 수 있게 설계되었다. 하지만 마스터키를 라운드키로 그대로 사용하기 때문에 연관키 차분공격 관점에서 취약하다. 본 논문에서는 Zorro의 연관키 차분특성을 이용해 키 복구 공격을 보인다. 또한 안전성이 증명된 12가지의 PGV 모델을 Zorro를 기반으로 할 때 블록암호의 연관키 차분 특성이 해시함수 충돌쌍 공격에 어떻게 활용될 수 있는지 설명하고 실제 충돌쌍을 제시한다.

Keywords

I. 서론

디지털 기기의 발전에 따라 다양한 환경에 적합한 암호알고리즘이 제안된 바 있다. 특히, 블록암호 Zorro는 부채널 공격 대응기법인 마스킹 기법을 보다 적은 비용으로 적용하기 위하여 암·복호화 과정의 S-box 연산의 개수를 획기적으로 줄인 바 있다[1]. 하지만 Rasoolzadeh 외 세 명은 [2]에서 위 블록암호의 차분 및 선형 분석으로 키 복구 공격에 성공하였다. 본 논문에서는 Zorro는 키스케줄 과정 없이 마스터키를 라운드키로 사용하기 때문에 연관키 가정에서 효율적인 키 복구 공격을 할 수 있음을 밝힌다.

저전력 IoT환경에서는 해시함수를 블록암호 기반으로 사용하는 경우가 있는데, 이 때 Zorro의 연관키 차분특성은 큰 취약점으로 사용될 수 있다. 따라서, PGV와 같이 안전성이 증명된 해시함수를 사용하더라도, 기반 블록암호를 마스터키를 라운드키로 사용하는 Zorro와 같은 경량 블록암호를 사용하면 안전성을 보장할 수 없다. Table 1. 에는 본 논문에서 제시하는 연관키 복구 공격 및 Zorro 기반 PGV 해시함수에 대한 충돌쌍 공격 결과를 정리하였다. 본 연구는 [2]에서 제시한 차분경로가 연관키 차분경로를 구성하는데도 유용하게 사용될 수 있음을 보이며, 더 나아가 이 성질이 해시함수에서 치명적으로 작용함을 보인다.

Table 1. The related-key differential key-recovering attack complexities

JBBHCB_2018_v28n5_1059_t0001.png 이미지

CP: Chosen Plaintext, KP: Known Plaintext

Table 1., Table 2.는 본 논문의 요약 결과이며 본 논문의 구성은 다음과 같다. 2장에서는 Zorro 알고리즘에 대한 설명과 그 차분특성을 설명한다. 3장에서는 연관키 차분특성을 이용한 키 복구 공격을 서술한다. 4장에서는 Zorro 기반의 PGV 해시함수에 대한 충돌쌍 공격방법을 서술한다. 5장에 결론을 제시한다.

Table 2 . The collision attack complexities on Zorro based PGV model

JBBHCB_2018_v28n5_1059_t0002.png 이미지

* The actual collision pair for PGV Nos. 7, 8, 11, 12 is attached int the appendix.

II. Zorro 및 기존의 분석 결과

2.1 블록암호 Zorro

2013년에 발표된 경량 블록암호 Zorro는 AES 와 같이 평문을 Substitution 단계와 Permutatio n, 그리고 Mixing 단계로 구성된 SPN 구조를 가진다[1]. 총 24라운드의 암호화 과정으로 128비트 평문과 128비트 마스터키를 입력받아 128비트 암호문을 생성한다. 첫 라운드 시작 전에 화이트닝키를 사용한 후, 4라운드마다 키를 XOR 해주는 AK (Ad dKey) 단계를 거친다. 각 라운드는 SB* (SubByt es*), AC (AddConstants), SR (ShiftRows), MC(MixColumns)의 과정으로 구성되어 있다. SR 와 MC 단계는 AES와 연산이 동일하다. 라운드키는 마스터키를 그대로 사용하며, 128비트 평문을 8비트씩 나누어 4×4의 행렬로 볼 때 첫 번째 행만 AC단계와 SB*단계를 거친다는 특징이 있다. 각 단계의 연산은 다음과 같으며 전체 알고리즘은 Fig. 1.과 같다.

JBBHCB_2018_v28n5_1059_f0001.png 이미지

Fig. 1. Zorro‘s encryption Process

• AK (AddKey) : 평문과 마스터 키를 XOR한다.

• SB* (SubBytes*) : 1행의 총 32비트 값을 S-box에 따라 치환한다.

• AC (AddConstants) : i(1 ≤ i ≤ 24)번째 라운드의 1행과 {i, i, i, i << 3}을 XOR한다.

• SR (ShiftRows) : AES와 동일하게 i번째 행은 왼쪽으로 i-1(1≤i≤4)칸 이동하여 행을 회전시킨다.

• MC (MixColumns) : AES의 MixColumns 와 동일하게 열에 속한 모든 비트를 순환 행렬을 사용하여 열을 변화시킨다.

2.2 기존에 연구된 Zorro의 차분특성

SR이나 MC과 같은 선형함수는 입력과 출력의 차분의 변화를 예측할 수 있기 때문에 차분 경로의 확률에 영향을 미치지 않지만, SB* 과 같은 비선형 함수는 차분 경로의 확률을 떨어뜨린다. Zorro의 경우 1행만 S-box를 거치므로 1행의 차분 값이 차분경로 예측에 중요한 역할을 한다. Rasoolzadeh등은 이러한 특징을 이용하여 SB*연산을 통과하는 1행의 차분 값이 0이 되도록 조절하여 높은 확률의 차분 경로를 Fig. 2와 같이 제시하였다[2].

JBBHCB_2018_v28n5_1059_f0002.png 이미지

Fig. 2. Zorro's differential path

Fig. 2에서는 네 번째 라운드를 제외한 라운드의 1행은 모두 차분 값이 0 이므로 1, 2, 3 라운드의 SB*에서는 차분 경로를 1의 확률로 정할 수 있다. 따라서 4개의 라운드 중 네 번째 라운드에서만 차분 확률이 발생한다. 또한 첫 번째 라운드의 시작 차분 (#1)과 네 번째 라운드의 마지막 차분(#1)을 일치시켜 네 라운드씩 반복되는 차분 경로를 구성했다. [2]에서는 이렇게 반복되는 4개의 라운드를 Step이라고 명명하고 있다.

Fig. 2의 차분 경로를 만족하기 위해서는 #10에서 1행1열과 1행3열의 S값이 SB*을 거쳐 #11에서 1행1열과 1행3열의 S값을 가져야 하고, #10에서 1행2열과 1행4열의 T값은 #11에서 1행2열과 1행4열의 T값을 가져야 하는 사실을 알 수 있다. 이 때 Zorro에서는 SB*과정을 첫 번째 행에만 시행하므로 나머지 행에서의 차분경로는 확률 1로 결정된다.[2]에 의하면 Fig.2. 를 만족하는 차분 값은 Table_3. 과 같이 총 여섯 가지가 있다. 이 때 Table 3. 에서 S가 값을 가질 경우 T는 0이 되며 반대로 T가 값을 갖는 경우 S은 0이 된다.

Table 3. The difference value satisfying the differential path of Fig. 2.

JBBHCB_2018_v28n5_1059_t0003.png 이미지

1, 2, 3라운드에서는 1행의 차분 값이 0이기 때문에 한 Step에서의 확률은 4라운드인 Fig. 2.의 #10에서 #11의 과정에서만 발생한다. 이때 S가 S 혹은 T가 T로 될 확률은 6/256이다. 앞서 설명한 S와 T의 관계에 의하면 둘 중 하나가 차분 값을 가질 때 나머지 하나는 0차분을 가지므로 1의 확률을 가진다. 따라서 Fig. 2에서 #10의 첫 번째 행이 S-box를 거쳐 #11의 첫 번째 행이 될 확률은 다음과 같다.

\(\begin{aligned} p &=D P(\mathrm{~S} \rightarrow \mathrm{S}) \times D P(\mathrm{~T} \rightarrow \mathrm{T}) \\ &=\left(\frac{6}{256}\right)^{2} \times 1^{2}=\left(\frac{6}{256}\right)^{2} \end{aligned}\)       (1)

이때, DP(S→S)는 S가 S-box를 거쳐 S로 나올 확률을 의미한다. Zorro는 총 6 Step으로 구성되어 있다. 따라서 Zorro의 6 Step의 차분 경로가 Fig. 2. 의 차분 경로를 만족할 확률은 다음과 같다.

\(\left(\left(\frac{6}{256}\right)^{2}\right)^{6}=\left(2^{-10.8}\right)^{6}=2^{-64.8}\)       (2)

[2]에서는 이와 같은 확률을 갖는 차분 경로를 Fig. 2. 과 같이 여섯 가지를 제시하였다. 본 논문에서는 [2]에서 제시한 여섯 가지의 차분 값인 Table 3.의 차분 값을 동일하게 사용한다.

Fig. 2.의 차분 특성은 동일한 키에 대한 경로를 가정한 것으로 키의 차분이 0이다. 본 논문에서는 평문 차분이 ΔP, 키 차분이 ΔK 일 때 암호문 차분이ΔC인 연관키 차분 특성 또는 차분 특성을 (ΔP,ΔK,ΔC)와 같이 표시한다. 따라서 Fig. 2 에서의 차분 특성은 (α,0,α)이다.

III. Zorro에 대한 연관키 차분 경로를 이용한 키 복구 공격

연관키 공격(Related-key Attack)이란 평문뿐만 아니라 키에도 차분을 설정하여 각 키로부터 생성된 평문과 암호문 쌍을 이용해 키를 찾아낼 수 있는 방법이다. 본 절에서는 기존에 적용되지 않았던 연관키 공격을 이용한 마스터키 키 복구 공격을 설명한다.

3.1 Zorro의 연관키 공격

Zorro는 첫 Step이 시작하기 전과, 각 Step이 끝날 때마다 마스터키(이하 키)를 XOR한다. 따라서 키에도 평문과 동일한 차분을 설정한다면 차분을 설정하지 않은 경우보다 더 높은 확률로 차분 경로를 만족하는 암호문 쌍을 얻을 수 있다.

Fig .2. 에서 사용한 평문 차분 #1을 Δα라하고, 2개의 키 K, K'의 차분 또한 평문 차분과 동일하게Δα이라하자(K⊕K'=α). 첫 번째 라운드에서 AK 단계를 거치면 두 평문의 차분이 0이 된다. 따라서 첫 번째 Step은 모두 차분이 0이 된다. 두 번째 Step의 시작부분에서 평문의 차분은 0이지만, 키의 차분은 Δα이므로 AK단계를 거치면 다시 두 메시지의 차분이 Δα인 상태로 Step을 시작하게 된다. 이를 계속 진행하면 세 번째 Step이 시작할 때는 AK 단계에 의해 #1의 차분이 Δ0가 된다. 이를 그림으로 표현한다면 Fig. 3와 같다.

JBBHCB_2018_v28n5_1059_f0003.png 이미지

Fig. 3. Zorro’s relative key differential characteristic (α, α, 0)

따라서 홀수 번째 Step의 모든 과정은 0차분을 갖고, 짝수 번째 Step의 결과는 Δα차분을 갖는다는 것을 알 수 있다. 홀수 번째 Step에서는 모든 과정이 0차분을 가지므로, 차분 특성의 확률은 p= 1 이 되고, 짝수 번째 Step에서는 기존 논문의 확률인 p= (6/256)2 를 그대로 따른다. 따라서 키에 평문과 같은 차분을 설정하는 경우 총 6 Step의 확률은 다음과 같다.

\(p=\left(\left(\frac{6}{256}\right)^{2}\right)^{3}=\left(\frac{6}{256}\right)^{6}=\left(2^{-10.8}\right)^{3} \approx 2^{-32.4}\)       (3)

위 연관키 차분 특성은 (α, α, 0)로 표현할 수 있다. 만약 2개의 평문의 차분이 0이고 K, K' 의 차분이 Δα 라면 위의 경우와 정 반대로 홀수 번째 Step의 차분은 Δα, 짝수 번째 Step의 차분은 0이 된다. 따라서 이 경우에도 차분경로의 확률은 (3)과 동일하며 (0, α, α)라고 표현할 수 있다. 이를 그림으로 표현한다면 Fig. 4와 같다.

JBBHCB_2018_v28n5_1059_f0004.png 이미지

Fig. 4. Zorro’s relative key differential characteristic (0, α, α)

3.2 Zorro의 키 복구 공격

본 논문의 키 복구 공격에서는 Zorro의 23라운드까지는 연관키 3.1절의 차분 경로를 동일하게 구성하되, 24라운드에서는 차분경로를 고려하지 않는다. 이때의 연관키 차분 경로는 Fig. 5와 같으며, 차분경로의 확률은 아래와 같다.

\(p=\left(\left(\frac{6}{256}\right)^{2}\right)^{2}=\left(\frac{6}{256}\right)^{4}=\left(2^{-10.8}\right)^{2} \approx 2^{-21.6}\)

JBBHCB_2018_v28n5_1059_f0005.png 이미지

Fig. 5. 23, 24 round differential path used for key recovery attack

따라서, 224개의 평문쌍을 암호화하면 최종적으로 Fig. 5와 같은 암호문 쌍을 5개 정도 기대할 수 있다.

∵p× N≈ 2-21.6 × 224= 22.4 ≈ 5 (N: 실행 평문쌍의개수)

이렇게 준비된 5쌍의 암호문쌍으로 마지막 한 라운드를 복호화하여 키 복구 공격을 한다. 24라운드에서의 1행 1열의 입력 차분 S에 대한 출력 차분을 δ이라고 하고 1행3열의 입력차분 S에 대한 출력차분을 δ′라고 하자. 이때 δ와 δ′의 값은 DDT (Differnetial Distribution Table)를 통해 알 수 있다. 0차분인 T은 S-box를 거치면 1의 확률로 0차분을 가지고, 나머지 2, 3, 4행은 S-box의 영향을 받지 않으므로 차분 값이 변하지 않는다. 이후 SR, MC, AK를 거쳐 암호문이 되었을 때 암호문의 차분은 2, 4열이 0이고 1,3열의 차분 값 δ과 δ′에 의해 다양한 결과가 나온다. 이를 통해 224개의 평문쌍으로 23개의 라운드만 연관키 차분 경로를 만족하는 암호문쌍을 얻는다면 그 암호문쌍은 반드시 2,4열의 차분이 0이고 1,3열은 임의의 값이 될 것이며 이러한 암호문 쌍의 개수가 약 5개라는 것을 알 수 있다. 이렇게 얻은 5개의 암호문 쌍을 통해 키복구 공격을 진행한다.

SR, MC, AK는 선형연산이므로 아래와 같이 연산의 순서를 바꿔도 암호화 과정이 성립한다.

SB→SR→ MC→AK → C       (4)

SB→AK ′ →SR→ MC→ C       (5)

마지막 라운드의 과정을 표현하면 (4)과 같다. 그리고 키의 정보를 찾기 위해 AK 과정을 SR 과정 앞으로 이동하면 (5)와 같다. 단, AK 과정과 AK ′에서 사용되는 키가 달라진다. (4)의 AK 과정에서 사용되는 키의 차분을 ∆MK라 하면, (5)의 AK ′ 과정에서 사용되는 키의 차분은 SR-1 (MC-1 (∆MK))이다.

(2)에서 5개의 암호문쌍에 SR, MC 연산을 역연산하고 AK ′과정을 거치면 그 결과는 24라운드에서 SB를 거친 직후이므로 Fig. 5의 #11에 해당하는 차분 값을 갖는다. 따라서 #11에 해당하는 차분을 식으로 표현하면 다음과 같다.

SR-1 (MC-1 (∆C))⊕SR-1 (MC-1 (∆MK))

Fig. 5의 #10의 차분 값과 #11의 차분 값을 알고 있다면 차분이 0이 아닌 열에 대하여 #11에 SB의역 연산을 적용해 #10의 차분 값이 나올 경우 키로 추측이 가능하다. 마찬가지로 위의 과정과 동일하되, T가 차분 값을 갖고 S가 0차분이 되는 평문 차분을 구성해 동일하게 진행하면 AK ′ 단계 키의 1행에 대한 정보를 모두 얻을 수 있다. AK ′ 단계에 키는 SR-1 (MC-1 (MK))인데 SR 단계는 1행에 영향을 끼치지 않으므로 결국 이 과정을 통해 (MC-1 (MK)) 의 첫 번째 행의 32비트를 알 수 있다. 그러므로 (MC-1 (MK)) 의 2, 3, 4행에 대한 전수 조사를 하며 MC, SR 를 순서대로 진행하면 완전한 키를 복구할 수 있다. 이를 통해 전수 조사량이 2128에서 296으로 줄어들었음을 알 수 있다.

실제 구현을 통해 암호화 키 하나에 서로 다른 평문을 224번의 암호화 후 필터링하기를 반복한 결과 경로를 만족하는 암호문쌍을 평균적으로 3.6쌍 얻을 수 있었고. 3.6쌍에 대하여 키 복구를 시행해본 결과 3.6쌍의 암호문에 대해 역연산한 32비트 키 복구에 성공하였다.

IV. 차분 특성을 이용한 PGV-Zorro 공격방법

본 장에서는 Zorro 기반의 PGV 해시함수에 대한 충돌쌍 공격을 소개한다. PGV-모델은 블록암호를 이용해 해시함수(이하 PGV)를 구성하는 방법으로 Preneel 등이 제안하였다[3]. 총 64가지 방법 중 Table 4의 12가지 PGV-모델들만이 이상적인 블록 암호를 기반으로 할 때 해시함수로서 안전하다[4]. PGV 모델은 블록암호의 평문과 키를 적절히 조합하여 안전한 해시함수를 생성하는데, 이러한 구조로 인해 연관키 차분 경로를 가지는 블록암호를 사용하였을 때에 취약점이 드러날 수 있다. 특히 기반 블록암호가 연관키 반복 차분특성을 가지는 경우에는 해시함수의 충돌쌍 공격으로 쉽게 확장될 수 있음이 연구된 바 있다[5].

Table 4. 12 safe PGV-Model

JBBHCB_2018_v28n5_1059_t0004.png 이미지

4.1절부터 사용되는 기호는 다음과 같다.

Mi : i 번째 메시지 블록

Ci : i 번째 암호문 블록

Hi : i 번째 해시 블록

IV : 초기화 벡터

EK(P) : 평문 P와 KEY를 입력으로 받는 블록암호

4.1 선택 평문 또는 선택 키 공격

Fig. 2에서 #1의 차분 Δα로 만들어진 #10의 차분을 Δδ라 한다면, #10에서 #11로의 결과가 Δδ를 만족하는 #10을 #1까지 복호화 했을 때 Δα의 차분을 가짐은 자명하다. 이 때 #10의 Δδ차분이 다시 #11의 Δδ차분이 되는 경우는 #10의 경우의 수 2127쌍에 P를 곱한 \(2^{127} \times\left(\frac{6}{256}\right)^{2} \approx 2^{116.2}\)쌍 존재함을 알 수 있다.

이러한 Δδ 에서 Δδ로 가는 충분히 많은 #10 중 한쌍을 #1까지 복호화한 후 평문 또는 키의 값을 조절하면 차분 특성을 만족하는 연관키 차분 특성의 확률을 다음과 같이 높일 수 있다.

(α, 0, α)≈ 2-54.2

(α, α, 0)≈ 2-21.7

(0, α, α)≈ 2-21.7

위의 확률을 갖는 평문과 키를 선택함으로써 생일 공격인2-64보다 더 큰 확률을 가지므로 유의미한 공격이 가능하다.

4.2 Zorro 기반 PGV-모델 공격

본 논문의 Zorro 기반 PGV-모델에 대한 공격은 생일 공격과 비교하여 확률이 더 큰 경우만 공격에 성공하였다고 가정하였으며 이는 n비트 길이의 해시 함수에 대하여 2n/2번 이하의 시도로 공격 성공 확률이 40% 이상임을 뜻한다. Zorro 기반 해시 함수는 연관키 차분 특성에 의해 PGV-모델 별로 한 블록 또는 두 블록의 충돌쌍을 찾을 수 있다.

4.2.1 한 블록으로 공격이 가능한 PGV-모델

본 절에서는 PGV-모델 No.1을 예로 들어 한 블록으로 충돌쌍을 찾는 방법을 설명한다. PGV-Model No.1은 키에 차분을 선택할 수 없기 때문에 (α, 0, α) 특성을 이용한다.

Setup Phase. Table 3. 을 이용하여 Δα의 차분을 갖는 메시지를 다음과 같이 구성한다.

(M1,M′1 ),(M2,M′2 ) , ..., (Mi ,M′i)

(i≥p-1 , p는 연관키 차분 특성의 확률)

Search Phase. 메시지를 암호화한 암호문의 차분이 Δα인 (cn,c′n ) 을 찾는다.

Construction Phase. 암호문을 PGV-모델의 남은 과정을 연산하여 충돌쌍 (H1 ,H1′)을 얻는다.

-충돌 쌍 확인

\(\begin{aligned} &H_{1}=E_{I V}\left(M_{1}\right) \oplus M_{1} \\ &H_{1}^{\prime}=E_{V}\left(M_{2}\right) \oplus M_{2} \\ &\quad=c_{1} \oplus \Delta \alpha \oplus M_{1} \oplus \Delta \alpha \\ &\quad=c_{1} \oplus M_{1} \\ &\quad=E_{I V}\left(M_{1}\right) \oplus M_{1}=H_{1} \end{aligned}\)

-공격 시간 복잡도

Search Phase에서 254.2의 시간 복잡도가 필요하다.

-공격 성공 확률

\(Search Phase의 성공확률: 1-\left(1-\frac{1}{2^{54.2}}\right)^{2^{53.2}} \approx 0.4 \)

따라서 Zorro을 이용한 PGV-모델 No.1에 대한 충돌쌍 공격의 성공 확률은 253.2회 시도 시 40% 이고 이는 264인 생일공격보다 더 우위에 있으므로 유효한 공격이다.

위와 유사한 방법으로 PGV모델 2,3,4,7,8,11,12번 모두 한 블록으로 공격이 가능하며 공격에 필요한 연관키 차분 특성과 공격복잡도는 Table 5.와 같다. 이 중 공격복잡도가 낮은 Zorro 기반 PGV 7, 8, 11, 12의 대한 실제 충돌쌍을 부록에서 보인다.

Table 5. PGV-Zorro’s one block collision attack

JBBHCB_2018_v28n5_1059_t0005.png 이미지

4.2.2 두 블록으로 공격이 가능한 경우

본 절에서는 PGV-모델 No.5 을 예로 들어 두 블록으로 충돌쌍을 찾는 방법을 설명한다. PGV-모델 No.5 은 첫 블록에서 Zorro 암호 알고리즘에 들어가는 평문이 IV이므로 첫 번째 블록은 (0, α, α)의 특성을 이용하며 두 번째 블록은 (α, 0, α)의 특성을 이용한다.

Storage Phase. Table 3. 을 이용하여 Δα의 차분을 갖는 메시지 (\(M_{n}^{1}, M_{n}^{1'}\))을 구성해 암호화한 후 (H1 ,H1′)의 차분이 Δα 인 것을 저장한다.

Setup Phase. Δ0 차분의 메시지를 구성한다.

\(\left(M_{1}^{2}, M_{1}^{2}\right),\left(M_{2}^{2}, M_{2}^{2}\right), \ldots,\left(M_{i}^{2}, M_{i}^{2}\right)\)

(i≥p- 1 , p는 연관키 차분 특성의 확률)

Search Phase. 메시지를 키로 사용해 (H1 ,H1′)을 암호화한 암호문 중 차분이 Δα인 (cn,c′n ) 을 찾는다.

Construction Phase. 암호문을 PGV-모델의 남은 절차대로 XOR하여 충돌쌍 (H2 ,H 2′)을 얻는다.

- 충돌 쌍 확인

\(\begin{aligned} &H_{1}=E_{M_{i}^{\prime}}(I V) \oplus I V=c_{1} \oplus I V \\ &H_{1}^{\prime}=E_{M_{i}^{\prime}}(I V) \oplus I V \\ &\therefore H_{1} \oplus H_{1}^{\prime}=\Delta \alpha \\ &H_{2}=E_{M_{i}^{2}}\left(H_{1}\right) \oplus H_{1}=c_{2} \oplus H_{1} \\ &H_{2}^{\prime}=E_{M_{i}^{2}}\left(H_{1}^{\prime}\right) \oplus H_{1}^{\prime} \\ &\quad=c_{2} \oplus \Delta \alpha \oplus H_{1} \oplus \Delta \alpha \\ &\quad=c_{2} \oplus H_{1} \\ &\quad=E_{M_{i}^{2}}\left(H_{1}\right) \oplus H_{1}=H_{2} \end{aligned}\)

- 공격 시간 복잡도

Storage Phase에서 221.7정도의 시간 복잡도가 필요하며 Search Phase에서 254.2정도의 시간 복잡도가 필요하다. 따라서 시간 복잡도는 254.2+ 221.7≈254.2이다.

- 공격 성공 확률

\(\begin{array}{cll} \text { Storage } & \text { Phase의 } & \text { 성공확률 }: 1-\left(1-\frac{1}{2^{21.7}}\right)^{2^{20.7}} & \approx 0.4 & \\ \text { Search } & \text { Phase의 } & \text { 성공확률 } : 1-\left(1-\frac{1}{2^{54.2}}\right)^{2^{53.2}} & \approx 0.4 \end{array}\)

따라서 Zorro을 이용한 PGV-모델 No.5에 대한 충돌쌍 공격의 성공확률은 253.2회 시도 시 40% 이고 이는 264인 생일공격보다 더 우위에 있으므로 유효한 공격이다.

위와 유사한 방법으로 PGV-모델 5,6,9,10번 모두 두 블록으로 공격이 가능하며 공격에 필요한 차분 특성과 공격복잡도는 Table 6와 같다.

Table 6. PGV-Zorro’s two block collision attack

JBBHCB_2018_v28n5_1059_t0006.png 이미지

* 연관키 차분 특성은 순서대로 첫 번째 블록에서 사용해야 하는 차분 특성, 두 번째 블록에서 사용해야 하는 차분 특성을 의미한다.

V. 결론

본 연구에서는 블록암호 Zorro가 키스케줄을 사용하지 않고 마스터키를 라운드키로 사용한다는 점을 이용하여, [2]에서 제시한 차분경로를 연관키 차분 특성으로 적용시켰다. 결과적으로, 연관키 차분경로를 구성하는데 효과적으로 적용되었으며 키 복구 공격의 데이터 복잡도를 2^24으로 낮출 수 있었다.

더나아가 Zorro의 반복 차분특성은 해시함수의 기반 블록암호로 사용될 때 충돌쌍 공격으로 이어질 수 있는 치명적인 성질임을 보인다. Zorro와 같이 키스케줄을 가지지 않는 블록암호는 반복 차분특성을 가지기 쉽기 때문에, 블록암호 기반 해시함수에 이용하기에는 부적절함을 알 수 있다.

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

References

  1. B. Gerard, V. Grosso, Naya-Plasencia, and M. Standaert, F.-X., "Block ciphers that are easier to mask: how far can we go?" In: Bertoni, G., Coron, J.-S. (eds.) CHES 2013. LNCS, vol. 8086, pp. 383-399, Aug 2013
  2. S. Rasoolzadeh, Z. Ahmadian and M. Salmasizadeh, Aref, M.R. "Total break of Zorro using linear and differential attacks." IACR Cryptology ePrint Archive, 220, Jine. 2014.
  3. B. Preneel, R. Govaerts and J. Vande walle "Hash functions based on block ciphers: A synthetic approach." In: Advances in Cryptology - Proceedings of CRYPTO'93, LNCS 773. Springer, pp 368-378, July. 2001
  4. J. Black, P. Rogaway and T. Shrimpton, "Black-box analysis of the block-cip her-based hash-function constructions from pgv." In: Advances in Cryptology - Proceedings of CRYPTO '02, LNCS 2442. Springer, pp 320-335, Sep. 2002
  5. H. Kim, D. Kim, O. Yi and J. Kim "Cryptanalysis of hash functions based on blockciphers suitable for IoT service platform security" - Multimedia Tools and Applications in Springer, pp 1-24, Mar. 2018