Ⅰ. 서론
대수적 공격은 스트림 암호 분석에 지대한 영향을 미쳤다. 대수적 공격이란 스트림 암호의 초기값(키) 과 출력 키수열 사이의 대수적 방정식을 구성하여, 이를 선형화 기법을 이용하여 그 해(키)를 구하는 방법이다.
스트림 암호에 대한 대수적 공격은 최초에 Toyocrypt에 대하여 이루어졌고, ⑶ 그 후에 LILI-128 등과 같이 메모리를 가지지 않는 모든 키수열발생기로 그 적용이 확대되었다. ⑸ 초기에는 메모리를 사용하는 스트림 암호는 대수적 공격에 좀 더 강할 것으로 보였으나, 스트림 암호에 대한 대수적 공격이 발전함에 따라 summation generator나 Bluetooth에 사용되는 E2 알고리즘 등의 메모리를 가지는 combiner 모델에 대하여도 대수적 공격이 적용된다는 사실이 밝혀졌다. [1) 메모리를 가지는 com biner 모델에 대수적 공격을 적용하기 위해서는 대수적 방정식을 수립해야 하는데, 이때 필요한 키수열은 연속적이어야 한다고 알려져 왔다. [1'2-7'81 예를 들어, 化개의 LFSR을 입력으로 하고 (개의 메모리 비트를 가지는 (N)-combiner의 경우, 연속된 (Z + 1)개의 키수열이 있으면 口由 + 1)/21 차 이하의 대수적 방정식 구성이 가능하다. ⑵
그러나, 본 논문에서는 summation generator 에 대한 대수적 방정식을 연속된 여러 개의 키수열을 이용하지 않고 단 1비트 키수열만을 이용하여 생성할 수 있음을 보인다. 또한, ISG(Improved Sum mation Generator with 2-bit Memory) ⑼ 알고리즘에 대해서도 1비트 키수열만을 이용한 대수적 방정식을 제시한다.
일반적으로 연속된 키수열을 이용하여 대수적 방정식을 구성할 수 있는 키수열발생기 여러 개를 부울함수 하나로 결합한 형태의 키수열발생기의 경우에는 이에 대한 대수적 방정식 구성이 어려워서 대수적 공격에 어려움이 있다. 본 논문에서는 위의 결과를 이용하여 summation generator 및 ISG 여러 개를 하나의 부울함수로 결합한 형태의 일반적인 키수열 발생기에 대해서도 대수적 공격이 가능함을 보인다.
Ⅱ. Summation Generator에 대한 새로운 대수적 방정식 구성 방법
2.1 Summation Generator 개요
Summation generator "。는 주기가 매우 크고, 선형복잡도가 다른 generator0)! 비해 매우 우수하여 스트림 암호 설계에 많이 이용되었다. Sum mation generator는 각 출력 비트를 더하고 발생된 carry를 memory에 저장하여 다음 출력 계산에 이용한다. 여기서 c* 를 carry라 하면 [ log2n ] 비트로 표현 가능하다. 이제, d = (c=_i, …, 诺) 를 c'의 이진 전개로 나타낸다.
n개의 LFSR의 t번째 clock에서 출력을 각각 4 라고 할 때, summation generator의 출력 i 는다 음과 같다.
#(1)
#(2)
b; 를 X:…, 사를 변수로 가지는 부울 함수로서, 2차 elementary symmetric polynomial 이라고 즈E자.
#
2.2 Summation Generator에 대한 기존의 대수적 공격
n = 2k 개를 기반으로 하는 summation generatoi■에 대하여, Lee 등은 k + 1 개의 출력 키수열을 알면 차수가 2北 인 대수적 방정식을 구성할 수 있음을 보였다. ⑻ 대수적 방정식을 구성한 후의 대수적 공격 방법과 그 계산 복잡도는 참고문헌〔8〕 을참고하기 바란다. 후에, Braeken과 Semaev는 덧셈의 ANF(Algebraic Normal FormX 이용하여 그 증명을 간단히 하였다. ⑵ 참고문헌〔2〕에 따르면, 다음번의 carry 비트를 현재 LFSR의 출력 비트와 carry 비트를 이용하여 다음과 같이 표현할 수 있다.
#(3)
#(4)
#(5)
#(6)
2.3 Summation Generator에 대한 새로운 대수적 방정식 구성 방법
본 소절에서는 일반적인 summation gen-eratoT에 대해서 출력 키수열 I비트와 LFSR의 초기값 사이의 대수적 방정식을 구성할 수 있음을 보인다.
〔정리 1) "의 LFSR을 기반으로 하는 sum mation generator에 대해서, 출력 키수열 1비트와 입력 LFSR의 초기값 사이에 대수적 방정식이 존재한다.
(증명) n이 2의 멱승이 아닌 경우, n개의 LFSR을입력으로 하는 summation generator는 2rio%"' 개의 LFSR을 입력으로 하면서 (2「嶋”1一儿)개의 LFSR은 0으로 세팅한 summation generator로 볼 수 있다. 따라서, n이 2의 멱승, 다시 말해서 2*為>0)인 경우에 대해서만 증명하면 된다.
식 (1)에서, (i + fc) clock의 키수열 zt+k 는 다음과 같이 표현 가능하다.
#(7)
(t + k-1) clock에서의 식 (3)을 (7)에 대입하면,
#(8)
(t + *-2)clock에서의 식 (4)를 (8)에 대입하면,
#(9)
이러한 과정을 A: 번 반복하면, 마지막 단계에서 다음과 같은 식을 얻게 된다.
#(10)
여기에서 /와 确, 3는 U에 대한 함수인더L 계산해보면 상수함수가 되지 않음을 알 수 있다.
식 (10)의 양변에 모든 如와 九에 대하여 0?."'卸) 를 곱하면, 다음 방정식을 얻는다.
#(11)
따라서, 우리는 summation generator에 대하여 출력 키수열 1비트 z'4"만을 이용한 대수적 방정식을 구할 수 있게 된다. □
식 (11)의 차수를 互가 1, 2, 3, 4인 경우에 대하여 각각 구해보면, 2. 6, 15. 30이 된다. 연속된 2, 3, 4, 5비트의 키수열을 이용한〔8〕의 결과인 2, 4, 8, 16과 각각 비교해볼 때, 北 = 1인 경우에만 차수가 같고 나머지 경우에는 차수가 좀 더 커짐을 알 수 있다. 대수적 공격 복잡도는 구성된 방정식의 차수에 비례해서 커지므로, summation generator에 대한 새로운 대수적 공격이 기존의 대수적 공격보다 효율성은 떨어진다. 하지만 연속된 키수열을 얻지 못하는 상황에서, 기존의 대수적 공격은 적용이 불가능하지만 본 논문에서 제안한 방법은 적용이 가능하다.
2.4 4개의 LFSR을 기반으로 하는 Summation Generator에 대한 추가 분석
본 소절에서는 4개의 LFSR을 기반으로 하는 sum mation generator에 대한 대수적 분석 중 흥미로운 몇 가지 결과에 대하여 기술한다.
〔정리 2) 4개의 LFSR을 기반으로 하는 sum mation generator에 대해서, 연속된 2비트의 키수열만을 이용하여 4차 방정식 수립이 가능하다. 또한, 1비트 키수열만을 이용하여 5차 방정식을 세울 수 있다
(증명) Clock (t + 2)에서의 키수열 z*2는 다음과 같이 표현 가능하다.
#(14)
식 (14)의 오른 변을 식 ⑴과 ⑵를 이용하여 계산하면, 다음과 같다.
#(15)
식 (15)의 양 변에 (b:金1)을 곱한 후에 勇勇 = 勇苏 = c切; =。命 b 云 = b 拭 =<切4 = 0을이 용하여 간단히 하면 우리는 다음과 같이 연속된 2비트 z' + i, z'+2 만이 포함된 4차 방정식을 얻게 된다.
#(16)
식 (15)의 양 변에 #을 곱하면, 또한 다음 식을 얻게 된다.
#(17)
식 (17)의 최고차 항이 苏+甥於金元勇+1 이므로, (17)의 차수는 5가 된다. 따라서, 우리는 키수열 1비트만이 포함된 5차 방정식을 구성하였다. □
정리 2의 결과는 4개의 LFSR을 기반으로 하는 summation generator에 대하여, 참고문헌〔8〕 에서 연속된 3비트를 이용하여 4차 방정식을 구성한 데 반하여, 연속된 2비트만을 가지고도 동차의 방정식 구성이 가능함을 보여준다. 또한. 앞에서 1비트 키수열만을 이용할 때는, 6차 방정식 구성이 가능하였는데. 정리 2는 이를 5차까지 떨어뜨릴 수 있음을 보여준다.
Ⅲ. Improved Summation Generator (ISG)에 대한 새로운 대수적 방정식 구성 방법
3.1ISG 개요
일반적으로 summation generator는 주기가 매우 크고 선형복잡도가 다른 논리들에 비하여 매우 우수하기 때문에 스트림 암호 설계에 많이 이용된다. 그러나, 두 개의 LFSR로 이루어진 summa tion generator의 경우에는 correlation 공격에 취약함이 잘 알려져 있다. t6'n) 이를 보완하기 위하여 이훈재 등은 참고문헌〔9〕에서 기존의 summa tion generator에 메모리 1 비트를 추가하여 cor relation 공격에 강한 새로운 논리 ISG(Improved Summation Generator with 2-bit Memory) 를 제안하였다.
项번째 clock에서 ISG의 동작 방식은 다음과 같고, 이를 그림으로 표현하면 그림 1과 같다.
그림 1. ISG의 동작 방식
#(18)
#(19)
#(20)
3.2 ISG에 대한 새로운 대수적 방정식 구성 방법
참고문헌〔7〕에서는 ISG의 대수적 구조가 2개의 LFSR을 입력으로 하는 summation generator 와 크게 다르지 않음을 이용하여 연속된 2비트의 키수열을 알면 ISG에 대한 2차의 방정식을 구성할 수 있음을 보였다. 본 소절에서는 ISG에 대하여 2차의 방정식을 구성할 때 연속된 2비트의 키수열이 아닌 단순한 1비트 키수열만을 알아도 충분함을 보인다.
〔정리 3] ISG에 대하여 출력 키수열 1비트와 입력 LFSR의 초기값 사이의 대수적 방정식을 구성할 수 있다.
(증명) 먼저 식 (19) 와 (20) 으로부터 식을 얻고, 또한 다음과 같은 식을 얻을 수 있다.
#(21)
#(22)
식 (18)를 (顶+1)번째 clock에 적용한 관계식에식 (21)과 (22)를 대입하면, 弓+1 =%+]晒+qc舟4 G邳H (Ba^ffi(0^.)(c;_! Wji ) =0壮 1 晒七 ffia為叙舟(%晒)(.狎1) 임을 알 수 있다.
즉, 연속된 2비트의 키수열 Zj, zj+i 을 알면 다음과 같은 2차의 관계식이 성립함을 알 수 있다⑺
#(23)
이제 식 (23)의 양변에 (a舟岬1)을 곱한 후에, 정리하면 勺+i (%晒由1) =(%+i 晒+1 )(四/$屈缶1)라는 2 차 방정식을 얻을 수 있다. 이 방정식은 참고문헌 〔7〕의 결과와 달리 키수열 1비트 만을 이용한 방정식이다. □
Ⅳ. 새로운 대수적 방정식 구성 방법의 응용
일반적으로 연속된 키수열을 이용하여 대수적 방정식을 구성할 수 있는 키수열발생기 여러 개를 부울함수 하나로 결합한 형태의 키수열발생기의 경우에는 이에 대한 대수적 방정식 구성이 어려워서 대수적 공격에 어려움이 있다. 본 절에서는 1비트 키수열만을 이용하여 대수적 방정식을 구성할 수 있는 키수열 발생기 몇 개를 다시 부울함수를 이용하여 결합하는 형태의 키수열발생기에 대해서는 대수적 공격이 가능함을 보인다’
〔정리 4] Summation generator 여러 개를부울함수로 결합한 형태의 일반적인 키수열 발생기에 대해서도 대수적 방정식 구성이 가능하다.
(증명) 이제 是(1 < i M m)를 LFSR 2개를 입력으로 하는 summation generator라 하고, 시간 (t + 1) 에서의 尤 의 출력과 최종 키수열을 각각 과 z'+i로 나타내자. 또한, 부울함수는 f로 표현하면, 우리는 다음과 같은 식을 얻게 된다.
#(24)
尤가 2개의 LFSR을 기반으로 하는 summa tion generator이므로 다음 식이 성립한다.
#(25)
1 < i < m 인 모든 4 에 대하여 , 식 (24)의 양변에 (节(无)金1)를 곱한 후에 식 (25)을 이용하여 정리하면 키수열 1비트만이 관여하는 (m + d) 차 대수적 방정식을 얻게 된다.
无가 임의의 儿개의 LFSR을 기반으로 하는 summation generator의 경우에도, 위와 같은 방법을 이용하여 출력 키수열 1비트만을 이용한 대수적 방정식을 세울 수 있다. □
마찬가지로 ISG 여러 개를 하나의 부울함수로 결합한 형태의 키수열발생기에 대해서도 정리 4의 방법을 그대로 적용하면 대수적 방정식 구성이 가능함을 알 수 있다.
Ⅴ. 결론
본 논문에서는 메모리를 이용하는 몇 가지 키수열 발생기에 대해서 최초로 1비트 키수열만을 이용하여 대수적 방정식을 구성할 수 있음을 보였다. Sum mation generator나 ISG(Improved Summat ion Generator with 2~bit Memory) ⑼가 그 예이다. 또한, 이를 이용하여 summation gen erator 및 ISG 여러 개를 하나의 부울함수로 결합한 형태의 일반적인.키수열발생기에 대해서 대수적 공격이 가능함을 보였다.
한편, 4개의 LFSR을 기반으로 하는 summa tion generator의 경우에 참고문헌 ⑻에서는 연속된 3비트가 있어야만 4차의 방정식을 구성할 수 있었는데, 본 논문에서는 이보다 더 적은 2비트의 연속된 키수열을 이용하여 4차의 대수적 방정식을 구성할 수 있음을 보였다.
References
- F. Armknecht, M. Krause, 'Algebraic Attacks on Combiners with Memory', Crypto 2003 , pp. 162-175, 2003
-
A. Braeken, I. Semaev, 'The ANF of the Composition
of\;{\times}\;and$ + mod$2^n$ with a Boolean Functions', FSE 2005, pp. 115-127, 2005 - N. Courtois, 'Higher order correlation attacks, XL algorithm and Cryptanalysis of Toyocrypt', ICISC 2002, pp. 182--19, 2002
- N. Courtois, 'Algebraic Attacks on Combiners with Memory and Several Outputs', ICISC 2004, pp. 3-20. 2004
- N. Courtois, W. Meier, 'Algebraic attacks on stream ciphers with linear feedback', Eurocrypt 2003, pp. 345-359, 2003
- E. Dawson, 'Cryptanalysis of summation generator', Auscrypt 1992, pp. 209--215, 1992
- Daewan Han, Moonsik Lee, 'An algebraic attack on the improved summation generator with 2-bit memory', Information Proceeding Letters 2005, pp. 43-46, 2005
- Donghoon Lee, Jaeheon Kim, Jin Hong, Jaewoo Han and Dukjae Moon, 'Algebraic Attacks on Summation Generators', FSE 2004, pp. 34-48, 2004
- Hoon Jae Lee, Sang Jae Moon, 'On an improved summation generator with 2-bit memory', Signal Processing 80, pp. 211-217, Elsevier. 2000 https://doi.org/10.1016/S0165-1684(99)00123-1
- Willi Meier, Othmar Staffelbach, 'Correlation Properties of Combiners with Memory in Stream Cipher', Journal of Cryptology, vol.5, pp. 67-86, 1992
- R. A. Rueppel, 'Correlation immunity and the summation generator', Crypto 1985, pp. 260-272, 1985