DOI QR코드

DOI QR Code

스트림 암호에 대한 향상된 고속 상관 공격 적용 가능성 연구

Study of the Improved Fast Correlation Attack on Stream Ciphers

  • 정기태 (고려대학교 정보보호기술연구원) ;
  • 이유섭 (고려대학교 정보보호기술연구원) ;
  • 성재철 (서울시립대학교 수학과) ;
  • 홍석희 (고려대학교 정보보호기술연구원)
  • Jeong, Ki-Tae (Center for Information Security Technologies, Korea University) ;
  • Lee, Yu-Seop (Center for Information Security Technologies, Korea University) ;
  • Sung, Jae-Chul (Department of Mathematics, University of Seoul) ;
  • Hong, Seok-Hie (Center for Information Security Technologies, Korea University)
  • 발행 : 2009.10.31

초록

Zhang 등은 SAC'08에서 스트림 암호에 대한 향상된 고속 상관 공격을 제안하였다[8]. 이 공격은 Crypto'00에서 제안된 고속 상관 공격에 기반을 두고 FWT(fast Walsh transform)을 적용하여 설계되었다. [8]에서는 다양한 공격 환경에서 공격 알고리즘의 복잡도와 성공 확률이 제시되었지만, 제안된 공격 알고리즘을 실제 구현한 결과, 제시된 결과와 다르게 나타났다. 본 논문에서는 실험 결과를 토대로 [8]에서 제시된 공격 결과의 문제점을 분석하고, 이 공격 알고리즘이 유효하게 적용되는 bias의 threshold를 제시한다.

Zhang et al. proposed a improved fast correlation attack on stream ciphers at SAC'08[8]. This attack is based on the fast correlation attack proposed at Crypto'00 and combined with FWT(fast Walsh transform). Given various attack environments, they presented complexities and success probabilities of the proposed attack algorithm. However, we found that our simulation results of the proposed attack algorithm are different from them presented in [8]. In this paper, we correct results of the proposed attack algorithm by analyzing it theoretically. And we propose a threshold of valid bias.

키워드

I. 서론

상관 공격 (correlation attack)은 스트림 암호에 대한 가장 대표적인 공격 기법 중 하나이다. 이 분석기법은 1985년 Siegenthaler에 의해 그 공격의 개념이 소개되었고〔6〕, 1989년 Meier와 Staffelbach 에 의해 향상된 버전인 고속 상관 공격 (fast correlation attack)이 제안되었다〔5]. 이후, 이 공격의 개념을 이용하여 다수의 LFSR 기반 스트림 암호뿐 아니라, 일반적인 스트림 암호의 안전성 분석에 활용될 수 있도록 상관 공격 알고리즘의 효율성 및 공격 복잡도를 개선시킨 다양한 연구 결과가 발표되 었다 [1-4, 7, 8], 최근에는 LFSR 기반 스트림 암호뿐 아니라 일반적인 스트림 암호의 안전성 분석에 기본적인 분석 방법으로 활용되고 있다.

Zhang 등은 SAC'08에서 스트림 암호에 대한 향상된 고속 상관 공격을 제안하였다〔8〕. 본 논문에서는 이 공격을 편의상 IFCA(Improved Fast Correlation Attack)라 부르기로 한다. IFCA는 Crypto'00에서 Johansson 등이 제안한 고속 상관 공격〔4〕에 기반을 둔다.〔4〕에서 제안된 고속 상관 공격은 다항식 복구 문제 (learning a binary linear multivariate polynomial)를 고속 상관 공격에 적용하여 설계되었다. 하지만, 이 공격은 구성된 패리티 검사 방정식에 키스 트림 수열을 대입하고 계산하는데 비효율적이라는 단점을 갖고 있다. 그래서 IFCA에서는 이 문제를 FWT(fast Walsh transform)을 적용함으로서 해결하였다. 또한, 기제안된 공격보다 효율적임을 보이기 위해 길이가 61인 LFSR을 사용하는 shrinking generator에 적용하였다.

본 논문에서는 ⑻에서 제시된 공격 결과가 옳지 않음을 보이고, 다양한 공격 환경에서 이 공격이 유효하게 적용되는 bias의 threshold를 제시한다. Zhang 등은 bias와 구성된 패리티 검사 방정식의 수가 작더라도, 효율적으로 LFSR의 초기 상태 값을 복구할 수 있다고 주장하였다. 하지만 IFCA를 실제 구현한 결과, 성공 확률이 잘못 계산된 것으로 나타났다. 이는 성공 확률을 계산하는데 사용되는 두 개의 분포인 central chi-square distribution3]- noncentral chi-square distribution의 평균값의 차이에서 발생한다. 만약 두 분포의 그래프가 차이가 많이 나면, 높은 성공 확률로 LFSR의 초기 상태 값을 복구할 수 있다. 하지만, bias가 작거나 구성된 패리티 검사 방정식의 수가 작으면 두 분포는 거의 차이가 없다. 따라서 잘못 추측된 초기 상태 값이 IFCA를 통과할 확률도 증가한다.〔8〕에서 제시된 공격 환경에서 수정된 공격 결과는 기제안된 고속 상관 공격의 공격 결과보다 비효율적이다 (표 1 참조). 따라서 IFCA가 기제안된 공격보다 효율적이라는 주장은 옳지 않다.

[표 1] IFCA와 기제안된 고속 상관 공격의 비교

※ ()안은 수정된 결과임

본 논문은 다음과 같이 구성되어 있다. 먼저 , 2장에서 IFCA를 소개한다. 3장에서는 ⑻에서 제시된 공격 결과의 문제점을 분석하고, 4장에서 다양한 공격환경에서 이 공격이 유효하게 적용되는 bias의 threshold를 제시한다. 마지막으로 5장에서 결론을 맺는다.

II. IFCA

(Improved Fast Correlation Attack)

본 절에서는 IFCA를 소개한다. 본 논문에서는 다음과 같은 표기를 사용한다.

⊙ (細%, …): LFSR의 출력 수열.

⊙ (令勾, …): 키스 트림 수열.

⊙ Rz, =a, )=p=l/2 + e: 상관 확률 (£>0).

⊙ L- LFSR의 길이.

⊙ k(<L): LFSR의 초기 상태 값 중 추측될 비트 수.

⊙ f- 패리티 검사 방정식을 구성할 때 사용하는 비트 수.

⊙ <?=§+21%七 t 비트를 이용하여 구성된 패리티 검사 방정식의 bias.

⊙ N: 주어진 키스 트림 수열의 길이.

⊙ 仞吃_»): 에 대한 패리티 검사 방정식 개수의 기댓값

⊙ n: Vz_*의 개수.

전체 공격 과정은〔표 2〕와 같다. 표에서 7는 IFCA의 성공 확률에 의해 결정되는 threshold이다. LFSR의 출력 수열 印0 = 0, 1, …)는 LFSR의 초기 상태 값 (%, ..., %])의식 (1) 과 같은 선형 결합으로 표현 가능하다. 여기서 % 는 LFSR의 연결 다항식 ff(x) = l + g1x + ff2x2 H에 의해 결정된다.

[표 2] IFCA

#(1)

&k …1 ) , aL-k =(%%+ …“妃- ] )이고 L는 모든 원소가 1인 t차 벡터일 때, 식 (1)을 이용하여 식 (2) 와 같은 패리티 검사 방정식을 구성할 수 있

다 여기서 은 벡터의 내적이다. 그리고 为 = ("如…, 엏)이고, «G=mw)는 출력 비트 중 임의의 비트를 의미한다. 이때, 5는 0이 아닌 임의의 벡터를 의미한다. 따라서 각각의 에 대해 여러 개의 패리티 검사 방정식을 구성할 수 있다.

#(2)

식 (2) 에 키스 트림 수열을 대입하여, 식 (3)을 구성할 수 있다. 여기서 紘는 % 의 추 측 값이고고, 约 = (气, 毎…筋丄 为=(气, 饥…, 气)는 확률 Re广= ]거%, =总) * 1/2+&amp; 으로 #广= 篮任를 만족하는 에러 벡터이다 (项 = 丄, …, 以 그리고 는 叱.에 할당된 값이며 . C는 矿에 따라 0 또는 1이다.

#(3)

선 계산 단계에서는, 각각의 叱t에 대해 □(吃 개의 패리티 검사 방정식들을 구성한다. IFCA에서 사용하는 刃t의 개수는泗]다.

실계산 단계에서는 식 (3)의 좌변을 계산하고 (zt .lt)©(a\«xfc)©(a/L— fc ff) =。을 만족하는 수를 기록한다. 변수에 값을 대입하고 계산하는데 높은 계산 복잡도를 필요로 하기 때문에, 다음과 같은 방법을 사용한다.

각각의 에 대한 패리티 검사 방정식 집합에 대해식 (4)를 정의한다. 단, 패리티 검사 방정식 집합에서 나타나지 않는 g에 대해서는 &vx(xj=o이다.

#(4)

电-*("의 Walsh 변환을 식 ⑸와 같이 정의한다. 각각의 vzr에 대해. 砂번의 Walsh 변환을 계산해야 하는데 FWT(fast Walsh transform)을 이용하여 효율적으로 계산할 수 있다.

#(5)

공격자에게 TV1 비트 키스 트림 수열이 주어졌을 때, IFCA의 선계산 복잡도는 "心 .1。&加}고, 실계산 복잡도는 力(2*£+。(巧—)("代))이다. 二1뢰고 메모리 복잡도는 c . 砂+£冲 riogei +"、" 비트이다.

III. IFCA 분석

3.1 성공 확률

고정된 Vz_* 에 대한 패리티 검사 방정식의 개수 以宀)는 仰1이14. 따라서 식 3) 으로부터터, 恥 가 옳게 추측되었다면 S q)由(七f .Vi)=O 을 만족하는 개수가 로부터 。(、匕_*)2"-y만큼 차이가 난다. 그렇지 않으면. 차이가 발생하지 않는다.

B, 를 갱신하는데 사용되는 (%宀(3))2/4는 다음과 같은 식에 의해 유도된다. 여기서 a(Vzf)는 추측된 a'*에 대해 (z( - l, )©(at 通(a”, — .”*)=0을 만족하는 개수를 의미한다.

#

그래서 瓦 2 2는 식 ⑹과 같다.

#(6)

만약 a, 가 옳게 추측되었다면, 次吃f)는 이항 분포 ), q)를 따르고 그렇지 않으면 이항 분포 砲(改顼4)를 따른다 따라서 횮; 가 옳게 추측되었을 경우、식 (6) 은 아래와 같은 식 (7) 과 같이 표현된다. 식 (7) 은 a, 가 옳게 주측되었을 경우

#(7)

# noncentral chi-square distribi仕icm을 따름을 의미한다 n

이에 반해, L가 잘못 추측되었을 경우, 식 (6) 은식 ⑻과 같이 표현된다. 식, ⑻은 吼가 잘못 추측되었을 경우、# 가 central chi- (/瓦二1/2) square distiibution을 따름을 의미한다.

#(8)

따라서 옳게 추측된 耻가 氐指 그 7를 만족할 확률인 生期와 잘못 추측된 矿:가 알고리즘을 통과할 확률인 %哄은 식 ⑼와 같다

#(9)

여기서 에 대해 central chi-square distribution의 확률 밀도 함수 少小抄와 noncentral ehirquar언 distributio技의 확률 밀도 함수 勤(當) 는 다음과 같다.

#

.Rgg.<2i가 되도록' threshold 7를 적절히 선택한다.* 이는 잘못 추측된 紘는 IFCA를 통과하지 못하고. 옳게-추촉된 K*느 적당한 확률로 통과함을 의미한다. IFCA의 성공 확률을 Rw. 로 정의한다.

3.2 IFCA 분석

〔8〕에서는"공격자에게 주어진 다양한 환경에서 马此-1/ 為.呼 <2心를 만족하도록 매개 변수를 조절하여 .공격 복잡도를 조절하였다. 예를 들어 , LFSR 의 길이가-M)인 스트림 암호에 대해 주어진 키스 트림 수열의 길이가 40, 000일 경우 2詛6의 선계산 복잡도와 2加의 실겨[산 복잡도, 225의 메모리 복잡도로 LFSR의초기 싱태값을 복구할 수. 있다.〔표 3〕과〔표 4〕는 〔8〕에서 제시된 공격 환경인 7/=40, 7^=40, 000. t = 3, k=12일 경우의 공격 결과를 실제.구현한 결과와 비교한 것이다. 구현 결과는 MATLAB R2008a를 이용하여 계산되었다.〔표 3〕에서는 다양한 상관 확률에 대해 eright-1. %盹<2-技를 만족하도록 料nz를조절하여 복잡도를 계산하였고, 〔표 4〕에서는〔8〕 에서 제시된 공격 복잡도와 유사한 복잡도를 갖도록 “과 7를를 조절하였다. 표에서 알 수 있듯이, 〔8〕에서 제시된 공격 결과와 실제 구현 결과가 많이 다름을'알 수 있다.

[표 3] IFCA의 구현 결과 11 (기준: pright 1, p wrong <2-k)

매개 변수: L=40. t = 3, k=12

[표 4] IFCA의 구현 결과 2 (기준: 복잡도)

매개변수:L=40, t=3, k = 12

氏冲呢의 분포인 central chi-square distribu- tion의 평균은 자유도로서 IFCA의 경우는 기이다. 이에 반해 4时의 분포인 noncenfral chi-square distribution의 평균은 이다. 따라서 Piisht ~1, 0。昭 <2^를 만족하려면, 身이 큰 값이어야: 한다."s2 는 e과 e의 영향을 많이 받으므로, /이. 큰 값이 되 려면 이 두 값이 큰 값이 되어야 한다. 그림 1과 그림 -2 는 Z=40, 7V= 40, 000, fc=12, t = 3, e= 0.031일 때 n=10〔표 4〕인 경우와 n = 223.“〔표 3頂! 경우의 크래프를 나타낸 것이다. 그림에서 점선의 그래프가 noncentral chi-square distribution을 ■의미한다. 그림에서 알 수 있듯이, n = 10인 경우 두 그래프가 거의 차이가 없기 때문에 4[加와 의 차이가 거의 없다. 이에 반해, n = 223.”인 경우 두 그래프가 확연히 차이나기 때문에 와 Rrgg도 큰 차이가 난다.

[그림 1] n =10인 경우

[그림 2] n = 223.74인 경우

식 (9) 에서 4响의 # 와 Rrgg의 #-은 실험 결과 거의 같은 값으로 나타났다. 따라서 ⑻에서 제시하는 성공 기준인 乌驴产1, 氏閃冲 <須*을 만족하기 위해서는 큰 於이 필요하다 한편, 7를 么此의 7"(吃_山(1-9))와 %哄의 4〃以吃_*)가 두 그래프의 평균의 평균인 (n+(n +旳)/2가 되도록 설정하면,氏皿冲 <2-*을 거의 만족하는 것으로 나타났다

IV. IFCA의 적용 가능성

본 절에서는 IFCA가 유효하게 적용되는 상관 확률의 threshold를 제안한다. 먼저, 앞 절에서 고려한 공격 환경(Z=40, 7V=40, 000. fc=12, t = 3)에서의 적용 가능한 상관 확률을 살펴본 후, 길이가 61인 LFSR을 사용하는 shrinking generator에 적용 가능한 상관 확률을 살펴본다.

4.1 L= 40, N=40,000, k=12, t=3

〔표 5〕는 Z=40, JV= 40, 000, fc=12, t = 3 환경에서 다양한 상관 확률에 따른 공격 복잡도를 나타낸 것이다. 여기서 7는 앞 절에서 언급하였듯이 马矛의 7"(吃_山(1-”와 %。堕의 倾似吃盘이 두 그래프의 평균의 평균인 (n + S + X))/?가 되도록 설정하였다.

[표 5] L=4O, N=40,000, k=12, t = 3 환경에서의 적용 가능성

표에서 알 수 있듯이, eMO.10일 경우 IFCA가 유효하게 적용되기 위한 n이 급격하게 커진다. 따라서 이 공격 환경에서 IFCA는 eNO.10일 경우에만 유효하게 적용된다고 볼 수 있다.

4.2 길이가 61인 LFSR을 사용하는 shrinking generator

Zhang 등은 기제안된 고속 상관 공격과 효율성을 비교하기 위해〔8〕에서 길이가 61인 LFSR을 사용하는 아linking gener砒or에 대해 IFCA를 적용하였디:.〔8〕 에서는 상관 확률이 0凡95281이고 주어진 키스 트림 수열의 길이가 1Q000일 때, 235爾의 실계산 복잡도로 LFSR의 초기 상태 값을 복구할 수 있다고 주장하였다' 여기서 乌皿产"42%; 戸"吟 2『舞"이다

하지만 동일한 공격 환경에서 구현한 결과, 与汕가 97.42%가 아닌 2*3인 것으로 나타났다 (표 6 참조) . 만약 상관 확률이 Q60482이면, 〔8〕에서 제시한 공격 결과와 거의 유사한 것으로 나타났다. 따라서 길이가 61인 LFSR을 사용하는 shrinking gene rater에 대해 IFCA가 유효하게 적용되려면 £ 些 0.1을 만족해야 한다.

[표 6] 길이가 61인 LFSR을 사용하는 shrinking generator에 대한 적용 가능성

매개 변수 : L=61, N=10,000, n=12, t=5, k=27

V. 결론

본.논문에서는〔8〕에서 제안된 향상된 고속 상관 공격의 성공 확률 계산이 잘못되었음을 보이고, 그 원인을 분석하였다. 또한, 이 공격이 유효하게 적용되는 bias의 threshold를 제시하였다. 실험 결과, 이 공격 알고리즘은 e 그 0崩인 경우에만 유효하게 적용되는 것으로 나타났다. 이를 통해〔8〕에서는 제안된 고속 .상관 공격이 기제안 된 공격보다 훨씬 효율적이라고 주장하였으나, 이 주장이 옳지 않음을 알 수 있다.

참고문헌

  1. 김현, 홍석희, 성재철, 이상진, 박해룡, 전기수, '스트림 암호에 대한 개선된 다중 경로 고속 상관 공격,' 정보보호학회논문지, 17(4), pp. 53-60, 2007년 8월
  2. 정기태, 성재철, 홍석희, 이상진, 김재헌, 박상우, 'shrinking 생성기와 Self-Shrinking 생성기에 대한 향상된 고속 상관 공격,' 정보보호학회논문지, 16(2), pp. 25-32, 2006년 4월
  3. P. Chose, A. Joux. and M. Mitton. 'Fast Correlation Attacks: An Algorithmic Point of View,' EUfocfypt'02, LNCS 2332, pp. 209-221. 2002
  4. T. Johansson and F. Jonsson. 'Fast Correlation Attacks through Reconstruction of Linear Polynomials,' Crypto'00, LNCS 1880, pp. 300-315, 2000
  5. W. Meier and O. Staffelbach, 'Fast correlation attacks on certain stream ciphers,' Journal of Cryptology, vol. 1. no. 3, pp. 159-176, Oct. 1989 https://doi.org/10.1007/BF02252874
  6. T. Siegenthaler, 'Decrypting a class of stream ciphers using ciphertext-only,' IEEE Transactions on Computers. vol. 34, no. 1, pp. 81-85, Jan. 1985 https://doi.org/10.1109/TC.1985.1676518
  7. B. Zhang and D. Feng. 'Multi-pass fast correlation attack on stream ciphers,' SAC'06, LNCS 4356, pp. 234-248, 2007
  8. B. Zhang and D. Feng. 'An Improved Fast Correlation Attack on Stream Ciphers,' SAC 2008, LNCS 5381, 2009