Ⅰ. 서론
데이터 의존 연산들(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 암호는 효율성 측면에서 개선해 나갈 가치가 있다.
References
- 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
- Proceedings of the 1st Advanced Encryption Standard Candidate Conference C. Burwick;D.C oppersmith;E. D' Avingnon;R. Gennaro (et al)
- Advances in Cryptology - CRYPTO'90, LNCS v.537 Differential Cryptanalysis of DES-like cryptosystems E. Biham;A. Shamir
- U.S. patent number 4157454 Method and system for machine enciphering and deciphering W. Becker
- FSE'99 Linear Cryptanalysis of RC5 and RC6 J. Borst;B. Preneel;J. Vandewalle
- Advanced in cryptology, Eurocrypt'93 Linear cryptanalysis method for DES cipher Matsui
- Russian patent number 2141729 Bull. No. 32 A method of the cryptographical transformation of binary data blocks A. A. Moldovyan;N. A. Moldovyan
- Journal of Cryptology v.15 no.1 A cipher based on data-dependent permutations A. A. Moldovyan;N. A. Moldovyan
- Fast Software Encryption'96 Linear cryptanalysis of reduced-round versions of the SAFER J. Nakahara Jr;B. Preneel;J. Vandewalle
- Proceedings of the 1st Advanced Encryption standard Candidate Conference The RC6 Block cipher R. L. Rivest;M. Robshow;R. Sidney;Y. L. Yin
- Advanced in cryptology, CRYPTO95 On differential linear cryptanalysis of RC5 encryption algorithm B. Kaliski;Y. L. Yin
- Fast Software Encryption'94 The RC5 encryption algorithm R. L. Rivest
- FSE'2002, LNCS 2365 Multiple Linear Cryptanalysis of a Reduced Round RC6 Takeshi Shimoyama;Masahiko Takenaka;Takeshi Koshiba
- ICICS'2002, LNCS 2513 Cryptanalysis of the Reduced-Round RC6 Atsuko Miyaji;Masao Nonaka