DOI QR코드

DOI QR Code

Security Analysis of AES for Related-Key Rectangle Attacks

AES의 연관키 렉탱글 공격에 대한 안전성 분석

  • 김종성 (고려대학교 정보보호연구원) ;
  • 홍석희 (고려대학교 정보보호연구원) ;
  • 이창훈 (한신대학교 컴퓨터공학부)
  • Published : 2009.04.30

Abstract

In this paper we improve previous related-key rectangle attacks on AES from 9 rounds to 10 rounds: Our attacks break the first 10 rounds of 12-round AES-192 with 256 related keys, a data complexity of $2^{124}$ and a time complexity of $2^{183}$, and also break the first 10 rounds of 12-round AES-192 with 64 related keys, a data complexity of $2^{122}$ and a time complexity of $2^{183.6}$, Our attacks are the best knoown attacks on AES-192.

본 논문에서는 미 연방 표준 블록 암호 AES에 대한 기존의 9 라운드 연관키 렉탱글 공격을 10 라운드로 향상시킨다. 256개의 연관키를 사용하는 12 라운드 AES-192의 첫 10 라운드는 $2^{124}$의 데이터 복잡도와 $2^{183}$의 시간 복잡도로 공격되며, 64개의 연관키를 사용하는 AES-192의 첫 10 라운드는 $2^{122}$의 데이터 복잡도와 $2^{183.6}$의 시간 복잡도로 공격된다. 본 논문의 공격은 AES-192에 대한 기존 공격 중 최상의 공격이다.

Keywords

Ⅰ. 서론

AES (Advanced Encryption Standard) 는 미연방 표준 128비트 블록 암호로 128, 192 또는 256 비트의 키를 사용하며, 각각의 키 길이에 따라 10, 12 또는 14라운드를 사용한다〔1〕. AES의 한 라운드는 비 선형 층 Sub Bytess 함수를 적용한 후, 선형 층 ShiftRows, MixColumns, AddRoundKey 함수를 차례로 적용한다. 또한, 첫 번째 라운드 전에 AddRoundKey 함수를 적용하고, 마지막 라운드에서는 MixColumns 함수를 생략한다. 본 논문에서는 192 비트 키를 사용하는 AES의 안전성 분석에 초점을 마춘다 (이하 192비트 키를 사용하는 AES를 AEST92로 표기한다).

본 논문에서는 AES-192에 대한 기존의 9 라운드 연관키 렉탱글 공격〔2〕을 10 라운드로 향상시킨다. 본 논문의 10라운드 AES-192 공격 결과는 다음과 같다: 256개의 연관키를 사용하는 첫 10 라운드 축소 AES-192는 이24의 데이터 복잡도와 아83의 시간 복잡도로, 64개의 연관키를 사용하는 첫 10 라운드 축소 AEST92는 아끄의 데이터 복잡도와 2価, 6의 시간복잡도로 공격된다. 본 논문의 공격은 AES-192에 대한 기존 공격 중 최상의 공격이다. AES에 대한 본 논문의 결과와 기존 공격 결과는〔표 1〕과 같다.

[표 1] AES-192에 대한 공격 결과

CP: 선택 평문, ACPC: 능동적 선택 평문과 암호문, RK: 연관키. Time: Encryption units.

본 논문의 구성은 다음과 같다’ 2장에서는 AES-192 알고리즘과 연관키 렉탱글 공격 방법을 간략히 다룬다. 3장에서 256개의 연관키를 갖는 10 라운드 축소 AES-192 공격을 소개하고, 4장에서 64개의 연관키를 갖는 10라운드 축소 AES-192 공격을 소개한다. 끝으로, 5장은 본 논문의 결론 부분이다.

Ⅱ. AES-192 알고리즘이 소개

AES-192는 12라운드로 구성된 128 비트 블록 암호로 192 비트 키를 사용한다〔1〕. AES-192의 암호화 과정 상의 128비트 상태 값은[그림 1〕과 같이 16개 바이트로 이루어진 4X4 행렬로 나타낼 수 있다. AEST92 의한 라운드는 SubBytes (SB), ShiftRows (SR), MixColumns(MC), AddRoundKey(ARK) 함수를 차례대로 사용하며, 첫 번째 라운드 전에 ARK 함수를 적용하고(화이트닝 키), 마지막 라운드에서 MC 함수를 생략한다. 각 함수는 다음과 같이 동작한다.

[그림 1) AES의 128비트 상태 값

.BS 함수는 각각의 바이트에 동일한 비선형 S-박스를 적용한다.

. SR 함수는 행 0, 1, 2, 3을 왼쪽으로 각각 0, 1, 2, 3바이트 순환 이동시킨다.

. MC 함수는 선형 변환으로 4바이트로 구성된 각 열을 변환시키는 4X4 행렬로 GF(28) 위에서 연산한다.

.ARK 함수는 키와 상태 값의 비트별 합 연산을 수행한다.

AEST92의 키스케 줄은 6개의 32-비트 워드 ( 瑶, 飪, 用, 用, 用, 蟻)를 입력하여 4 . 13 = 52개의 32 -비트 워드를 생성하는 과정이다. 생성된 키의 32-비트 워드를 屁라고 한다면, 화이트닝 키 K" = (咐 的I粉 吟이고 첫 번째 라운드 키 =屁H 财 %이다. 이러한 순서로 12 라운드의 AddRoundkeyO 변환에 사용된다. 이때 두 개의변환 RotWordO 와 SubWordO 가 사용된다. RotWordO는 4-바이트 워드 입력값을 좌측으로 1-바이트 순환 이동시키는 변환이고, SubWordO는 입력받은 4-바이트 워드 입력값의 각 바이트에 S-box를 적용하는 변환이다. 다음은 AES-192 키 스케줄을 나타낸 것이다. ([그림 2] 참조). 骂 = ??q||c이|c이loo, 码=(02)1.

[그림 2) AES-192의 키스케 줄

#

Ⅲ. 연관키 렉탱글 공격

연관키 렉탱글 공격〔2, 10〕의 아이디어는 하나의 낮은 확률을 가지는 긴 연관키 차분 특성 대신에 높은 확률을 가지는 두 개의 짧은 연관키 차분 특성을 이용하는 것이다. {* 0, 1} 와 {0, 1}"을 각각 비밀키 공간과 평문/암호문 공간이라 할 때, 블록 암호 E-. (0, 1}" x{o, l}fc —{0, 1}"를 다음과 같이 두 개의 sub-cipher의 연결로 생각한다: E=E'。互, . 이때, 硏度에 대한 연관키 차분 특성의 확률을 다음과 같이 정의하자.

#

그러면, P . 6>2-"2이면 연관키 렉탱글 공격을 적용할 수 있다. 연관키 렉탱글 distinguisher는 다음과 같이 구성된다.

① A 깨의 평문쌍(4, q = 4知)를 임의로 선택한다. 이 평문 쌍의 집합을 建 표기한다. 평문 旦 와 키 &; 에 대응하는 암호문 q와 평문? 와 키 & 에대응하는 암호문 q를 얻는다(Ka®Kb = AKab).

② a 깨의 평문 쌍 (R, q = 沁)를 임의로 선택한다. 이 평문 쌍의 집합을 7로 표기한다. 평문 Pc 와 키 k에 대응하는 암호문 q와 평문4와 키 q를 玲에 대응하는 암호문 얻는다 (Kc®Kd = AKab, Ka®Kc = Kb®Kd = AKac).

③ 대응하는 암호문쌍이 다음을 만족하는 2개의 평문 쌍 (4, 均)€玷와 (R, Q)W7를 찾는다. Ca®Cc = Q(SCd=6.

S에 속하는 A 깨의 평문 쌍과 7에 속하는 A깨의 평문 쌍을 이용하여 M개의 quartet을 구성할 수 있으므로, ③의 躅 만족시키는 올바른 quartet의 기댓값은 /V . . μ2 詩이다. random cipher의 경우, 이러한 quartet의 기댓값은 TV、}血이 된다. 따라서, P . q>2-"/2이면 이러한 차분 특성을 이용하여 연관키 렉탱글 공격이 가능하다.

Ⅳ. 256개의 연관키를 사용하는 10 라운드 AES-192에 대한 연관키 렉탱글 공격

본 장에서는 1。라운드 AEST92를 E=E * 。E' 提。玲으로 표기한다. 여기에서 样는 화이트닝 단계부터 첫 번째 라운드의 Mix Column。까지의암호화 과정을 의미하고, 夢 은 첫 번째 라운드의 AddRoundKeyO를 포함한 라운드 1~4의 암호화 과정을 의미한다. 또한, »과 고는 각각 라운드 5~8 의 암호화 과정과 마지막 라운드의 암호화 과정을 의미한다. 본 공격에 E0는[그림 3〕과 같은 연관키 차분 특성을 사용하고, 矽은[그림 4〕와 같은 연관키 차분 특성을 사용한다. 이러한 연관키 차분을 이용하여 E'。度에 대한 연관키 렉탱글 distinguished 구성하고, 이를 이용하여 身와 京에 사용된 부분 라운드 키를 복구한다. 본 공격에서는 다음과 같은 표기를 사용한다.

0, 辭理代或": 亿, 角, 气A으로부터 생성된 화이트닝 키.

0 硃鸾AA: 으로부터 생성된 라운드 谄 라운드 키.

0 4, 户&, 4: 琢, 风瓦, 秩으로 암호화되는 평문

。4, 44矿 K", K"Q, Kd으로 乌4, 4, 马를 암호화할 때, 라운드 Z의 입력값.

0 厶明 : ℃。玲 또는 KI&IQ.

0 &£: 弋任质: 또는 X薄灼.

0 △臨 W 또는 I宾逐 .

0 △《 : W 또는 W-

。安 고정된 0이 아닌 차분 값.

0 y, z- 입력 차분 r에 대한 s-box의 출력 차분.

0 *: 알려지지 않은 바이트 변수.

4.1 8라운드 연관키 렉탱글 distinguisher2)

[그림 3〕과 [그림 4〕의 연관키 차분 특성은 AES-192의 키스케줄에서 차분의 확산 효과가 적은 특성을 이용하여 구성되었다. 즉, HWb{X)7\ X의 바이트 단위 해밍 무게를 나타낼 때, H凰(g) = 呻四) = 2, 啷(&£)=硏你吹) = 0, HWb (吹(, )=&凰(&寸c)=l을 만족하는 라운드 3의 라운와 攻」臨0碇을 구성할 수 있는 특성을 이용한다. 이러한 작은 해밍 무게를 가지는 키 차분을 이용하여 必 二厶罗/^인 연관키 차분 특성을 구성하면, HW(、△球) =HW(、△憲= 1을 만족한다. 그리고 1~2라운드를 확장한 연관키 차분 특성을 구성할 수 있다. 이렇게 구성한 4 라운드 연관키 차분 특성을 8라운드 연관키 렉탱글 distinguisher 에 적용하기 위하여 다음을 가정한다.

。가정 1. 키 quartet 低, 务/, 政은 다음을 만족한다.

#

0가정 2. 평문 quartet(4, 4, 4, 4)은 다음을 만족한다.

#

0가정 3.

#

参의 연관키 차분 특성에 의해서 罗£罗 = 罗㊉罗일확률 。= 239이다. (2~32 . 2—7)2 . (27-2). 232 + (2-32 . n )2 . 232 ^厂39또한, [그림 卜6〕에서 가리키는 것과 같이, I&舟 = 2电의 조건 하에서 罗㊉罗 = 0일 확률은 2-必이고, 硃审㊉段U), 硃(罗)厶以일 확률은 厂您伝 . ;)2 =2-231이다

random cipher에 대해서는, 厶以의 원소가 (/ — i)개 이므로, 동일한 조건을 만족하는 quartet 이 존재할 확률은(2~技8. (/- 1))2 乏 厂242이다. 厶以 의 첫 번째 열 B는 다음과 같다. 여기서 MC는 MixColumnsO을 의미하고, SB는 SubBytes0> 의미한다.

#

4.2 256개 연관키를 사용하는 10라운드 키AES-192에 대한 키 복구 공격

[그림 4〕에서 나타내는 키 차분을 생성하기 위해서, △段°의 세 번째 열에서 8-비트 차분 :r는 S나) OX를통과한 후 % 가 되어야 한다. 주어진 8-비트 차분 a:에대해 127개의 g가 가능하므로, Kb=Ka®AKab, K= 厶瓦, 瓦= A笄蜀京B远을 만족시킬 수 있는 가능한 모든 키 quartet (稣句, 瓦瓦)을 이용한다. 즉, &侦는[그림 3〕의 g와 g의 처음 두 열로 고정되고, 远는 입력 차분 $에 대해 S-box를 통과하여 나올 수 있는 127개의 출력 차분 ?/에 의해 127개의 가능한 후보를 가진다. 그러므로 256개의 연관키를 이용하여 127개의 키 quartet(7切气, 瓦瓦)을 구성하고 각각의 키 quartet에 대하여 10 라운드 AES-192에 대한 렉탱글 공격을 시도한다. 이 과정을 0’ =, 가 되는 키 quartet을 찾을 때까지 반복한다. 즉, 다음을 만족한다.

[그림 3] E0의 연관키 차분 특성

[그림 4] E1의 연관키 차분 특성

#

본 공격을 통하여 화이트닝 키 quartet (理, 統, 理, 碍)의 1, 2, 6, 7, 8, 11, 12, 13번째 바이트와 9 라운드 키 quartet (砖方여, 碍環)의 0, 7, 8, 10, 12, 13번째 바이트를 복구한다. 이 바이트는 [그림 3〕과 口림 4〕의 Mi와 &普에서 *로 표시된 부분을 의미한다. 그러므로 공격에서 2如의 화이트닝 키 quartet 추측과 炒의 라운드 9의 라운드 키 quartet의 추측이 필요하다. d, e, /가 알려지지 않은 8-비트 값일 때, g의 0, 7, 8, 10, 12, 13번째 바이트의 차분은 각각 d, 0, d, e, 0, /이고, g의 0, 7, 8. 10, 12, 13번째 바이트의 차분은 각각 a, 0, 0, 0, 0. 0이다. 그러므로 차분 0를 가지는 후보를 추측하기 위해서 총 2“3의 키 추측이 필요하다. 공격 알고리즘은 다음과 같다.

4.2.1 데이터 수집 단계

① 2以의 structure ■아, 疗, …, 欧를* 선택한다. 각각의 structure는 0, 3, 4, 5, 9, 10, 14, 15번째 바이트를 고정한 2"개의 평문으로 이루어진다. 각 structure의 평문에 대해 亿를 이용하여 대응하는 암호문을 얻는다 (단계 ①은 2颂의 선택 평문 query가 필요하다).

② 128-비트 也이 9번째 바이트만이 a이고 나머지 바이트는 0일 때, 각 好, 疔, …, S;5의 평문들에 捲을 XOR하여 听2의 structure 覺, 球, .., , 矿를 계산한다. 각 structure의 평문에 대해 "缶를 이용하여 대응하는 암호문을 얻는다. 여기서, Kb=Ka®AKabe] 다 (단계 ②도 단계 ①과 유사하게 2T의 선택 평문 query가 필요하다).

③ 차분 g에 대한 후보를 추측하고 福;°를 계산한다. 각각의 차분 △孩에 대해 다음을 수행한다.

O 尹의 structure 明5?, ■.., 君를 선택한다. 각각의 structure는 0, 3, 4, 5, 9, 10, 14, 15번째 바이트를 고정한 2晩개의 평문으로 이루어진다. 각 structure의 평문에 대해 瓦를 이용하여 대응하는 암호문을 얻는다. 여기서, 瓦=此国远 이다 (각각의 远의 추측에 대하여, 단계 ③-6)은 邱의 선택 평문 query가 필요하다).

© 각 S: 应, …, 号"의 평문들에 Mi XOR하여 254 의 structure 用, 瑤…新를 계산한다. 瓦 = 砲zMQ彦厶瓦c일 때, 각 structure의 평문에 대해 瓦를 이용하여 대응하는 암호문을 얻는다 (각각의 厶瓦°의 추측에 대하여, 단계 ③-(c)는 2成의 선택 평문 query가 필요하다).

4.2.2 Eb 와 암호문 quartet 분석 단계

④ 화이트닝 키 艘의 1, 2, 6, 7, 8, 11, 12, 13번째 바이트를 추측한다. 그리고 咪 =矇任以喝“ 林?=/拽)厶禳, 穿=肾玖峻推厶襟를 계산한다. 여기서 战와 厶襟는 각각 (그림 2-6)의 攻와 福%의 1, 2, 6, 7, 8, 11, 12, 13번째 바이트가 고정된 차분을 의미한다. 각각의 화이트닝 키 quartet(7啓統, 從, 谿)에 대하여 다음을 수행한다.

0 i는 1, 2, ・-, 252이고 4)는 1, 2, ・-, 2。4일 때, 瓷에 포함되는 각각의 평문 /* 。에 대하여 螳를 이용하여 屏를 부분 암호화한다. 이렇게 암호화 된 값을 或'。라 표기한다. 君a酒a驴에 대해 缪를 이용하여 甘를 부분 복호화한다. (吹产은 g 의 오른쪽 절반을 나타낸다). 그리고 이 값에 대응 하는 嚣에 속하는 평문을 찾는다. 이를 p” 표기한다. 또한, 7才'。와 7* 에 대응하는 암호문을 각각 <才'와 4'"로 표기한다. (각각의 64-비트 焙의 추측에 대해, 단계 窈©에서는 약 2m + 1.(8/16). (1/10)= 260 7 암호화 연산이 필요하다. 여기서 n 암호화 연산은 n번의 10 라운드 AES-192의 암호화 연산을 의미한다. 이 단계는 단계 ③의 △瓦。과 무관하기 때문에 단계 ③ 을 반복할 때마다 계산하지 않는다) .

© J는 이고 4는 일 때 , , 잉에 포함되는 각각의 평문 4认에 대하여 罗를 이용하여 浚를 부분 암호화한다. 이렇게 암호화된 라값을 蜡라 표기한다.任&쥐产에 대해 骨를 이용하여 加를 부분 복호화한다. 그리고 이 값에 대응하는 场에 속하는 평문을 찾는다. 이를 理, 로 표기한다. 또한, 可"와 巧"에 대응하는 암호문을 각각 <#'"와 C严로 표기한다. (각각의 71-비트 (縁', △瓦'。)의 추측에 대해, 단계 ④-(c)는 약 264 + 1.(8/16). (1/10)= 260'7 암호화 연산이 필요하다).

© 암호문의 1, 2, 3, 4, 5, 6, 9, 14번째 바이트의 순서대로 甘岫扌'를 해쉬 테이블에 저장한다. 그리고 모든 < j, la. 匕에 대해 (甘緬扌‘恤 缶(C州<皆")盐嚏(1)IX嚏(2)인지 검사한다. 여기서 0, 가 입력 차분 z에 의해 발생할 수 있는 출력 차분 중 하나일 때. △状(1) = ((*, 0, 0, 0 ), (工, 0, 0, *), (如0, 札2/2), (, 3, *, °, 02))이 고 , △理(2)= ((*, 0, 0, 0 ), (皿0* , 0, ), (伉, 0* , 您), (%, *, 。必))이다. 여기서, (1)와 戒(2)는 모두 △盅의 후보가 될 수 있다. 검사를 통과하는 암호문 quartet (*",(部季七이&)을 해쉬 테이블에 유지하여 단계 5에서 이용한다. 厶状(1)은 痒개의 후보에서 产개의 값이 검사를 통과하고, △状(2) 는 尹8개의 후보에서 2"개의 값이 검사를 통과한다. 그러므로 검사를 통과하는 암호문 quartet의 수의 기댓값은 2(52 + 64)- 2 t 2- 128 + 53 . ?- 128 + 46= 275o]t]- (각각의 71-비트 (縁, 厶瓦°)의 추측에 대해, 단계 ④-©에서는 2118 메모리 접근이 필요하다. 이때 필요한 시간은 2111 암호화 연산과 동일하다.

4.2.3 Ef의 분석 단계

⑤ 라운드 9에서 라운드 키의 12번째 바이트인 8-비트값 就”'를 추측하고, 셔", = 셔”.. = 吟* = 縁。으로 정한다. 8-비트 라운드 키 quartet(W, 셔*', /捫 "" ) 에 대해 다음을 수행한다.

0남아 있는 모든 암호문 quartet(C* 劳, 世七 이*)에 대해, 6丫。오]" C* 을 각각 府。와 曹 로 以를 부분 복호화한다. 이때, 부분 복호화한 값의 차분이 /가 아니면 이에 대응하는 quartet을 버린다. 이 과정은 대략 7-비트 필터링 에 해당하므로 이 단계를 지나면 2踞개의 암호문 quartet이 남는다 (부분 복호화는 (々", q")의 12 바이트를 이용하여 정렬한 후, 남은 암호문 quartet에 대하여 수행흐]거나, 사전 계산 테이블을 이용할 수 있기 때문에 단계 ⑤-© 은 이전 단계에 비해 상대적으로 적은 시간 복잡도를 필요로 한다) .

© 남은 암호문 quartet에 대해, 劳와 留을 각각 覺。와 f紀로 矽를 부분 복호화한다. 단계 ⑤h©과 유사하게 부분 복호화한 값의 차분이 ® 가 아닌 경우, 이에 대응하는 암호문 quartet을 버린다. 그러므로 이 단계를 지나면 2庭개의 암호문 quartet이 남게 된다. (단계 ⑤-© 역시 상대적으로 적은 시간 복잡도를 필요로 한다).

⑥ 라운드 9에서 라운드 키의 8번째 바이트인 8-비트값 曾를 추측하고, 磚" = 曹으로 정한다. 8-비트 라운드 키쌍 (縁", 縁")에 대해 다음을 수행한다.

O 남아있는 모든 암호문 quartet (*七 带。, C若)에 대해, 甘'。와 世를 각각 曹와 縁”로 由를 부분 복호화한다. 이때, 부분 복호화한 값의 차분이 H가 아닌 경우, 이에 대응하는 암호문 quartet을 버린다. 이 단계를 지나면 2"개의 암호문 quartet0] 남는다.

© 8■비트 값 d를 추측하고, 8-비트 라운드 키쌍 (間e =曾珈屬" =셔"珈)를 계산한다. 그리고 8-비트 라운드 키의 쌍 (셔, ", 盼*)에 대해 다음을 수행한다.

@ 남아있는 모든 암호문 quartet ((才", <苛'。,C*, C才")에 대해, q’"와 W를 각각 职와府"를 이용하여 以를 부분 복호화한다. 이때, 부분 복호화한 값의 차분이 工가 아닌 경우, 이에 대응하는 암호문 quartet을 버린다. 이단계를 지나면 2如개의 암호문 quartet0] 남는다 (단계 ⑤와 유사하게 단계 ⑥은 효율적으로 수행된다).

© 9라운드 키의 0, 7, 10, 13번째 바이트인 32-비트 값 曹를 추측하고, w = 齢2而, 0, 0, 0)을 계산한다. 8-비트 라운드 키의 쌍(W, W)에 대해 다음을 수행한다.

O 남아있는 모든 암호문 quartet (彳'。, q, ", 曾, )에 대해 , 带와 顷를 각각 膏와 曹 로 以를 부분 복호화한다. 이때, 부분 복호화한 값의 차분이 B에 속하지 않으면, 이에 대응하는 암호문 quartet을 버린다. B는 총 2%개의 값에서 2, -1개로 이루어지므로, 이 단계를 지나면 약 15-비트 필터링이 되어 产개의 암호문 quartet 이 남는다 (각각의 127-비트 값 (A*, d, 玲", 命。, 焙, 厶政)의 추측에 대해, 단계 QX3)은 247 + 1.(4/16). (1/10)= 242-7 암호화 연산을 필요로 한다).

© 두 개의 8-비트 값 e, f를 주즉하고, 知 = 盼您(d, 0, e, /), W = 曹<$0做:, 0, eJ))를 계산한다. 여기서 d는 단계 ⑥■©에서 추측한 8-비트값이다. 32-비트 라운드 키의 쌍 (曹, 啰)에 대해 다음을 수행한다.

@ 남아있는 모든 암호문 quartet (<才气 <才', q妇铲)에 대해. 孝와 q■'를 각각 w와 省, , 를 이용하여 以를 부분 복호화한다. 이때, 부분 복호화한 값의 차분이 B에 속하지 않으면, 이에 대응하는 암호문 quartet을 버린다. 이 과정은 25-비트 필터 링 에 해당하므로, 이 단계를 지나면 각각의 잘못된 키의 추측에 대해 厂3개의 암호문 quartet이 남는다 (각각의 143-비트 값 (e, £W, d, 曾, 政, ", 焙, △依)의 추측에 대해, 단계(ZbgP@ 은 222 + 1.(4/16). (1/10)= 2177 암호화 연산을 필요로 한다).

⑧ 남아있는 모든 암호문 quartet ((才", 4''°, /", 4'")을, 曹와 啓’의 n번째 바이트의 차분에 따라 분류한다. 가장 많은 수를 가지는 그룹을 제외한 모든 암호문 quartet을 버린다. 이 과정은 7-비트 필터링에 해당하므로 각각의 잘못된 키의 추측에 대해, 이 과정을 거친 후 남게 되는 암호문 quartet의 수는 貝。이다.

4.2.4 올바른 키 찾기 단계

⑨ 테이블에 하나 이상의 암호문 quartet이 남아있다면, 3) 이때 추측한 키를 옳은 키 후보로 결정한다. 남은 키 비트는 두 쌍의 평문. 암호문을 이용한 전수조사를 통해 찾는다. 만약, 이 과정을 통과하는 키후보가 존재하면 이 키를 실제 비밀키로 결정한다.

단계 ①, ②, ③에서 약 牙眼개의 선택 평문이 필요하므로, 공격에 필요한 데이터 복잡도는 2124 연관키 선택 평문이 필요하다. 단계 ④는 如번 수행되므로 단계 窈©의 시간 복잡도는 260 7 + 71 = 2131'7 암호화 연산이다. 그리고 단계 ④-(c) 는 2m + n=2i82의 암호화 연산이 필요하다. 위에서 언급한 바와 같이 단계 ⑤, ⑥, ⑧의 시간 복잡도는 상대적으로 적다.

단계 ⑦의 시간 복잡도는 추측하는 라운드 키의 개수에 따라 반복하는 횟수에 의존한다. 단계。©과 ⑦ -。는 각각 2127회. 2皿회 수행되므로, 2侦, 과 2】。財의 암호화 연산이 필요하다. 그러나 이 단계의 연산은 분할 정복 방법을 통해 더 효율적으로 계산이 7}능하다. 단계。©에서는 남아 있는 암호문 quartet의 4 바이트 중 2바이트를 먼저 복호화하고, 이 차분이 B에 속하지 않는 quartet을 버리고 나머지 2개의 바이트에 대해 각각의 바이트에 대해서 동일한 검사를 수행한다. 이러한 방법을 단계 ©(。에도 적용할 수 있다. 이를 통해 단계 QA©과 단계 ⑦-©의 시간 복잡도를 각각 2槌空과 2眼3, 의 암호화 연산으로 줄일 수 있다.

이 공격의 성공 확률을 계산하기 위해서 포 와송 분포를 이용한다. 잘못 추측된 키에 대해서 남겨지는 암호문 quartet의 기댓값은 厂】。이므로포 와송와송 분포에 의해 각각의 잘못된 추측된 키에 대해서 하나 이상의 암호문 quartet이 남겨질 확률은 厂"이다.

#

그러므로 단계 ⑨에서 검사할 잘못 추측된 키 quartet의 개수의 기댓값은 屮"】。=2如이고, 단계 ⑨의 시간 복잡도는 약 2182 암호화 연산이다.

올바른 키 quartet에 대해서 남겨지는 올바른 암호문 quartet 의 기댓값은 8 라운드 렉탱글 distinguisher에 의해 2 = 2?32. 厂2危이다. 그러므로 올바른 키 quartet에 대해서 1개 이상의 암호문 quartet이 남겨질 확률은 포 와송 분포에 의해 0.86이다, 丫~户房(入 = 2), Prr(y> l)~o.86. 그러므로 본 공격은 2"4의 연관키 선택 평문을 이용하여 2*3의 암호화 연산을 통하여 성공 확률 0.86으로 올바른 키를 복구할 수 있다.

4.3 AES-192에 대한 64개의 연관키를 이용하는 연관키 렉탱글 공격

본 공격에 사용하는 연관키를 더욱 정교하게 선택하면, 공격에 사용되는 연관키의 개수를 256개에서 64 개로 줄일 수 있다. 다음과 같은 64개의 연관키를 이용한다. 4)

0 16개의 K의 후보 7<为 = 0, 1, ..., 15)는 3, 11번째 바이트를 제외한 모든 바이트가 동일하고, 3, 11번째 바이트는 동일한 값으로 각각 %, 气, ..., 細이다. 여기서 s는 쌍마다 다른 값을 가진다.

0 16개의 塩의 후보 /術 = 0, 1, ..., 15)는, 君 任四의 1, 9번째 바이트는 /를 이고, 이외의 바이트는 0을 만족한다.

0 16개의 &amp; 의 후보 即顶 = 0丄-, 15)는 3, 11번째 바이트를 제외한 모든 바이트가 동일하고, 3, 11번째 바이트는 동일한 값으로 각각 *, …, 如이다. 여기서 弓는 쌍마다 다른 값을 가진다. 그리고 玲缶缶의 8, 12번째 바이트는 $ 이다.

0 16개의 为의 후보 用。= 0丄-, 15)는 气临句의 1, 9번째 바이트는 Z이고, 이외의 바이트는 0을 만족한다.

이러한 관계를 가지는 64개의 연관키를 이용하여 256개의 연관키 quartet 代四, 媳, 而)을 생성할 수 있다. 그러 면 이 중에 하나는 Ka ©A;; = K;: ®K'= AKah 와 K&K"= 端$蜩 = 를 만족한다.

위의 조건을 만족하는 64개의 연관키를 이용하면 각각의 키에 대해 2也개의 선택 평문을 이용하므로 2座의 연관키 선택 평문이 필요하다. 또한. 단계 ④-©에서 256개의 키 quartet에 대해 반복해야 하므로꼬83 암호화 연산이 필요하고, 단계 ⑨에서 2应의 암호화 연산이 필요하므로 2盘+2& = 2囲3의 암호화 연산으로 키를 복구할 수 있다.

Ⅴ. 결론

본 논문에서는 연관 키 렉탱글 공격 기법이 AES-192의 총 12라운드 중 10라운드에 적용될 수 있음을 보였다. 256개의 연관키를 사용하는 첫 10라운드 축소 AEST92는 2心의 데이터 복잡도와 아83의 시간복잡도로, 64개의 연관 키를 사용하는 첫 10라운드 축소 AES-192는 2伐의 데이터 복잡도와 2您・6의 시간복잡도로 공격된다’ 본 논문의 공격은 AEST92에 대한 기존 공격 중 최상의 공격이다.

* 이 연구에 참여한 연구자의 일부는 '2단계 BK21 사업'의 지원비를 받았음.

References

  1. J. Daemen and V. Rijmen, ''AES proposal : Rij ndael," http://csrc.nist.gov / encryption / aes/round2/ conf3/ aes3paper. html
  2. E. Biham, O. Dunkelman, and N. Keller, "Related-key boomerang and rectangle attacks," EUROCRYPT'05, LNCS 3494, pp. 507-525, 2005
  3. W. Zhang, W. Wu, and D. Feng, "New results on impossible differential cryptanalysis of reduced AES," ICISC'07, LNCS 4817, pp. 239-250, 2007
  4. S. Lucks. ''Attacking seven rounds of Rijndael under 192-bit and 256-bit keys," Proceedings of AES 3, NIST, 2000
  5. G. Jakimoski and Y. Desmedt, "Relatedkey differential cryptanalysis of 192-bit key AES variants," SAC'03, LNCS 3006, pp. 208-221, 2004
  6. E. Biham, O. Dunkelman, and N. Keller. "Related-key impossible differential attacks on AES-192," CT-RSA'06, LNCS 3860, pp. 21-31, 2006 https://doi.org/10.1007/11605805
  7. S. Hong. J. Kim, S. Lee, and B. Preneel, "Related-key rectangle attacks on reduced versions of SHACAL-1 and AES-192," FSE 2005, LNCS 3557, pp. 368-383, 2005 https://doi.org/10.1007/b137506
  8. A. Biryukov, "The boomerang attack on 5 and 6-round AES," AES, LNCS 3373, pp. 11-16, 2005
  9. J. Kim, S. Hong, and B. Preneel, "Related-key rectangle attacks on reduced AES-192 and AES-256," FSE 2007, LNCS 4593, pp. 225-241, 2007
  10. J. Kim. G. Kim. S. Hong. S. Lee. and D. Hong. "The related-key rectangle attack application to SHACAL-l." ACISP 2004, LNCS 3108. pp. 123-136, 2004
  11. E. Biham. "New types of cryptanalytic attack using related keys:' Journal of Cryptology. Vol. 7. No.4. pp. 156-171, Dec. 1994 https://doi.org/10.1007/BF00203965
  12. E. Biham and N. Keller. "Cryptanalysis of reduced variants of Rijndael," http:// csrc. nist. gov / encryption/ aes/round2/ co nf3/ aes3paper .html
  13. E. Biham and A. Shamir. "Differential cryptanalysis of DES-like cryptosystems." Advances in Cryptology - CRYPTO'90, LNCS 537, pp. 2-21, 1990
  14. J.H. Cheon. M.J. Kim. K Kim. J.Y. Lee. and S.W. Kang, "Improved impossible differential cryptanalysis of Rijndael and Crypton." ICISC 2001, LNCS 2288, pp. 121-143, 2002
  15. N. Ferguson. J. Kelsey. S. Lucks. B. Schneier. M. Stay. D. Wagner. and D. Whiting, "Improved cryptanalysis of Rijndael," FSE 2000, LNCS 1978, pp. 213-230, 2001