DOI QR코드

DOI QR Code

Improved Security Analysis of Reduced SMS4 Block Cipher

축소된 SMS4 블록 암호에 대한 향상된 안전성 분석

  • Published : 2009.06.30

Abstract

In this paper, we introduce improved differential and linear attacks on the SMS4 block cipher which is used in the Chinese national standard WAPI (WLAN Authentication and Privacy Infrastructure, WLAN - Wireless Local Area Network): First, we introduce how to extend previously known differential attacks on SMS4 from 20 or 21 to 22 out of the full 32 rounds. Second, we improve a previously known linear attack on 22-round reduced SMS4 from $2^{119}$ known plaintexts, $2^{109}$ memory bytes, $2^{117}$ encryptions to $2^{117}$ known plaintexts, $2^{l09}$ memory bytes, $2^{112.24}$ encryptions, by using a new linear approximation.

본 논문에서는 중국 무선 네트워크 표준 WAPI에 사용되고 있는 블록 암호 SMS4에 대한 향상된 차분 공격 및 선형 공격을 소개한다: 먼저, SMS4의 전체 32 라운드 중 20또는 21 라운드에 적용된 기존 차분 공격을 22 라운드 차분 공격으로 확장하는 방법을 소개한다. 또한 22 라운드로 축소된 SMS4에 적용된 기존 선형 공격의 복잡도, $2^{119}$기지 평문, $2^{109}$ 메모리 바이트, $2^{117}$의 암호와 과정을 새로운 선형 근사식을 이용하여 $2^{117}$기지 평문, $2^{109}$ 메모리 바이트, $2^{112.24}$ 암호와 과정으로 향상시킨다. 본 논문의 분석 결과는 SMS4에 대해 알려진 공격 중 최상의 공격이다.

Keywords

Ⅰ. 서론

SMS4 는 중국 무선 네트워크 표준 WAPI (WLAN Authentication and Privacy Infrastructure, WLAN-Wireless Local Area Network) 에 사용되고 있는 32■■라운드 128-비트 블록 암호이다. 현재까지 SMS4에 대한 분석 결과로는 20, 21-라운드 SMS4에 대한 차분 공격[1, 2], 22-라운드 SMS4에 대한 선형 공격[3), 16-라운드 SMS4에 대한 불능 차분 공격[4, 5], 14-라운드 SMS4에 대한렉탱글 공격[4, 5]과 13-라운드 SMS4에 대한 포화공격[6] 이 소개되었다.

본 논문에서는 블록 암호 SMS4에 대한 기존 최상의 공격인 차분 공격과 선형 공격을 향상시킨다. 먼저, 키 복구 라운드에 최적화된 filtering 기법을 이용하여, 기존의 20. 21 라운드 SMS4 차분 공격을 22 라운드 차분 공격으로 향상시킨다. 또한, 새로운 18-라운드 선형 근 사 식을 이용하여, 기존의 22 라운드 SMS4 선형 공격에 대한 복잡도를 향상시키는 방법을 소개한다.[표 1]은 SMS4에 대한 기존의 분석 결과와 본 논문의 향상된 분석 결과를 나타낸 것이다.

[표 1) SMS4에 대한 분석 결과 비교

본 논문의 구성은 다음과 같다. 2절에서는 본 논문에서 사용하는 표기법을 정리하고 SMS4에 대한 간략한 알고리즘을 설명한다. 3절에서는 SMS4에 대한 향상된 차분 공격을 소개하고, 4절에서는 SMS 4에 대한 향상된 선형 공격을 소개한다. 마지막으로 5절은 본 논문의 결론으로 구성된다.

Ⅱ. 표기법 및 SMS4

본 절에서는 본 논문에 전반적으로 사용되는 표기법을 정리하고, SMS4 블록 암호를 간략히 소개한다.

2.1 표기법

워드의 비트(바이트) 위치는 가장 오른쪽 최하위 비트(바이트)부터 0으로 시작하며, 왼쪽으로 갈수록 커진다.

- ® : 비트별 배타적 논리합.

- <« : i 비트만큼 왼쪽으로 순환이동.

- ?: 알 수 없는 값.

- n : 두 값을 연결하는 연접 연산.

— Sbox : SMS4의 8×8 S-박스.

- X・Y: 두 32-비트 워드 X, Y에 대한 비트별 내적 연산.

- [X0 0 = 04, 2, 3): 32-비트 워드 X의 丿번째최하위 바이트.

2.2 SMS4 블록 암호 소개

SMS4는 전체 32-라운드 불균형 Feistal network 구조이다. 블록 크기와 비밀키 크기는 128-비트로써 각각 평문과 키 128-비트를 입력받아 128■비트의 암호문을 출력한다. 평문을 4개의 32-비트 워드 P=(.Pa, PvP.i, P.i)S. 표기하고 2(=1, 2, ..., 32)번째 라운드 암호화 후의 중간값을 JT로 표기한다. SMS4의 전체 32-라운드 암호화 과정은 다음과 같다.

1. 128■비트 평문 牛 (%, 4, %, %)을 입력한다.

2. 4(=1, ..., 32)번째 라운드 암호화 과정은 다음과 같다.

-4+3 =* 4--足=(4, 4 +

辺酒(4任4+芦4+2任辺缶))・ + 2'4 + 3 ),

3. 암호문 鸟2, %3, £", 45)을 출력한다.

여기서 RK, 는 i 번째 라운드에 대한 32-비트 라운드 키이다. SMS4의 라운드 함수에는 두 가지 함수가 사용된다. 확산의 성질을 주는 선형 변환 함수 Z>(r)=a迁 S《2)($S<«10)$(;z:<18)$S《24)와 S 박스를 사용하는 비선형 함수 sS)가 사용된다. SMS4의 S 박스는 동일한 네 개의 8><8 S 박스를 사용한다. 초기에 SMS4에 사용되는 s 박스의 설계원리가 공개되지 않았지만 Fen 등에 의해 AES의 S 박스를 기반으로 설계됨이 밝혀졌다[6]. 네 개의 입력 바이트에 대해 함수 S(z)는 다음과 같이 정의된다.

입력 : #

줄력 : #

여기서 s(r)는 SMS4의 8×8 S 박스이다. 본 논문에서는 합성 함수 D。S를 비선형 함수 F로 표기한다.

[그림 1]은 SMS4의 라운드 함수와 F 함수를 나타낸다.

(그림 1) (a) 라운드 함수, (b) F 함수

SMS4의 복호화 과정은 사용되는 라운드 키가 암호화 과정과 반대로 사용되는 것을 제외하고 암호화 과정과 동일하다. SMS4의 키 생성 과정은 본 논문의 공격 과정에 큰 영향을 미치지 않으므로, 생략한다.

Ⅲ. SMS4의 22-라운드 차분 공격

3.1 SMS4의 18라운드 차분 특성[2]

Zhange (2) 에서 함수 J의 확률 2力을 갖는 차분 특성 a—m에 대해 7905 (약 아3) 개의 任값이 존재함을 밝혀냈다. 각각의 a의 값은 바이트 헤밍 웨이트 HWb(a)=3을 만족하며 첫 번째 바이트는 0으로 고정되어 있고 나머지 비. 이트에 대해서는 각각 확률 2~7를갖는다. F 함수의 동일한 입출력 차분 값의 특성을 이용하여 확률 2陞를 갖는 5-라운드 반복 차분 특성 *0(a)qp< (c", a, 0) 을 구성할 수 있다. 또한, 이 5-라운드 반복 차분 특성을 이용하여 확률 을 갖는 18-라운드 차분 특성을 구성할 수 있다[2]. 공격에 사용되는 차분 특성의 정확한 차분 값들과 확률은[표 2] 와 같다 ([표 2]의&amp; 는 함수 尸세 대한 입력 차분이 a 일 때, 모든 가능한 출력 차분 집합을 의미한다).

(표 2) 18-라운드 차분 특성과 키 복구에 사용될 마지막 4 라운드 차분 특성

3.2 공격 과정

본 소절에서는 Zhang의 21-라운드 차분 공격[2] 을 22-라운드 SMS4에 대한 키 복구 공격으로 확장시킨다. 본 논문의 분석 방법은 암호문의 8-비트 여과 과정 기법에 기반을 둔다". 즉, 키 추측과.정에서 전체 32-비트 라운드 키가 아닌 각각의 바이트 단위로서 키 추측을 수행하고 원래의 공격보다 암호문쌍을 효과적으로 여과한다. 본 22-라운드 차분 공격은 앞 소절에서 소개한 18-라운드 차분 특성을 1T8 라운드까지 적용한 후. 마지막 19, 20, 21, 22라운드 그부분 키를 복구한다. 그 후. 최종적으로 남아있는 비밀키에 대해 전수 조사를 실행하여 전체 128-비트 비밀키를 복구한다. 본 공격에서 Diff는 앞 소절에서 찾아낸 2”개의 a값에 대한 집합 {(aqq, 。)}를 표기한다. 본 22-라운드 차분 공격은 다음과 같다.

1. 2% 개의 평문으로 구성된 2如개의 구조체를 생성한 후 대응하는 암호문을 선택 평문 공격을 이용하여 획득. 한다. 각 구조체의 평문들은 56 비트 (0, 1, 2, 3, 7. 11. 15번째 바이트)가 고정되어 있고 나머지 72비트는 모든 가능한 값을 갖는다. 따라서, 각 구조체에 대해서 차분 값 (, ..*** 0) 을 갖는 대략 2(4)( = (/2)從)개의 평문쌍을 얻을 수 있다. (단, * 는 첫번째 바이트는 0이고 나머지 바이트는 임의의 값을 갖는다). 생성된 평문 쌍에 대하여 각각의 차분 값이 집합 Diff에 속하는지 확인하고 만족하지 봇하는 평문 쌍은 버린다. 이여 과 과정 후에 2囲( = 2".尹3.(213/272))의 평문 쌍이 평균적으로 남게 된다.

2. 여과 후에 남아있는 평문 쌍 CP"巧에 대응하는암호문쌍 (c/SaO에 대해 최상위 워드의 차분 값이 집합 4에 속하는지 확인한다. (。= (0仃, £爲奇)으로 표기한다). S-박스 차분 분포표에 의해 鸟에 속하는 원소의 개수는 총 221 이므로, 이 여과 과정 후에 2“9(=213。. (2勺2舞))개의 암호문쌍이 남을 것点 기대된다.

3. 22라운드 키의 첫 번째 1 바이트 硬空를 추측한다. 남아있는 암호문 쌍 (顼, <乃에 대해, 1 라운드 F 함수의 첫 번째 S-박스 출력 차분 값을 계산하여, 다음의 식을 체크한다.

#

여기서는 32-비트 워드 X의 j 번째 바이트를 나타낸다. 时끄, 。에 대해 올바른 키를 추측했을 때, 계산된 암호문쌍이 옳은 암호문쌍이라면 위 식이 성립하게 된다. 따라서 위 식이 성립하지 않으면, 계산된 암호문쌍은 버린다. 옳은 암호문쌍이 아니거나, 추측한 키가 옳은 키가 아니라면 위 식이 성립할 확률은 랜덤한 확률 을 따르게 된다. 이 과정에서 2nl(=2119 - 2~5 * * 8) 개의 암호문쌍이 남게 된다.

4. 남아있는 22, 21, 20라운드의 각 바이트 단위의 부분 키에 대해 단계 3의 과정을 순차적으로 적용한다. 마찬가지로 S-박스의 8-비트 출력 차분 값을 비교하여 부분적으로 암호화된 암호문 쌍을 여과할 수 있다. 이 단계까지 대략 223(= 2111 . (厂8产)개의 암호문쌍이 남게 된다.

5. 19 라운드 키의 최하위 1 바이트 成臨。를 추측한다. 마찬가지로 S-박스의 출력 차분값을 비교하여 암호문쌍을 여과한다. 이 단계에서는 이미 공격의 시작 과정에서 19라운드 F 함수의 출력 차분값들에 대해 鸟를 통한 여과 과정을 수행했기 때문에 대략 2-7(=1/127)의 확률로 암호문쌍이 여과된다. 남아있는 砥, , ."气山에 대하여도 동일한 과정을 반복한다. 따라서 살아남는 암호문쌍의 개수는 22 (= 223 . (厂7)3)로 기대할 수 있다. 반면, 19라운드까지 올바른 때키가 추측됐을 때 18-라운드 차분 특성을 따르는 올바른 암호문쌍의 개수는 16(=2剛 . 厂鼻)개로기대할 수 있다. 즉, 마지막 단계까지 남아 있는 암호문 쌍의 개수가 15개 이상인 키를 올바른 /咨so, 氏灼從°, ‘呢1, ’從2에 대한 후보 키로 출력한다.

6. 줄력 된 RA私0, 反缶9, 1, 石国9, 2, 石务0〃饱1, , 呢2값에 대해서 비밀키의 남아있는 8비트를 전수 조사하여 복구한다.

본 차분 공격의 데이터 복잡도는 2118 선택 평문이며, 테이블에 2寥개의 선택 평문에 대한 암호문을 저장해야 하므로 메모리 복잡도는 2123(=2118 -16-2) 바이트를 요구한다.

또한, 본 차분 공격의 시간 복잡도는 다음과 같이 계산할 수 있다. 단계 3에서의 시간 복잡도는 추측된 8 비트의 키 R&m에 대해, 2”。개의 암호문쌍을 한 개의 S-박스를 통하여 부분적으로 암호화하므로 2121'54(=« 2119 ■ 28 . 2 - (1/22). (1/4)) 22-라운드 SMS4 의 암호화 연산이다. 각각의 8■비트 키 추측과정에서 여과되어 버리는 암호문쌍의 개수와 추가적으로 추측해야 되는 키 비트들의 수는 동일하므로 단계 4에서의 각각 시간 복잡도는 2121-54 암호화 연산으로 동일하다. 그러므로 단계 4까지의 시간 복잡도는 대략 12 . 212154 암호화 연산이다. 단계 5에서의 키 추측 과정에서는 厂7의 확률로 암호문쌍이 여과되므로, 각각의 시간 복잡도는 2122-54 암호화 연산이다. 전수 조사과정의 시간복잡도를 계산하기 위해서는 단계 5까지 남아있는 부분 키의 개수를 계산해야 된다. 포아송 분포 #에 의해서, 단계 5까지 살아남는 키의 개수는 대략 2104'39 (=2120 . 厂项庭)로 계산할 수 있다. 이는 단계 6의 시간복잡도가 대략 2112.39의 암호화 연산이다. 따라서, 본 차분 공격의 전체 시간 복잡도는 2125'71( - 12 . 2121-54 + 3. 尹2")22-라운드 SMS4 암호화 연산이다. 본 차분 공격의 성공률은 포아송 분포 X~ 7初(入 = 2"에 의해서 Pr(X>14)= 0.6이匸"

Ⅳ. SMS4의 22-라운드 선형 공격

4.1 SMS4의 새로운 18라운드 선형 근 사 식

차분 공격과 마찬가지로, SMS4의 전체 선형 근 사 식을 찾기 위해서는 SMS4의 비선형 함수인 S-박스에 대한 선형 근 사 식을 연구할 필요가 있다. 컴퓨터 프로그램을 통하여 얻어진 S-박스의 선형 분포표에서 가장 높은 bias 값은 2T이며 그다음은 厂5의 값을 갖는다. 차분 공격과 동일하게, SMS4의 불균형 Feistel network 구조로 인해서 비선형 함수 F에 동일한 입출력 비 트 마스크를 적용하였을 때 SMS 4의 선형 근사식을 효율적으로 구성할 수 있다. 따라서 본 논문에서는 F 함수의 모든 가능한 동일한 입출력 비트 마스크에 대한 선형 근 사 식을 조사했다. 본 선형공격에서는 bias 厂顺秘을 갖는 입출력 비트 마스크 ra = [0, 64, 6£同를 이용한다. F 함수에 대한 동일 한입 출력 마스크 를 갖기 위해서는, 하위 세 개의 S-박스 입력 값의 입력 비트 마스크 % 값은 S-박스 출력값에 대한 비트 마스크 七 =[0, 6d, 13, 이값을 가져야 한다. 이 때의 bias는 세 개의 능동 S-박스에 대해 각각 2-4.19, 2-39, 广를 갖는다. $-박스를 통과한 후의 F:j 의 값은 다시 D 함수를 통과하여 원래의 입력 비트 마스크 具값과 같게 된다. F 함수에 대한 본 선형 근 사 식은 5, 6, 10, 11, 15, 16라운드의 F 함수에 적용된다. [그림 2]는 SMS4의 전체 18-라운드 선형 근 사 식을 나타내고 있으며 다음의 식들은 각 라운드에서의 선형 근 사 식을 표현한다.

[그림 2) SMS4의 18-라운드 선형 근 사 식

#

여기서 각 라운드의 선형 근 사 식은 bias 厂1。"을 갖는다. 歹(/担比+1$4+法飢瓯)는 4-准4+3과 동일하므로, 위의 선형 근 사 식은 다음과 같이 표현된다.

#(4.1)

#(4.2)

#(4.3)

#(4.4)

#(4.5)

#(4.6)

그러므로 식 (4.1), ..., (4.6) 을 乂011하여 2 라운드부터 19 라운드까지의 18-라운드 선형 근사식을 아래와 같이 얻을 수 있다. (주의 : 본 선형 근사식은 첫 번째 라운드.가 아닌 두 번째 라운드부터 적용된다).

#(4.7)

18-라운드 선형 근 사 식에서 EpRg는 각각 1 라운드. 19 라운드 후의 중간값이다. 본 선형 근사식은 Pilling-up lemma에 의해서 bias 厂”斟을 갖는다. 선형 공격의 성공률은 필요로 하는 기지 평문의 개수 c . 广2에 의존한다. 본 선형 공격은 기지 평문 공격 시나리오에 따라 2「官( = 8 .(2-3"8)-2)개의 평문에 대해 대응하는 22-라운드 SMS4 암호문을 준비한다. [7]에서 소개된 Matsui의 성공 확률에 따라 본 선형공격은 약 96%의 성공 확률을 갖는다.

4.2 공격 과정

본 선형 공격은 [7] 에서 소개된 Matsui의 Algorithm 2를 적용하고[8]에서 소개된 기법을 이용한다. 일반적인 Matsui의 Algorithm 2는 전체 r 라운드의 마지막 r' 라운드가 선형 근 사 식에 포함된 키 비트들을 추측하여 복호화된 후, (r-r')-라운드 선형 근 사 식이 적용된다’ 전체 평문-암호문쌍에 대하여 선형 근사식이 만족하는 개수를 카운트하여 카운트 값이 가장 많이 절반에서 치우친 부분 키를 올바른 키 후보로 출력한다. 본 22-라운드 선형 공격은 첫 1-라운드, 마지막 3-라운드 부분 키를 추측한 후, 2 라운드 부터 19 라운드까지의 18-라운드 선형 근사식이 적용된다. 최종적으로 1, 20, 21, 22라운드 부분키를 복구한 후, 남아있는 비밀키를 전수 조사를 통하여 복구한다’

Matsui는[9]에서 선형 공격의 시간 복잡도를 상당히 줄일 수 있는 개선된 Algorithm 2를 제안했다. 제안된 공격의 시간 복잡도는 추측되는 부분키가 관여하는 능동 牛박스의 개수에 의존한다. 개선된 Algorithm 2가 본 선형 공격에 적용된다. 본 22■■라운드 선형 공격에서 1, 20라운드의 능동 S-박스의 개수는 각각 3개씩이며, 21, 22라운드의 능동 S-박스의 개수는 각각 4개씩이다. 따라서 전체 2'"개의 부분 키에 대해서 선형 근 사 식의 bias를 계산할 필요가 있다. 본 선형 공격에서는 모든 암호문이 아닌, 능동 S-박스에 대응하는 암호문 비트들에 대해서 bias를 계산한다.

먼저, 선형 근 사 식 (4.7) 을 평문과 22-라운드 SMS4 암호문 그리고 1, 20, 21. 22 라운드 부분 키에 대한 선형 근 사 식으로 확장시킨다. 확장된 선형 근 사 식은 다음과 같다.

#(4.8)

여기서 K(RK)는 각 라운드의 부분 키로 구성된 식 (4.7) 의 우변이다. 위의 식을 아래의 방정식으로 다시 표현한다.

#(4.9)

g(P, C)는 평문과 암호문으로 구성된 선형 근 사 식에 대한 방정식(식 (4.8) 의 첫 번째, 두번째 항)이며 f(RK, C)는 5개의 F 함수로 구성된 방정식이다(식 (4.8) 좌변의 나머지 항). 1, 19라운드 F 함수의 선형 근사식에서 , 孔 는 〃t을 통하여 琮 = [0, 6衫, 13, 이이 되므로 F 함수 출력값의 모든 32-비트 값을 계산할 필요는 없다. 따라서, (751ffiP2®P3), (C0®C2©C3)^| 각각 하위 24비트가 의 비트 마스크 계산에 포함되고 (qe)Ci$C2), (c(/BC庶)cQ의 각각 32비트가 孔의 비트 마스크 계산에 포함되므로 f의 값은 평문, 암호문과 라운드 키 각각 112비트에 의해 결정된다. 각 평문, 암호문과 라운드 키에 대해서, 7를(RK[, RK泌 成의 112 비트와 6를 q陟q&C2, Co①의 112비트로 표기한다. 또한 Z=&|낑ZJZ。를 汶<5의 112비트로 표기한다. 여기서 务=7?/^2®C[l®C1ffiC2, Z1 =R&i$Co$Ci$C3, Z2 = 照推%任对2©。3, % =RK[$P1$P舟F3와 같다. 결국, f(RK, C)는 다음의 방정식으로 표현된다.

#(4.10)

2112개의 모든 키 후보들에 대해서 어*개의 기지 평문-암호문쌍과 식 (4」0)을 이용하여 22-라운드 선형 근 사 식 (4.9) 에 대한 bias를 계산할 수 있다. SMS 4에 대한 4-라운드 공격 (4R-Attack)은 다음과 같다.

1. f에 사용된 <5의 112비트에 대응하는 2】 技 개의 원소를 가진 벡터 X를 초기화한다.

2. 각각의 沸에 대하여, f(RK, C)의 parity를 계산한다(f의 값이 0이면 1, 1이라면 T로 계산한다). 이 값들을 2I12X2112 행렬 M에 행저장한다. (5는 행, 7는 열을 나타낸다).

즉, "b陋 =/(話)와 같다.

3. 2’宜개의 평문-암호문쌍들에 대해 g(P, C)의 parity를 계산한다. 만약 parity가 1이라면 X의 대응하는 카운터를 증가시키고 0이라면 감소시킨다.

4. " X의 행렬-벡터 곱셈을 통하여, 产개의 키 후보(?의 값)에 대한 bias를 계산한다.

5. 계산된 모든 bias e에 대해서, 京乂와 仆를 각각 최대값, 최소값이라고 표기한다.

- 島aJ 니顷」라면 京에 * 대응하는 키를 올바른 키로 추측하고 K(RK)=0로 추측한다.

- 島aJ 시%心|라면에 대응하는 키를 올바른 키로 추측하고 K(RK) = 1로 추측한다.

6. #의 113-비트가 추측되면 비밀키의 나머지 15 비트를 전수 조사를 통하여 복구한다.

본 공격에서는 2112개의 원소를 갖고 있는 벡터 X 를 저장하기 위해 牙貝-비트 (2)丽-바이트) 메모리가 요구되며, 각각의 단계에서 요구되는 공격 복잡도는 다음과 같다. 단계 2에서 행렬 M의 circulant 구조 [3]로 인해서 Me의 연산보다 효율적으로 계산이 가능하다. 严개의 z에 대해서, f(湖)의 값을 계산하고, 이 값을 M의 대응하는 위치에 저장한다. f 는 5개의 F 함수로 구성되어있기 때문에, 이 과정에서 2109-86 (= 2112 . (1/22). 5) 22-라운드 SMS4 암호화 연산이 요구된다’ 또한, Z의 값을 저장하여 행렬 M의 각각의 원소값을 계산할 수 있으므로, Z의 값을 저장하기 위한 2"2-비트 메모리가 요구된다. 단계 3에서는 비트 추출과 카운트 증가와 같은 간단한 연산만이 사용되며, 이 과정에서 2117 대수적 연산이 요구된다. 단계 4에서, ” 卷由 크기의 행렬-벡터 곱셈을 수행하므로 2224 대수적 연산이 요구된다. 그러나 행렬 M의 circulant 구조로 인해서 행렬-벡터 곱셈의 시간 복잡도를 상당히 줄일 수 있다. B. Collard는[8]에서 Fast Fourier Transform을■ 이용하여 이러한 방법을 처음으로 제시했다. 제안된 방법은 특수한 성질을 갖는 정방 행렬을 Discrete Fourier Transform matrix을 포함하는 세 개의 행렬로 대각화 시킨다. Discrete Fourier Transform matrix의 mxm 크기의 행렬 곱셈은 시간 복잡도를 m . log(m)으로 줄여준다. 따라서 단계 4에서의 2“2 >项12 크기의 행렬-벡터 곱셈에 대한 시간 복잡도는 대략 2120'39 (-3 -112- 2112) 대수적 연산이다. SMS 의한 라운드는 대략 16 대수적 연산의 수행 시간이 걸리므로, 단계 4는 2Ⅲ.93(_ 2120.39 . (]/]6). (1/22)) 22-라운드. 암호화 연산이 요구된다. 또한, 단계 5의 비밀키의 나머지 키를 찾기 위한 시간 복잡도는 215(= 2128-113) 22-라운드 암호화 연산이다.

결론적으로 본 22-라운드 선형 공격에 대한 시간복잡도는 211"气=2皿8+2"冒3) 22-라운드 암호화 연산. 데이터 복잡도는 2117기지 평문과 2””-바이트 메모리 복잡도를 요구한다.

Ⅴ. 결론

본 논문에서는 중국 표준암호 알고리즘으로 사용되고 있는 SMS4에 대한 향상된 차분 공격 및 선형공격을 소개했다. 기존의 20, 21-라운드 SMS4 차분 공격을 키복구 부분에서 좀 더 세밀한 divide and conqure 기법을 적용하여 22-라운드 SMS4 차분 공격으로 향상시켰다. 또한, 새로운 18-라운드 선형 근사식을 이용하여, 기존의 22-라운드 SMS4 선형 공격에 대한 데이터 복잡도를 4배, 시간 복잡도를 약 32배 향상시켰다. 본 논문의 분석 결과는 SMS4에 대해 알려진 공격 중 최상의 공격이다.

References

  1. 김태현, 김종성, 성재철, 홍석희, "축소된 20-라운드 SMS4에 대한 차분 공격," 정보보호학회논문지. 18(4), pp. 37-44, 2008년 8월
  2. L. Zhang, W. Zhang, and W. Wu, "Cryptanalysis of Reduced-Round SMS4 Block cipher," ACISP'08, LNCS 5107, pp. 216-229, 2008 https://doi.org/10.1007/978-3-540-70500-0
  3. J. Etrog and M.J.B. Robshaw, "The Cryptanalysis of Reduced-Round SMS4," SAC'08, To appear
  4. J. Lu, "Attacking Reduced-Round Versions of the SMS4 Block Cipher in the Chines WAPI Standard," ICICS'07, LNCS 4861. pp. 306-318, 2007
  5. D. Toz and O. Dunkelman, ''Analysis of two Attacks on Reduced-Round Versions of the SMS4," ICICS'08, LNCS 5308, pp. 141-156, 2007
  6. F. Liu, W. Ji, L. Hu, J. Ding, S. Lv, A. Pyshkin, and R.P. Weinmann, ''Analysis of the SMS4 block cipher," ACISP'07, LNCS 4586, pp. 85-100, 2007 https://doi.org/10.1007/978-3-540-73458-1
  7. M. Matsui. "Linear Cryptanalysis Method for DES Cipher," EUROCRYPT 1993, LNCS 765, pp. 386-397, 1994 https://doi.org/10.1007/3-540-48285-7
  8. B. Collard, F.X. Standaert, and J.J. Quisquater, "Improving the Time Complexity of Matsui's Linear Cryptanalysis," rCrSC'07, LNCS 4817, pp. 77-88, 2007 https://doi.org/10.1007/978-3-540-76788-6
  9. M. Matsui. "The First Experimental Cryptanalysis of the Data Encryption Standard," CRYPT0'94, LNCS 839, pp. 1-11. 1994 https://doi.org/10.1007/3-540-48658-5