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+& 으로 #广= 篮任를 만족하는 에러 벡터이다 (项 = 丄, …, 以 그리고 는 叱.에 할당된 값이며 . 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〕에서는 제안된 고속 .상관 공격이 기제안 된 공격보다 훨씬 효율적이라고 주장하였으나, 이 주장이 옳지 않음을 알 수 있다.
References
- 김현, 홍석희, 성재철, 이상진, 박해룡, 전기수, '스트림 암호에 대한 개선된 다중 경로 고속 상관 공격,' 정보보호학회논문지, 17(4), pp. 53-60, 2007년 8월
- 정기태, 성재철, 홍석희, 이상진, 김재헌, 박상우, 'shrinking 생성기와 Self-Shrinking 생성기에 대한 향상된 고속 상관 공격,' 정보보호학회논문지, 16(2), pp. 25-32, 2006년 4월
- P. Chose, A. Joux. and M. Mitton. 'Fast Correlation Attacks: An Algorithmic Point of View,' EUfocfypt'02, LNCS 2332, pp. 209-221. 2002
- T. Johansson and F. Jonsson. 'Fast Correlation Attacks through Reconstruction of Linear Polynomials,' Crypto'00, LNCS 1880, pp. 300-315, 2000
- 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
- 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
- B. Zhang and D. Feng. 'Multi-pass fast correlation attack on stream ciphers,' SAC'06, LNCS 4356, pp. 234-248, 2007
- B. Zhang and D. Feng. 'An Improved Fast Correlation Attack on Stream Ciphers,' SAC 2008, LNCS 5381, 2009