DOI QR코드

DOI QR Code

CIKS-1 블록 암호에 대한 선택 평문 선형 공격

A Chosen Plaintext Linear Attack On Block Cipher Cipher CIKS-1

  • 이창훈 (고려대학교 정보보호기술연구센터(CIST)) ;
  • 홍득조 (고려대학교 정보보호기술연구센터(CIST)) ;
  • 이성재 (한국정보보호진흥원(KISA)) ;
  • 이상진 (고려대학교 정보보호기술연구센터(CIST)) ;
  • 양형진 (고려대학교 정보보호기술연구센터(CIST)) ;
  • 임종인 (고려대학교 정보보호기술연구센터(CIST))
  • 발행 : 2003.02.01

초록

본 논문에서는 선형 공격으로 5라운드로 줄인 블록 암호 CIKS-1에 대한 안전성을 평가하고, 이 공격을 전체 라운드(8 라운드)까지 정규적으로 확장할 수 있음을 보인다. CIKS-1은 크게 데이타 의존 치환들과 내부 키 스케쥴링으로 구성된다. 우리는 CIKS-1 암호의 구조적인 특성을 고려하여 선형 근사식을 찾는다. 즉, 한 라운드 선형 근사식을 만들기 위해 병렬 처리가 가능한 16개의 2비트 덧셈 연산(“+....+”)에 대해 확률(p)이 3/4인 16개의 선형 근사식을 고려하고, Piling-Up정리를 이용하여 확률(P)이 1/2+2$^{-17}$ 인 한 라운드 선형 근사식을 추출한다. 그리고 난 후, 이 한 라운드 근사식을 이용하여 확률이 1/2+2$^{-17}$ 인 3라운드 선형 근사식을 찾아서 5라운드 CIKS-1를 공격한다. 또한 동일한 3라운드 근사식을 이용하여 공격을 8라운드 CIKS-1로 확장한다. 결과로서 우리는 99.9% 성공 확률로 5라운드 CIKS-1 암호의 마지막 라운드 키를 찾는데 약 2$^{38}$ 개의 선택 평문과 2$^{67.7}$정도의 암호화 시간이 필요함을 제안한다. (또한, 8라운드 CIKS-1의 경우에도 2$^{38}$ 개의 선택 평문을 가지고 99.9% 성공 확률로 마지막 라운드 키를 찾을 수 있다. 다만, 약 21$^{166}$ 암호화 시간이 요구된다.다.

In this paper, we firstly evaluate the resistance of the reduced 5-round version of the block cipher CIKS-1 against linear cryptanalysis(LC) and show that we can attack full-round CIKS-1 with \ulcorner56-bit key through the canonical extension of our attack. A feature of the CIKS-1 is the use of both Data-Dependent permutations(DDP) and internal key scheduling which consist in data dependent transformation of the round subkeys. Taking into accout the structure of CIKS-1 we investigate linear approximation. That is, we consider 16 linear approximations with p=3/4 for 16 parallel modulo $2^2$ additions to construct one-round linear approximation and derive one-round linear approximation with the probability P=1/2+$2^{-17}$ by Piling-up lemma. Then we present 3-round linear approximation with 1/2+$2^{-17}$ using this one-round approximation and attack the reduced 5-round CIKS-1 with 64-bit block by LC. In conclusion we present that our attack requires $2^{38}$chosen plaintexts with a probability of success of 99.9% and about $2^{67-7}$encryption times to recover the last round key.(But, for the full-round CIKS-1, our attack requires about $2^{166}$encryption times)

키워드

Ⅰ. 서론

데이터 의존 연산들(Data-Dependem Ope血ion)은 암호학적으로 홍미로운 것이다. 그 중에 데이터 의존 순환(Data-Dependeirt Rotation(DDR)) 연산은 가장 잘 알려진 것으로, Rivest/} 제안한 RC5同오* 최근 AES 후보 알고리즘으로 제안된 RC6㈣와 지 암호는이 연산을 사용한다. 그리고 이러한 DDR 연산은 다른 간단한 연산들을 함께 혼합하여 사용할 경우 선형분석을 효율적으로 막을 수 있다는 사실이 제시되기도 하였다」E 그러나 최근 FSEOS에서 T. Shimoyama 는 다중 선형 공격으로 취약 키를 가지고 있는 18라운드 RC6를 공격할 수 있음을 보였고, 网 iaCS2002 에서 A. Miy句i는 2^腸개의 평문을 가지고 성공 확률 90%로 17라운드 RC6를 공격할 수 있는 효율적인 알고리즘을 제안하였다.㈣

본 논문에서는 Journal of Cryptology (Vol. 15 Num.l winter 20。2)[8)에서 소개한 블록 암호 CIKS-1 를 소개하고 선형 공격으로 5라운드로 줄인 CIKS-1 암호에 대한 안전성을 분석하고 이 공격을 전체 라운드 CIKS-1 까지 정규적으로 확장할 수 있음을 보인다.

먼저 우리는 CIKS-1 암호의 구조적인 특성을 고려하여 선형 근사식을 찾는다. 즉, 한 라운드 선형 근 사 식을 만들기 위해 16개의 2비트 덧셈 연산에 대한 확률(p)이 3/4인 16개의 선형 근사식을 고려한다. 그리고 Piling-Up 정리를 이용하여 확률 (P)이 1/2 + 2-μ인한 라운드 선형 근사식을 추출한다. 그런 다음, 이 한 라운드 근사식을 이용하여 확를이 1/2 + 2 -”인 3라운드 선형 근사식을 꾸며서 160 비트 키를 사용하는 5라운드 CIKS-1 를 공격한다. 또한이 특성은 256비트 키를 사용하는 8라운드 CIKS-1 에대한 공격 확장에도 사용될 수 있다、여기서 우리는 5라운드 CIKS-1에 대한 공격 방법을 중점적으로 언급하고 8라운드 CIKS-1의 공격에 대한 적용 방법을간략히 소개한다.

그리고 결과로서 99.9%의 성공 확률로 5라운드 CIKS-1 암호의 마지막 라운드 키를 찾는데 약 2%개의선택 평문과 267 7 정도의 암호화 시간이 요구됨을 제안한다.(또한 8라운드 CIKS-1 암호의 경우에도 5라운드 CISK-1 공격과 동일한 성공확률과 선택 평문수로키를 찾을 수 있음을 제시한다. 다만 약 2啲정도의암호화 시간이 요구된다.)

Ⅱ. CIKS-1 알고리즘 소개

CIKS-l(a Cipher with Internal Key Scheduling)은 A. A. Moldovyan과 N. A. Moldovyan 에 의해 소개된 알고리즘으로서 回 크게 데이타 의존 치환들과 내부 키스케룰링으로 구성된다. 이번 장에서는 CIKS-1에 사용되는 치환인 CP-박스들(CP-boxes)의 특성을 알아보고 CIKS-1 이 수행되는 과정을 설명한다. 앞으로 우리는 [8]에서 사용되는 정의와 표기법들을 그대로 사용할 것이다.

2.1 기본 성질

[정의 1]

입력 백터 乂=(知, “・, %”_1)와 제어 벡터(co由成理 vector) ""〃。, ..., 徧-户를 피연산자라고 하고 출력벡터를 丫=(%, ・“, /-1)라 흐卜자. 그리고, 순서 집합 〃广= {瓦, 〃1, …, 〃2宀}를 어떤 야키트 집합들이 임의 V에 의해 제어된 치환들의 집합(or CP-modification) 이라 흐卜자. 그러면 (/연산 F 心<(X)는 다음과 같이정의 될 수 있다.

#

CP-박스들의 모습은 [그림 1]과 같다. 그리고 일반적으로 제어 벡터 V는 암호화 된 데이터와(또는) 키에 의존한다고 가정하고 CP-박스들은 기본이 되는 치환 3/1-박스를 겹쳐 사용함으로써 만들 수 있다. p2/1-박스는 한 비트 제어 벡터 ”에 의해 제어되는데, 만약 〃=0이면 3/「박스의 입력 두 비트는 서로 위치가 바뀌어 출력되고 그렇지 않으면( 〃=1) 입력 두 비트는 바뀌지 않고 그대로 출력된다.

[그림 1] 기본 CP-박스 치환들의 구조

[정의 2]

1. 박스에 대해 n비트보다 작은 임의 h비트 입력 벡터를 知, …, 职 임의 h비트 출력 벡터를 山, …, % 라 가정하자. 그러면 모든 /=1, 2, ・・・, /;에 대해 :们 에서 升로 움직이는 CP-modification°) 적어도 하나 존재한다.

2. 만약 가능한 V벡터의 모든 값에 대해 대응하는 CP-modification 〃/와 〃『-’가 서로 역관계를 가지면 CP-박스 F. * 와 PL는 서로 역관계에 있다.

[그림 2]와 [그림 3]은 CP-박스들의 변이들로서 블록 암호 CIKS-1의 구성 요소들이다.

[그림 2] CP-박스 치환들

[그림 3] CP-박스 치환들

2.2 블록 암호 CIKS-1

블록 암호 CIKS-1의 설계원리는 CP-박스 치환들을 사용하여 빠르고 저렴한 비용으로 하드웨어 구현을 쉽게 할 수 있도록 하는 것에 기초를 두고 있다. CKS-1 는 64비트 블록과 256비트 비밀키를 사용하여 8라운드를 반복하는 블록 암호이다. 마스터 키 X는 8개의 32비트로 나뉘고 각 32비트는 차례대로 각 라운드 함수의 부분 키로서 사용된다(즉, K=Kl II - II Xs). 그런데, 각 라운드 함수에는 32비트 부분 키들을 변환하는 내부 키 생성과정이 포함되어 있어서 사실상 비밀키의 부분 32비트와 실제로 라운드 암호화에 쓰이는 라운드 부분키는 다르다고 말할 수 있다.

CIKS-1의 한 라운드 구조는 [그림 4]와 같다. 한 라운드에는 CP-박스 치환들과 함께 고정된 치환들(〃i, 77, , 7비트 순환 연산), XOR(exclusive-or)연산과 병렬연산이 가능한 16개의 2비트 덧셈(뺄셈)이 사용된다. 위의 덧셈(뺄셈) 연산을 “+...+”("-...-”)로 쓴다.

[그림 4] CIKS-1의 1번째 라운드 변환

<연산>

1. 병렬 연산이 가능한 16개의 2비트 덧셈 연산 modulo eadditions)은 하나의 32비트 덧셈 연산 (modulo 232 addition)을 대신해서 왼쪽 블록과 오른쪽 블록을 입력으로 하여 암호화 과정을 수행한다. 즉, 왼쪽 블록과 오른쪽 블록의 각 32비트 피연산자들을 16개의 2비트로 나누어서 병렬로 동시에 2비트를 덧셈 연산을 수행한다.

2. 치환 와 %는 다음을 따른다.

#

위의 연산들이 수행되는 과정은 CIKS-1의 한 라운드 암호화 과정([그림4])을 보면 쉽게 이해 할수 있다.

Ⅲ. CIKS-1에 대한 선형 분석

이 절에서는 CIKS-1에 대한 선형 분석을 소개한다. 선형 분석(Linear Cryptanalysis, LCQe 블록 암호에 대한 공격볍 중에서 차분 공격(Differential Cryptanalysis, DC)과 더불어 가장 강력한 공격 방법이다.回 Matsui 가 소개한 이 공격 방법은 평문과 암호문 그리고 부분 키 정보와의 선형 관계를 조사하여 분석하는 기지 평문 공격이다. 즉, 주어진 평문과 대응하는 암호문에 대해 반복되는 암호의 각 라운드의 근사식을 결합하여 선형 근사식의 확률이 /洋1/2인 다음과 같은 선형 근사식을 찾아 Matsui가 제안한 알고리즘 2를 적용하여 키 비트를 찾는다.

#

여기서 = …, ㊉月混을 의미하고, 爲…, 订 는 고정된 비트 위치를 말한다.

3.1 선형 공격을 위한 접근 방법

CKS-1 암호에 대한 선형 공격의 안전성을 평가하기 위해 필요한 CIKS-1 암호의 특성 및 선형 근 사 식을 만드는 방법에 대해 논한다.

<접근 방법>

1. CP-박스들(치환들)의 입력 X의 모든 비트들의 합 XL”, -, ;%]을 X[aS라 하고, 출력 Y의 모든비트들의 합을 丫言用라 하면, 제어 벡터 ¥에 상관 없이 항상 X[成/] = 用가 성립한다. 왜냐하면 CP-박스들은 치환들이기 때문에 Y는 단지 X의 재배열에 불과하다.

[그림 5] CP-박스 특성

2. 한 라운드 선형 근사식을 만들기 위해 병렬 연산이 가능한 16개의 2비트 덧셈 연산들(“+CDOTS +”) 을 고려한다. 그리고 에 대한 피연산자를 乙=(4), …, 41)과 7?= (々, ..., 知)이라고 하고 "+…+"에 대한 출력 값을 A/= So, …, 秫31)라홍!■자. 그러면 다음과 같은 16개의 근사식을 세울 수 있다.

#

이 16개의 모든 근사식들은 확률 力=3/4로서 성립함을 쉽게 확인할 수 있고, Piling-Up 정리를 이용하여 아래와 같은 확률이 尸=1/2+ 2-仃인 CIKS-1 의 한 라운드 선형 근사식을 찾을 수 있다.

#

3. 만약 첫 번째 라운드의 Z/ = 0o, … , 妇)을 다음 집합 A와 같은 형태를 가지도록 하는 평문 (尸£, 尸» 을 선택한다면 CIKS-1의 첫째 라운드의 선형 근 사 식 확률은 尸=1를 따른다 왜냐 하면 이 경우에 "+…+”에 대한 16개의 선형 근사식들에 대한확률이 각각 모두 1을 만족하기 때문이다.

#

이러한 성질을 만족하는 평문들은 쉽게 선택할수 있다. 왜냐하면, " = (/0, ... , 妇)은 키 요소와상관이 없기 때문에 A집합과 같은 "을 선택할수 있다. 그러면 7비트 왼쪽 순환을 통해 剧박스의출력 벡터들을 구할 수 있고, 또한 임의로 32비트평문 오른쪽 데이터 F%를 선택하여 B\ 제어 벡터를 만들 수 있다. 따라서, 두 벡터(, 끼의 출력 벡터와 제어 벡터)를 가지고 剧박스를 복호화하면 원하는 형태의 평문을 얻을 수 있다. 그리고 이런 평문은 2场개 정도 생성할 수 있다(A의 원소 개수X가능한 死函)의 수 216x232 = 248).

3.2 5라운드 CIKS-1 암호에 대한 선택 평문 공격

이 절에서는 우리 공격에 이용하는 3라운드 선형 근사식을 소개하고 이 특성을 사용하여 160비트 비 밀키를 가지는 5라운드 CIKS-1 암호에 대한 선형 공 격을 한다. 그런데, 만약 누군가가 256비트 비밀키를 사용하는(8라운드인) CIKS-1를 사용하기를 고집한다. 면 우리는 5라운드 공격을 정규 확장하여 그것 역시 공격 할 수 있다. 이것은 비밀키를 나누어 그대로 라 운키 입력으로서 사용하는 라운드 키 생성 과정의 취약점에 기인한다. 여기서는 5라운드 줄인 CIKS-1에 대한 선형 공격만을 중점적으로 논할 것이고 8라 운드 CIKS-1에 대한 공격은 간략히 소개할 것이다. [그림 6]은 우리 공격 모델을 나타내고 있다.

[그림 6] CIKS-1에 대한 공격 모델

#를 CIKS-1 암호의, 번째 라운드의 왼쪽(오른쪽) 입력이라고 하고, 번째 라운드의 선형 특성 확률(linear characteristic probability)을 LCPt = I2P; — 1|2 라고 정의하자. 여기서 巳는, 번째 라운드의 선형근사식 확률을 의미한다. 먼저 공격을 하기 위한 첫과정으로 앞절 접근 방법 3에서 제시한 평문들을 선택한다. 그러면 접근 방법 1, 2를 이용하여 5라운드 CIKS-1 암호에 대해 최대 확률을 가지는 3라운드 선형근사식을 추출할 수 있다. 이 선형 근사식은 [그림 6] 에서 보여주고 있고 이 선형 근사식을 생성하는 과정은 다음과 같다.

첫번째 라운드에서 다음을 관찰할 수 있다.

#

여기서 団는 i번째 라운드의 3, 박스의 임의의 입력 (또는 출력) 벡터를 의미한다. 그러면, 확률 R = 1로 /?"?〃]㊉= M腥们가 성립함을 알 수 있고 첫 번째 라운드의 선형 근사식은 다음과 같이 간단히 정리 할 수 있다([그림 6].

#

또한, 두 번째 라운드에서 다음 관계를 관찰할 수 있다.

#

그러면, 아래 식이 확률 0 = 1/2 + 2「"로 성립함을알 수 있다.

#

따라서, 두 번째 라운드의 선형 근사식을 정리하면 다음과 같다([그림 6]).

#

세 번째 라운드에서도 다음과 같은 관계를 찾을 수 있다. 이 라운드에서는 에 대한 근사식은 고려하지 않는다. 다만 확률 1을 따르는 다음 식을 이용한다.

#

그러면, 세 번째 라운드의 선형 근사식을 다음과 같이 만들 수 있다([그림 6]).

#

따라서, 우리는 이러한 한 라운드 선형 근사식들을모두 XOR하면 다음과 같은 5라운드 CIKS-1에 대한연속하는 3라운드에 대한 근사식을 이끌어 낼 수 있다.

#

#

Piling-Up 정리에 의해 이 3라운드 선형 근사식 확률은 F= 1/2 + 2「μ이며 乙。尸=乙(¥2 = 2-32이다.

본 고에서는 이 선형 근사식을 이용하여 5라운드 CIKS-1 암호를 공격한다. 먼저 선택한 평문에 대해대웅하는 암호문을 얻는다. 그런 다음 다섯 번째 라운드 키를 추측하여 라운드를 복호화하여 Cl, 以와 乙”를 구한다. 그러면 3라운드 선형 근사식을 이용하여 /电言们 =* "也们인지를 체크 할 수 있다. 만약 F£[a〃]* =Z/ [次/]을 만족한다면 추측한 다섯 번째 라운드 키를 올바른 키 후보이고 그렇지 않으면 틀린 키이다. 이러한 공격 방법을 M松sui의 알고리즘 2를 적용하여 정리하면 다음과 같다.

<공격 알고리즘>

목 표 : 32비트 5라운드 키 (於) 찾기.

1. 접근 방법 3에서 제시한 형태를 갖는 2羽개의 평문을 선택하고 대응하는 5라운드 암호문을 얻는다.

2. 추측 가능한 2沱개의 5라운드 키에 대해 다음 과정을 수행한다.

2.1 얻은 2紿개의 각각의 평문/암호문에 대해 다섯번째 라운드를 복호화 한 후 다음 과정을 수행한다.

(a) 네 번째 라운드 출력 값 Ci, 여와 Z严를계산한다.

(b) 값을 계산하고, "也* 〃 1 = 0을 만족하면 T를 하나씩 증가시킨다. 여기서 T 는 以也* 珂 = 0을 만족하는 개수를 의미한다.

(c) TmaJM血)를 모든 T값들 중에 최대값(최소값)이라 흐}.자. 그러면 다음을 통해 키비트 정보를 추측할 수 있다.

(i) 만약 丨 Tmx — 7V/2I>丨 Tmm - 7V/2I 이면키 후보를 剪로 채택하고

#

으로 추측한다.(P>1/2)

(ii) 만약 I Tmax -N/2KI Tmm - N(2) 이 면키 후보를 Tmn 로 채택하고

#

 ®7f3[ all] = 1 로 추측한다.(F> 1/2)

따라서, Matsui의 결과에 의해, 2麥개의 선택 평문을 가지고 5라운드 CIKS-1 를 공격한다면 99.9% 성공 확률로 마지막 5번째 라운드 키 32비트를 찾는데 성공할 것이다.回

그리고, 8라운드 CIKS-1에 대한 공격도 5라운드공격에 사용된 3라운드 선형 근사식을 이용하여 동일한 공격 방법으로 확장 할 수 있다. 다만, 32비트키를 추측하는 것이 아니라 다섯 번째, 여섯 번째, 일곱 번째, 여덟 번째의 32비트 라운드 키 4개를 동시에 추측한다. 그러면 5라운드 공격과 마찬가지로 2"개의 선택 평문을 가지고 99.9% 성공 확률로 성공할 것이다. 다만 시간 복잡도만 다를 뿐이다. [표 1] 는 M松tsui의 결과를 기초로 한 우리의 공격 결과를나타낸 것이다.

[표 1] 공격 결과

Ⅳ. 결론

지금까지 본 논문에서는 CIKS-1 알고리즘을 소개하고, CP-박스들(치환들)의 특성과 Matsui의 아이디어들을 이용하여 효율적인 선형 근사식을 제시하고 공격 알고리즘을 소개하였다. 그리고 결과로서, 99.9% 의 성공 확률로 5라운드 CIKS-1 암호의 마지막 라운드 키를 찾는데 약 2酸개의 선택 평문과 267'7 정도의 암호화 시간이 요구됨을 제시하였다. 또한, 5라운드 CIKS-1 공격에 사용된 3라운드 선형 근사식을 이용하여 8라운드 CIKS-1 암호로 공격을 확장할 수 있음을 보였다. 이러한 본 논문의 공격은 데이터 의존 치환들을 가지고 있는 다른 블록 암호에도 공격을 적용 할 수 있을 것이고 DDP를 가진 블록 암호 설계하는데 있어서도 본 논문의 공격 개념를 유념해야 할 것이다. 그리고, 이런 공격 방법에 대한 약점들을 해결 할 수 있다면 CIKS-1 암호는 효율성 측면에서 개선해 나갈 가치가 있다.

참고문헌

  1. IEICE Transactions fundamentals of Elections, Communications and Computer Sciences no.1 Strict Evaluation of the Maximum Average of Differential Probability and the Maximem Average of Linear Probability K. Aoki;K. Ohta
  2. Proceedings of the 1st Advanced Encryption Standard Candidate Conference C. Burwick;D.C oppersmith;E. D' Avingnon;R. Gennaro (et al)
  3. Advances in Cryptology - CRYPTO'90, LNCS v.537 Differential Cryptanalysis of DES-like cryptosystems E. Biham;A. Shamir
  4. U.S. patent number 4157454 Method and system for machine enciphering and deciphering W. Becker
  5. FSE'99 Linear Cryptanalysis of RC5 and RC6 J. Borst;B. Preneel;J. Vandewalle
  6. Advanced in cryptology, Eurocrypt'93 Linear cryptanalysis method for DES cipher Matsui
  7. Russian patent number 2141729 Bull. No. 32 A method of the cryptographical transformation of binary data blocks A. A. Moldovyan;N. A. Moldovyan
  8. Journal of Cryptology v.15 no.1 A cipher based on data-dependent permutations A. A. Moldovyan;N. A. Moldovyan
  9. Fast Software Encryption'96 Linear cryptanalysis of reduced-round versions of the SAFER J. Nakahara Jr;B. Preneel;J. Vandewalle
  10. Proceedings of the 1st Advanced Encryption standard Candidate Conference The RC6 Block cipher R. L. Rivest;M. Robshow;R. Sidney;Y. L. Yin
  11. Advanced in cryptology, CRYPTO95 On differential linear cryptanalysis of RC5 encryption algorithm B. Kaliski;Y. L. Yin
  12. Fast Software Encryption'94 The RC5 encryption algorithm R. L. Rivest
  13. FSE'2002, LNCS 2365 Multiple Linear Cryptanalysis of a Reduced Round RC6 Takeshi Shimoyama;Masahiko Takenaka;Takeshi Koshiba
  14. ICICS'2002, LNCS 2513 Cryptanalysis of the Reduced-Round RC6 Atsuko Miyaji;Masao Nonaka