DOI QR코드

DOI QR Code

A Quantum Free-Start Collision Attack on the Ascon-Hash

양자 컴퓨팅 환경에서의 Ascon-Hash에 대한 Free-Start 충돌 공격

  • Received : 2022.05.20
  • Accepted : 2022.06.14
  • Published : 2022.08.31

Abstract

Ascon is one of the final round candidates of the NIST lightweight cryptography contest, which has been underway since 2015, and supports hash modes Ascon-Hash and Ascon-Xof. In this paper, we develop a MILP model for collision attack on the Ascon-Hash and search for a differential trail that can be used in a quantum setting through the model. In addition, we present an algorithm that allows an attacker who can use a quantum computer to find a quantum free-start collision attack of 3-round Ascon-Hash using the discovered differential trail. This attack is meaningful in that it is the first to analyze a collision attack on Ascon-Hash in a quantum setting.

Ascon은 2015년부터 진행되고 있는 NIST 경량암호 공모사업의 최종 라운드 후보 중 하나이며, 해시 모드 Ascon-Hash와 Ascon-Xof를 지원한다. 본 논문에서는 Ascon-Hash의 충돌 공격을 위한 MILP 모델을 개발하고, 해당 모델을 통해 양자 컴퓨팅 환경에서 활용 가능한 차분 경로를 탐색한다. 또한, 탐색한 차분 경로를 이용하여 양자 컴퓨터를 사용할 수 있는 공격자가 3-라운드 Ascon-Hash의 양자 free-start 충돌쌍을 찾을 수 있는 알고리즘을 제시한다. 본 공격은 Ascon-Hash에 대한 충돌 공격을 양자 컴퓨팅 환경에서 최초로 분석했다는 점에서 유의미하다.

Keywords

I. 서론

현재 양자 컴퓨팅 환경이 빠른 속도로 성장함과 더불어, 양자 알고리즘의 활용이 현실로 다가오고 있다. 양자 알고리즘의 활용은 암호학계에도 지대한 영향을 미치고 있으며, 공개키 암호의 경우 쇼어 알고리즘, 대칭키 암호와 해시함수의 경우에는 그로버 알고리즘이 암호 알고리즘의 안전성을 위협하고 있다.

1993년 Eli Biham, Adi Shamir에 의해 제안된 차분 분석은 현재까지도 블록 암호, 해시함수 분석에 사용되고 있다. 일반적으로 해시함수 충돌 공격에 차분 분석을 적용할 때에는 생일 공격 경계를 기반으로 차분 경로의 확률을 결정한다. 그러나 양자 컴퓨팅 환경에서는 양자 알고리즘을 이용해 기존 컴퓨팅 환경보다 더 낮은 확률을 가지는 차분 경로를 해시함수 충돌 공격에 사용할 수 있다. 그로버 알고리즘을 이용한 차분 분석기반 해시함수 공격은 2020년 후반기부터 꾸준히 수행되고 있다[1,2,3,4,5,6].

NIST는 2015년부터 현재까지 경량암호 공모사업을 진행 중이며, 10개의 최종 후보 알고리즘이 발표된 상태이다. 최종 후보 중 5종이 해시 모드를 지원하고, Ascon[7]은 이에 포함된다. CAESAR 경진대회의 후보 중 하나이기도 한 Ascon의 특징으로는 스펀지 구조를 가지며 라운드 수가 서로 다른 순열(Pa, Pb)을 사용한다는 점이다. 스펀지 구조의 대표적인 특징은 메시지 Absorbing 과정과 출력값 Squeezing 과정을 수행한다는 점이다. NIST 최종 후보인 ISAP[8], PHOTON-Beetle[9], SPARKLE[10] 알고리즘들도 스펀지 구조를 사용하고 있다. 특히, ISAP의 경우 별도의 순열을 사용하지 않고 Ascon이나 Keccak[11]의 순열을 사용한다. 따라서, Ascon의 해시 모드 Ascon-Hash에 대한 안전성 분석은 Ascon 자체 알고리즘뿐만 아니라 다른 NIST 후보, 스펀지 구조 기반 알고리즘의 안전성에도 영향을 줄 수 있다는 점에서 매우 중요하다.

본 논문의 구성은 다음과 같다. 2장에서는 논문 전개에 필요한 사전 지식을 서술한다. 3장에서는 [12]에서 제안된 2-라운드 Ascon-Hash 충돌 공격과 본 논문에서 제안하는 3-라운드 Ascon-Hash 양자 충돌 공격을 설명한다. 4장에서는 결론 및 향후 연구를 제시한다.

II. 사전 지식

본 장에서는 Ascon-Hash를 간략히 정리하고 양자 컴퓨팅 환경에서 사용되는 기호, 그로버 양자 알고리즘, 여러 가지 양자 컴퓨팅 환경에서의 충돌 공격을 소개한다.

2.1 Ascon-Hash

Ascon-Hash는 256-비트 해시값을 제공하는 해시함수이다. Ascon의 구조와 같이 Initialization, Absorbing, Squeezing 과정을 진행한다. Initialization 과정에서는 IV∥0c값이 입력으로 들어오며, 순열이 적용된다. Ascon-Hash는 Pa, Pb로 나뉘어 서로 다른 라운드를 가지는 Ascon의 순열과 달리 12-라운드로 고정된 순열 (Pa = Pb)이 적용된다. Absorbing 과정에서는 64-비트 메시지가 각 블록마다 XOR되며, Squeezing 과정에서는 여러 번의 64-비트 값이 출력된 후 그것들을 연접한 256-비트 해시값이 생성된다. 다음 Fig. 1은 Ascon-Hash의 해싱 과정 도식이다.

JBBHCB_2022_v32n4_617_f0001.png 이미지

Fig. 1. Hashing mode of Ascon-Hash

순열은 상수 덧셈, 비선형 계층, 선형 계층 세 단계로 진행된다. Ascon의 320-비트 state는 메시지가 XOR되는 rate 부분 64-비트와 capacity 부분 256-비트로 나뉜다. 다음 Fig. 2는 5 × 64 행렬로 표현된 Ascon의 state이다. 각 행을 xi(i = 0,1,2,3,4)로 정의한다.

JBBHCB_2022_v32n4_617_f0002.png 이미지

Fig. 2. State of Ascon

2.1.1 상수 덧셈

상수 덧셈(Addition of Constant)은 각 라운드에 정해진 8-비트 상수를 Ascon state x2에 XOR하는 과정이다. 각 라운드에 정해진 상수는 다음 Table 1.과 같다.

Table 1. Constant for each round

JBBHCB_2022_v32n4_617_t0001.png 이미지

2.1.2 비선형 계층

비선형 계층(Substitution Layer)인 S는 Sbox를 이용해 각 비트에 비선형 연산을 적용한다. Ascon의 Sbox는 5-비트 값을 입력받아 5-비트 값에 매핑한다. 해당 Sbox는 Ascon state를 기준으로 각 열에 적용된다. 즉, 전체 Ascon state에 64번의 Sbox 연산 과정이 진행된다. 다음 Table 2.는 Ascon의 5-비트 Sbox이고, Table 3.은 Ascon Sbox의 대수적 정규 형식(Algebraic Normal Form, ANF)이다.

Table 2. Sbox of Ascon (y = Sbox(x))

JBBHCB_2022_v32n4_617_t0002.png 이미지

Tablep 3. The ANF of Ascon Sbox

JBBHCB_2022_v32n4_617_t0003.png 이미지

2.1.3 선형 계층

선형 계층(Linear Diffusion Layer)인 L은 Ascon state를 기준으로 각 행에 독립적으로 순환 연산과 XOR 연산을 적용한다. 각 행에 적용되는 연산은 Table 4.의 규칙을 따른다.

Table 4. Linear diffusion layer

JBBHCB_2022_v32n4_617_t0004.png 이미지

2.2 양자 컴퓨팅

본 절에서는 양자 알고리즘 구성을 위한 양자 기호, 양자 오라클, 그로버 알고리즘, 여러 가지 양자 컴퓨팅 환경에서의 충돌 공격을 소개한다.

양자 컴퓨팅 환경에서는 기존 컴퓨팅 환경의 단위인 비트와는 다르게 큐비트를 사용한다. 큐비트는 양자 게이트를 통해 0과 1의 상태를 동시에 지닐 수 있으며, 이를 중첩상태라 한다. 중첩상태는 관측을 통해 정확한 값이 결정된다.

2.2.1 양자 기호

본 논문에서는 표준 양자 회로 모델을 양자 컴퓨팅 모델로 산정하고 {H, CNOT, T}의 양자 게이트를 사용한다. 각 양자 게이트는 다음 식 (1), (2), (3)과 같다.

\(\begin{aligned}H:|b\rangle \mapsto \frac{1}{\sqrt{2}}\left(|0\rangle+(-1)^{b}|1\rangle\right)\end{aligned}\)       (1)

CNOT: |a〉|b〉→|a〉|b⊕a〉       (2)

\(\begin{aligned}T:|0\rangle \mapsto|0\rangle,|1\rangle \mapsto e^{\frac{i \pi}{4}}|1\rangle\end{aligned}\)       (3)

2.2.2 양자 오라클

부울 함수 f : {0, 1}n → {0, 1}를 통한 양자 오라클 Uf는 식 (4)와 같이 정의된다. 이때, x ∈ {0, 1}n, y ∈ {0, 1}을 만족한다.

Uf|x〉|y〉=|x〉|y⊕f(x)〉       (4)

목표 요소 x′에 따른 부울 함수 f는 다음과 같다.

\(\begin{aligned}f(x)=\left\{\begin{array}{l}1\left(\text { if } x=x^{\prime}\right) \\ 0 \text { (otherwise })\end{array}\right.\end{aligned}\)

Uf 입출력은 (n+1)개의 큐비트로 이루어져 있으며, n개의 큐비트로 구성된 입력에서 x′에 해당하는 값과 연결된 |y〉는 1의 값을 가지게 된다. Uf는 역연산할 수 있어야 하며, 부울 함수 f가 역연산이 불가능하더라도 Uf가 역연산이 가능하도록 구현할 수 있다.

2.2.3 그로버 알고리즘

그로버 알고리즘은 1996년 구조화되지 않은 데이터베이스에서 목표 요소를 찾기 위해 제안되었다[13]. 즉, f(x) : {0, 1}n→{0, 1}로 정의된 부울 함수 f에 대해 f(x′} = 1인 입력 x′를 찾는 문제와 같다. 이는 기존 컴퓨팅 환경에서는 2n의 black-box 오라클의 접근이 필요하지만, 양자 컴퓨팅 환경에서는 그로버 알고리즘을 이용해 2n/2번의 오라클 Uf 질의만으로 x′를 찾을 수 있다. 다음은 그로버 알고리즘의 동작 과정이다.

1) n개의 큐비트를 |0〉상태로 초기화하여 레지스터에 저장한다.

|Ψ〉=|0n

2) 레지스터의 각 큐비트에 H를 이용하여 균일한 중첩상태로 변환한다.

\(\begin{aligned}|\Psi\rangle=H^{\otimes n}\left|0^{n}\right\rangle=\frac{1}{\sqrt{2^{n}}} \sum_{x=0}^{2^{n}-1}|x\rangle\end{aligned}\)

3) 아래 과정을 \(\begin{aligned}R \approx \frac{\pi}{4} \sqrt{\frac{N}{M}}-\frac{1}{2}\end{aligned}\)번의 반복을 통해 목표 요소의 위상을 증폭한다.(N(=2n)은 검색 공간이며, M은 목표 요소 공간이다.)

3. a. 부울 함수 f를 통해 목표 요소의 위상을 반전시킨다.

Ux'|x〉=(-1)f(x)|x〉

3. b. 반전된 위상들의 진폭을 증폭한다.

Us=2|Ψ〉〈Ψ| - I

4) 관측을 통해 유효한 요소인지 확인한다.

반복 횟수 R은 m=1인 경우 약 √N번 반복하게 된다. 공격자가 Uf를 구성했을 때, 그로버 알고리즘을 이용한 공격의 복잡도는 약 \(\begin{aligned}\frac{\pi}{4} \times \sqrt{N} \times T_{U_{f}}\end{aligned}\)이다. 이때, TUf는 Uf의 복잡도이다.

2.2.4 양자 컴퓨팅 환경

기존 컴퓨팅 환경에서 충돌 공격의 일반적인 공격은 생일 공격으로, n-비트 해시함수의 공격에 필요한 복잡도는 2n/2이다. 하지만, 양자 컴퓨팅 환경에서 필요한 복잡도는 현재 가정되고 있는 양자 컴퓨팅 환경의 양자 알고리즘에 의해 정해진다. 본 논문에서는 충돌 공격에 사용되는 양자 알고리즘과 그 환경을 기준으로 양자 컴퓨팅 환경을 정의한다.

BHT 환경은 작은 규모의 양자 컴퓨터와 큰 규모의 qRAM(양자 컴퓨팅 환경에서의 RAM)을 사용할 수 있는 양자 컴퓨팅 환경에서 BHT 알고리즘[14]을 일반적인 충돌 공격 알고리즘으로 사용하는 환경이다. 이 환경에서는 n-비트 해시함수에 대해 2n/3의 qRAM이 사용 가능할 때, 2n/3의 계산 복잡도가 필요하다. 차분 경로의 확률을 p라 할 때, 그로버 알고리즘이 적용된 식 (5)의 계산을 통해 2-2n/3 보다 높은 확률을 가지는 차분 경로를 분석에 이용할 수 있다. 256-비트 해시함수 Ascon-Hash의 경우 2-170.7보다 높은 확률을 가지는 차분 경로를 분석에 이용할 수 있다.

√p-1 < 2n/3 ⇒ p1/2 > 2-n/3 ⇒ p > 2-2n/3       (5)

CNS 환경은 큰 규모의 양자 컴퓨터와 큰 규모의 cRAM(기존 컴퓨팅 환경의 RAM)을 가지는 환경이고, 일반적인 충돌 공격 알고리즘으로 CNS 알고리즘[15]을 사용하는 환경이다. 이 환경에서는 n-비트 해시함수에 대해 2n/5의 cRAM이 사용 가능할 때, 22n/5의 복잡도가 필요하다. 식(6) 과정을 통해 2-4n/5보다 높은 확률을 가지는 차분 경로를 분석에 이용할 수 있다. 따라서, Ascon-Hash의 경우 이 환경에서 2-204.8 보다 높은 확률을 가지는 차분 경로를 분석에 이용할 수 있다.

√p-1 < 22n/5 ⇒ p1/2 > 2-2n/5 ⇒ p > 2-4n/5       (6)

기존 컴퓨팅 환경과 각 양자 컴퓨팅 환경에서 Ascon-Hash에 활용 가능한 차분 경로 확률 p의 경계를 정리하면 다음과 같다.

⦁ 기존 환경 : P > 2-128 (Birthday attack)

⦁ BHT 환경 : P > 2-170.7

⦁ CNS 환경 : P > 2-204.8

III. 3-라운드 Ascon-Hash 양자 충돌 공격

본 장에서는 [12]에서 제안된 2-라운드 Ascon-Hash 공격을 간략하게 소개하고, 이를 확장하여 3-라운드 Ascon-Hash 양자 free-start 충돌 공격을 제안한다.

3.1 2-라운드 Ascon-Hash 충돌 공격

Zong 등은 2-라운드 Ascon-Hash에 대한 충돌 공격[12]을 제안했다. Ascon-Hash는 Absorbing 과정에서 메시지가 rate 부분에만 XOR되는 특징이 있다. 따라서, 차분 경로의 입력 차분이 capacity 부분에 존재한다면, 입력 차분을 만족하는 메시지 쌍을 구성하지 못한다. 즉, 차분 경로의 입력 차분은 rate 부분 x0를 제외한 capacity 부분 xi(i=1,2,3,4)에는 차분 경로의 차분을 구성할 수 없다.

[12]에서는 차분 경로의 출력 차분을 rate 부분에만 존재하도록 구성하여 다음 블록에서 XOR되는 메시지로 해당 차분을 상쇄시키는 전략을 사용했다. 결과적으로, 해시값을 생성하는 Squeezing 과정에서 충돌이 발생한다. 다음 Fig. 3은 해당 공격 전략을 도식화한 것이다.

JBBHCB_2022_v32n4_617_f0003.png 이미지

Fig. 3. Collision attack strategy on Ascon-Hash

2-라운드 차분 경로는 입력 차분이 rate 부분에만 집중되는 특징으로 인해 발생하는 Sbox 성질을 이용하여 첫 라운드의 S에서 확률이 발생하지 않도록 구성됐다. 다음 Table 5.은 Δxi = 0(i = 1,2,3,4)을 만족하는 입력이 Sbox에 적용될 때 발생하는 성질들을 나타낸다. 출력 차분 Δyi(i = 0,1,2,3,4)가 결정된 경우 Table 5.의 성질을 만족하도록 Sbox 입력 x1,x3,x4의 값을 출력 Δy0와 Δy3의 값과 연결해 추가적인 확률 발생 없이 원하는 입력 차분으로 연결되도록 한다. 해당 성질은 active Sbox에 적용되며, 각 active Sbox마다 x1,x3⊕x4에 대한 2-비트 조건을 만족하는 값을 찾기 위해 22의 자유도가 필요하다. [12]에서 구성한 2-라운드 차분 경로의 확률은 2-103이며, 입력 차분의 active Sbox의 개수는 43개이다. 따라서, 2-라운드 차분 경로의 입력 차분을 만족하는 메시지 쌍을 구성하기 위해서는 총 286의 자유도가 필요하다. 공격은 4-블록으로 구성됐으며, 첫 두 블록은 286의 자유도를 충족하는 데 필요하다. 결과적으로, 2125의 시간 복잡도로 충돌 공격을 수행했다.

Table 5. Properties of Ascon Sbox

JBBHCB_2022_v32n4_617_t0005.png 이미지

3.2 확장된 3-라운드 Ascon-Hash 양자 충돌 공격

본 절에서는 [12]에서 제안한 2-라운드 Ascon-Hash 충돌 공격을 확장하여 3-라운드 Ascon-Hash 양자 충돌 공격을 제안한다.

3.2.1 MILP 모델 개발

MILP (Mixed Integer Linear Programming)는 [16]에서 블록 암호 분석 도구로 사용되었고, 현재까지 암호 분석 도구로 활발하게 쓰이고 있다. 이에 본 절에서는 3-라운드 Ascon-Hash 양자 충돌 공격에 활용되는 차분 경로를 탐색하는데 필요한 MILP 모델을 개발한다.

Ascon-Hash의 순열에서 차분 경로에 영향을 주는 단계는 S와 L이므로, 해당 단계들을 MILP로 모델링한다. 선형 제약식의 개수는 MILP 복잡도에 직접적인 영향을 주기 때문에, 복잡도를 낮추기 위해 선형 제약식의 개수를 최소화해야 한다. 우선 S는 Sbox의 DDT를 계산하고, 이를 Sage 프로그램을 통해 약 37,000개의 선형 제약식으로 이루어진 Convex Hull 형태로 나타냈다. 이후, 해당 Convex Hull을 그리디 알고리즘을 이용하여 40개의 선형 제약식으로 최적화했다. Ascon-Hash의 L은 3개의 비트가 XOR되어 1개의 비트로 매핑되며, 이 과정을 MILP에 적용하기 위해 8개의 선형 제약식으로 모델링 했다. S와 L에 대한 선형 제약식들은 부록 A에 제시되어 있다.

효과적인 차분 경로 탐색을 위해 [12]에서 구성한 MILP 모델에 사용된 성질 이외에 추가적인 Sbox 성질을 구성할 수 있다. 해당 성질은 Inverse Sbox의 ANF를 통해 계산 가능하며, 다음 Table 6.은 Inverse Sbox의 ANF이다.

Table 6. The ANF of Ascon inverse Sbox

JBBHCB_2022_v32n4_617_t0006.png 이미지

Fig. 3의 공격 전략과 같이, 차분 경로의 출력 차분을 Δxi = 0(i = 1,2,3,4)를 만족하도록 구성한다면, 다음과 같은 계산 과정을 통해 추가적인 성질을 유도할 수 있다.

Δy1 = Δx0(1⊕x2⊕x2x4), Δy3 = Δx0(x2⊕x2x4) ⇒Δy1⊕Δy3 = Δx0

위 계산 과정을 통해 active Sbox에 적용되는 Sbox 성질은 Δy1⊕Δy3 = 1와 같으며, 입력 차분과의 연관을 위해 Δy1⊕Δy3⊕Δx0 = 0으로 수정하여 모델에 적용했다. 이 식을 적용하여 식 개수, 검색 공간을 효율적으로 줄일 수 있다.

3.2.2 3-라운드 차분 경로 구성

[12]에서 제안한 2-라운드 차분 경로는 기존 컴퓨팅 환경에 맞춰 2-128보다 높은 확률로 구성했다. 하지만, 양자 컴퓨팅 환경에서는 더 낮은 차분 경로의 확률을 이용할 수 있다. 즉, 해당 차분 경로의 앞에 BHT 환경에서는 2-67.7보다 높은 확률을 갖는 경로를, CNS 환경에서는 2-101.8보다 높은 확률을 갖는 경로를 기존 2-103의 경로에 연결한다면 3-라운드로 확장된 공격을 수행할 수 있다.

기존의 공격 전략은 x0에만 차분이 존재하도록 차분 경로가 구성됐다. 그러나 free-start 공격가정에서는 해시함수의 IV에 차분이 존재할 수 있다. 이 점을 활용해 기존 2-라운드 차분 경로의 앞에 추가되는 라운드는 x0에만 차분이 존재해야 하는 제약을 완화했다.

다음 Fig. 4는 3-라운드 Ascon-Hash 양자 충돌 공격에 사용되는 3-라운드 차분 경로이다. Sbox의 입력 state를 Xi(i = 1,2,3), 출력 state를 Yi(i = 1,2,3), 그리고 차분 경로의 마지막 state를 O(= P(Y3))로 정의한다. 차분 경로들의 각 라운드 확률과 차분값은 Table 7.와 같다. 해당 차분 경로는 3.2.1에서 구성한 MILP 모델을 통해 얻었으며, 확률이 2-67.7보다 높고 최적의 확률을 가지도록 탐색 됐다. 결과적으로, 두 라운드 앞에 연결될 수 있는 2-62의 확률을 가지는 한 라운드 차분 경로를 기존 경로에 연결할 수 있게 된다. 3-라운드 차분 경로의 확률은 2-165이며, 이는 BHT와 CNS 환경 모두에서 충돌 공격에 적용할 수 있다. 차분 경로의 2 라운드에서 발생하는 확률은 Table 5. Sbox 성질을 이용해 발생하지 않도록 했다.

Table 7. The free-start 3-round differential trail

JBBHCB_2022_v32n4_617_t0007.png 이미지

JBBHCB_2022_v32n4_617_f0004.png 이미지

Fig. 4. 3-round differential trail on Ascon-Hash

3.2.3 공격 과정

공격 과정의 설명을 위해 2.1절에서 정의된 Sbox의 입출력 비트 xi, yi(i = 0,1,2,3,4)를 xir, yir(r : 라운드, i : 비트 위치)로 정의한다. 새로운 공격 전략에서는 Fig. 5와 같이 서로 다른 메시지 쌍 (M1,M1*)에 대해 서로 다른 (IV,IV*)가 사용된다. 먼저, Initialization 단계의 P에 차분 경로를 적용하고 차분 경로의 출력 차분(ΔO)과 같은 차분을 가지는 메시지 쌍(M1⊕M1* = ΔO)을 Absorbing 과정에서 XOR한다. 이 과정을 통해 Squeezing 과정에서는 충돌(Hi⊕Hi* = 0(i = 1,2,3,4))이 발생한다. 자세한 공격 설명을 위해, 부울 함수 f를 다음과 같이 정의한다. F231은 중첩상태의 Y1 active 비트를 뜻하고, F266은 중첩상태의 X3 active 비트를 뜻한다. F268은 계산 과정에서 필요한 2165의 자유도를 만족시키기 위한 추가적인 비트이다.

JBBHCB_2022_v32n4_617_f0005.png 이미지

Fig. 5. The free-start collision attack strategy on Ascon-Hash

f : F231 × F266 × F268 → F2

해당 부울 함수는 2라운드의 입력쌍(X2,X2*(X2⊕X2* = ΔX2))이 다음과 같은 조건들을 만족하면 f(X2,X2*) = 1이다.

1) x12 = Δy02⊕1, x32⊕x42 = Δy32⊕1을 만족하는 Sbox 입력쌍 (X2,X2*)을 통해 (Y1,Y1*)을 계산한다. 계산된 (Y1,Y1*)에 대해 ΔX1 = S-1(Y1)⊕S-1(Y1*)를 만족한다. 즉, Fig. 4의 Backward 방향을 만족한다.

2) 1)을 만족한 (X2,X2*)을 통해 (X3,X3*)을 계산한다. 계산된 (X3,X3*)에 대해 ΔY3 = S(X3)⊕S(X3*)를 만족한다. 즉, Fig. 4의 Forward 방향을 만족한다.

만약 f(X2,X2*) = 1을 만족하는 (X2,X2*)를 찾는다면, 충돌쌍 (M,M*)를 찾을 수 있다. 1)의 과정에서 x12 = ∆y02⊕1, x32⊕x42 = ∆y32⊕1의 조건을 만족시키는 쌍을 찾기 위해 286의 자유도가 필요하다. 각 블록에서 메시지 Absorbing을 통해 264의 자유도를 얻을 수 있는 기존과는 달리, free-start 가정에서는 rate 부분은 물론, capacity 부분에서도 실제값을 조절할 수 있다. 즉, 메시지의 Absorbing과 상관없이 2320의 자유도를 확보할 수 있다. (X2,X2*)에 따른 부울 함수F(X2,X2*)는 기존 컴퓨팅 환경에서 다음과 같이 계산된다.

1) x12 = ∆y02⊕1, x32⊕x42 = ∆y32⊕1을 만족하는 (X2,X2*)에 대해 L-1(X2), L-1(X2*)의 역연산을 통해 Y1, Y1*를 계산한다.

2) S-1(Y1), S-1(Y1*)의 역연산을 통해 X1, X1*을 계산하고, X1* = X1⊕∆X1을 만족하는지 확인한다.

3) 2)의 과정을 만족한 (X2,X2*)에 대해 L(S(X2)), L(S(X2*))의 연산을 통해 (X3,X3*)를 계산한다.

4) (X3,X3*)에 대해 S(X3), S(X3*)의 연산을 통해 Y3, Y3*를 계산하고, Y3* = Y3⊕∆Y3를 만족하는지 확인한다.

5) 4)의 과정까지 모두 만족하는 (X2,X2*)에 대해, f(X2,X2*)는 1을 반환하고 만족하는 (X2,X2*)가 없으면 0을 반환한다.

f(X2,X2*) = 1을 만족하는 (X2,X2*)에 대해 X1, X1*을 충돌쌍 M, M*(M* = M⊕∆O)의 IV, IV*로 설정한다.

3.2.4 양자 오라클 Uf 구현

양자 오라클 Uf 는 3.2.3에서 언급된 부울 함수 f의 공격 과정을 양자 컴퓨팅 환경에서 구현한 것이다. Uf 는 Uf : |X2,X2*〉|q〉→|X2,X2*〉|q⊕f(X2,X2*)〉로 정의되며, 그 과정은 Fig. 6과 같다.

JBBHCB_2022_v32n4_617_f0006.png 이미지

Fig. 6. Implementation of Uf

3.2.5 복잡도 분석

최종적으로 충돌을 찾는데 필요한 복잡도 분석은 다음과 같은 조건들을 고려했다.

⦁ 3-라운드 Ascon-Hash의 연산은 총 64 × 3 = 192번의 Sbox 연산이다.

⦁ 한 번의 S-1 연산은 두 번의 S의 연산이다.[17]

⦁ 계산 과정의 역연산은 Uf의 작동 이후 양자 회로를 푸는 것으로 가능하다.

[17]에서는 양자 환경에서의 AES Sbox에 대한 분석을 제시한다. Ascon Sbox의 경우 AES Sbox 보다 적은 게이트로 이루어지며, 양자 회로에서도 적은 양자 게이트로 구성될 것으로 예상한다. 따라서, [17]의 결과를 참고하여 이후의 과정에서도 한 번의 S-1연산을 두 번의 S로 설정하며, 이 설정이 전체 공격 복잡도에 주는 효과는 미미하다.

양자 오라클 Uf를 작동하기 위한 Sbox 연산은 Algorithm 1.의 3번 과정에서 Y1에 대해 Sbox 역연산이 적용되므로, 총 2 × 2 × 64 = 256번의 Sbox 연산이 필요하다. 6, 7번 과정에서는 각각 64번의 Sbox 연산이 발생해 총 2 × (64 + 64) = 256번의 Sbox 연산이 필요하다. 즉, TUf는 512/192≈21.4번의 3-라운드 Ascon-Hash 연산으로 고려한다.

f(X2,X2*) = 1을 만족하는 (X2,X2*)를 찾기 위해 그로버 알고리즘을 이용하여 총 \(\begin{aligned}\frac{\pi}{4} \times \sqrt{2^{165}}\end{aligned}\)번의 Uf 쿼리가 필요하다. 따라서, 충돌을 찾기 위한 총 복잡도는 \(\begin{aligned}\frac{\pi}{4} \times \sqrt{2^{165}} \times 2^{1.4} \approx 2^{83.55}\end{aligned}\)이다. Table 8.은 Ascon 해시 모드에 대한 충돌 공격을 정리한 것이다.

Table 8. Summary of collision attacks on Ascon-Hash and Ascon-Xof

JBBHCB_2022_v32n4_617_t0008.png 이미지

본 논문에서 제시한 차분 경로를 이용해 free-start 가정이 아닌 일반 충돌 공격에 적용할 경우, Absorbing 과정에서 하나의 순열을 추가하여 ∆X1을 만족하는 메시지 쌍을 찾아야 하며, 추가적인 복잡도가 소요된다. 해당 복잡도는 기존 컴퓨팅 환경의 충돌 공격 복잡도 경계인 2128은 물론, 각 양자 컴퓨팅 환경의 충돌 공격 복잡도 경계 2170.7, 2204.8 또한 상회한다.

IV. 결론 및 향후 연구

본 논문에서는 NIST 경량암호 공모사업 최종 후보 Ascon-Hash를 양자 컴퓨팅 환경에서 분석했다. 분석을 위해 Ascon-Hash의 순열에 대한 MILP 모델을 개발했으며, Ascon Sbox 연산에 필요한 선형 제약식은 40개, L 연산에서 필요한 제약식은 8개로 구성했다. 총 3-라운드를 공격했으며, MILP 모델 구성을 통해 2-165의 확률을 가지는 차분 경로를 구성했다. 해당 차분 경로는 기존 컴퓨팅 환경에서는 생일 공격의 복잡도를 넘어 충돌 공격에 활용할 수 없지만, 양자 컴퓨팅 환경에서는 그로버 알고리즘을 이용해 충돌 공격에 활용할 수 있다. 결과적으로, BHT와 CNS 양자 컴퓨팅 환경에서 적용 가능한 3-라운드 Ascon-Hash 양자 free-start 충돌 공격을 구성했다. 본 논문에서 제안하는 Ascon-Hash에 대한 공격은 최초의 양자 충돌 공격이라는데 의미가 있다.

본 논문의 결과는 Ascon의 설계자들이 주장하는 안전성 수준에 영향을 주지는 않으며, 차분 분석기반 충돌 공격과 관련하여 Ascon-Hash를 더 잘 이해할 수 있도록 도움을 준다. 스펀지 구조는 NIST 경량암호 공모사업의 최종 후보 ISAP, PHOTON-Beetle, SPARKLE에도 사용되므로, 제안하는 공격 전략이 이들 분석에 영향을 줄 수 있다. 특히, ISAP의 경우 Ascon의 순열을 그대로 활용하므로, 본 논문에서 제안한 MILP 모델은 ISAP의 안전성에 직접적인 영향을 줄 수 있다.

부록

References

  1. A. Kumar Chauhan, A. Kumar and S. Kumar Sanadhya, "Quantum Free-Start Collision Attacks on Double Block Length Hashing with Round-Reduced AES-256", IACR Trans. Symmetric Cryptol, vol. 2021(1), pp. 316-336, 2021. https://doi.org/10.46586/tosc.v2021.i1.316-336
  2. X. Dong, S. Sun, D. Shi, F. Gao, X. Wang and L. Hu, "Quantum Collision Attacks on AES-like Hashing with Low Quantum Random Access Memories", ASIACRYPT'20, LNCS 12492, pp. 727-757, 2020.
  3. A. Hosoyamada and Y. Sasaki, "Quantum Collision Attacks on Reduced SHA-256 and SHA-512", CRYPTO'21, LNCS 12825, pp. 616-646, 2021.
  4. S. Baek, S. Cho and J. Kim. "Quantum cryptanalysis of the full AES-256-based Davies-Meyer, Hirose and MJH hash functions" Quantum Information Processing, vol. 21(5), pp. 1-32, 2022. https://doi.org/10.1007/s11128-021-03349-w
  5. B. Ni, X. Dong, K. Jia and Q. You, "(Quantum) collision attacks on reduced simpira v2" IACR Transactions on Symmetric Cryptology, vol. 2021(2), pp. 222-248, 2021.
  6. A. Florez-Gutierrez, G. Leurent, M. Naya-Plasencia, L. Perrin, A. Schrottenloher and F. Sibleyras, "New Results on Gimli: Full-Permutation Distinguishers and Improved Collisions", ASIACRYPT'20, LNSC 12491, pp. 33-63, 2020.
  7. C. Dobraunig, M. Eichlseder, F. Mendel and M. Schlaffer, "Ascon v1.2", "https://csrc.nist.gov/CSRC/media/Projects/lightweight-cryptography/documents/finalist-round/updated-spec-doc/ascon-spec-final.pdf", 2021.
  8. C. Dobraunig, M. Eichlseder, S. Manga rd, F. Mendel, B. Mennink, R. Primas and T. Unterluggauer, "Isap v2.0", "https://csrc.nist.gov/CSRC/media/Projects/lightweight-cryptography/documents/finalist-round/updated-spec-doc/isap-spec-final.pdf", 2021.
  9. Z. Bao, A. Chakraborti, N. Datta, J. Gu o, M. Nandi, T. Peyrin and K. Yasuda, " PHOTON-beetle authenticated encryption and hash family", "https://csrc.nist.gov/CSRC/media/Projects/lightweight-cryptography/documents/finalist-round/updated-spec-doc/photon-beetle-spec-final.pdf", 2019.
  10. C. Beierle, A. Biryukov, L.C. dos Santos, J. Grossschadl, L. Perrin, A. Udovenko, V. Velichkov, and Q. Wang, "Schwaemm and Esch: lightweight authenticated encryption and hashing using the Sparkle permutation family", "https://csrc.nist.gov/CSRC/media/Projects/lightweight-cryptography/documents/finalist-round/updated-spec-doc/sparkle-spec-final.pdf", 2019.
  11. G. Bertoni, J. Daemen, M. Peeters and G. V. Assche, "Keccak", EUROCRYPT'13, LNCS 7881, pp. 313-314, 2013.
  12. R. Zong, X. Dong and X. Wang, "Collision attacks on round-reduced Gimli-Hash/Ascon-Xof/Ascon-Hash", Cryptology ePrint Archive, 2019.
  13. L. K. Grover, "A fast quantum mechanical algorithm for database search", Proceedings of the twenty-eighth annual ACM symposium on Theory of computing, pp. 212-219, 1996.
  14. G. Brassard, P. Hoyer and A. Tapp, "Quantum Cryptanalysis of Hash and Claw-Free Functions", LATIN'98, LNCS 1380, pp. 163-169, 1998.
  15. A. Chailloux, M. Naya-Plasencia and A. Schrottenloher, "An Efficient Quantum Collision Search Algorithm and Implications on Symmetric Crypto-graphy", ASIACRYPT'17, LNCS 10625, pp.211-240, 2017.
  16. S. Sun, L. Hu, L. Song, Y. Xie and P. Wang, "Automatic security evaluation of block ciphers with S-bP structures against related-key differential attacks", INSCRYPT'13, LNCS 8567, pp. 39-51, 2013.
  17. S. Jaques, M. Naehrig, M. Roetteler and F. Virdia, "Implementing Grover oracles for quantum key search on AES and LowMC", EUROCRYPT'20, LNCS 12106, pp. 280-310, 2020.