Ⅰ. 서론
LFSR의 대안으로 제안된 셀룰라 오토마타(CA)⑴는 LFSR과 달리 고품질의 PN 수열을 생성할 수 있음(2.3)이 밝혀짐에 따라, CA는 테스트 패턴 생성, 의사 난수열 생성기, 암호 및 서명과 같은 분야에서 응용되고 있다.⑷似 가산 CA의 상태전이 행동 분석은 대수적 분석이 가능하다.'沽)가산 CA중 GF(2) 위에서 최대길이를 갖는 n-셀 90/150 CA의 각 셀들은 주기가 2”一1인 PN 수열을 생성한다. 이러한 CA의 임의의 셀에 대한 출력수열은 다른 셀에 대한 출력 수열의 위치를 이동함으로써 얻을 수 있다. 그리고 LFSR과 달리 , CA의 셀들에 대한 출력 수열들의 위상이동차는 일반적으로 CA의 단계들 사이에서 다르다. Sarkar는 위상이동차를 구하는 알고리즘을 제안하였다.⑸ 이 알고리즘은 CA 수열의 연구를 위하여 적절한 대수적 구조를 전개함으로써 구하였다. 이러한 CA에 의해 생성되는 PN수열은 BIST구조와 안전한 스트림 암호의 설계에 응용된다. 특히, 후자의 경우는 CA 수열의 적당한 부분집합에 속하는 임의의 두 수열 사이의 위상이동차가 CA의 길이에서 지수적으로 커지는 부분집합을 택할 수 있다는 사실에 근거하고 있다. 그러나 Sarkar의 알고리즘에는 몇가지 문제점들이 있다. 첫째, 그의 알고리즘은 상대적 위상이동차를 구하기 위하여 반드시 Shank 의 알고리즘을 이용해야 한다는 것인데 Shank의 알고리즘은 셀의 수가 50을 넘어가면 계산이 불가능하다고 알려져 있어서 Sarkar의 알고리즘으로 셀의 수가 50을 넘는 CA에 의해서 생성되는 PN 수열들 간의 상대적 위상이동차를 구하는 것은 사실상 불가능하다. 둘째, Sarkar의 알고리즘을 이용하여 상대적 위상이동차를 구하려면 그 이전의 모든 셀들의 상대적 위상이동차를 알아야만 하는 불편함이 있다.
본 논문에서는 최대길이를 갖는 90/150 CA에 의해서 생성되는 수열에 관해 대수적으로 연구하고, 최대길이를 갖는 90/150 CA의 각 셀에서 생성된 수열의 위상이동차에 이를 적용한다. 이러한 응용으로부터, 행 (row)위상이동차라는 새로운 개념을 도입하여 Sarkar⑸의 방법을 개선한 위상이동 차를 구하는 새로운 알고리즘을 제안한다.
Ⅱ. 최대길이를 갖는 90/150 셀룰라 오토마타에 의해 생성된 수열의 분석
CA는 규칙적인 방법에 의해 공간적으로 배열된 셀들이 상호 연결되어 이루어진다. 여기서, 각 셀의 상태 전이는 그 셀의 이웃에 의존한다. Wolfram111 에 의해 조사된 CA의 구조는 셀들이 이산격자로 간주될 수 있다. 단, 각 셀의 값은 0 또는 1로 가정하고, 한 셀의 다음 상태는 자신과 인접한 두 셀(3-이웃)에 의존한다고 하자.
규칙 90과 150은 다음과 같이 주어진다.
규칙 90 :#
규칙 150: #
단, 0는 XOR 논리이고 q'는 t 번째 시간에서 /번째 CA 셀의 상태를 나타내고, 儿-1 와 q\+i 는 자신의 왼쪽과 오른쪽 이웃 상태를 가리킨다. 이 절에서는 두 개의 원소를 가지는 유한체 GF(2) 위에서 최대길이를 갖는 90/150 CA에 의해 생성된 수열의 성질에 대해 조사한다.
다음의 nxn 삼중대각행렬 7, 을 생각해보자.
#
단, 灼皿, …, 은 GF(2)에 속하는 원소이다. T, 을 하나의 竹셀 90/150 CA에 대한 상태 전이 행렬 (state transition matrix) 이라 하는데, T” =< 灼, 四.…, a«>으로 나타내기로 하자.
예로서, 만약 了6=<1, 0, 0, 0, 0, 0>이 주어진 6- 셀 90/150 CA인 C에 대한 상태전이행렬이면, 특성다항식은 /&) = 舟 + £) + 护 + 名+1이고 이는 원시다항식이다. 따라서 C는 최대길이를 갖는 90/ 150 CA이다. 다음 그림은 C의 구조를 보여준다.
그림 1. 상태전이행렬 T0을 가지는 90/150CA c의 구조
Tezuka와 Fushimi⑷는 주어진 원시다항식 f{x) 에 대하여 , /(X)를 특성다항식으로 하는 최대길이를 갖는 90/150 CA는 정확히 두 개가 존재함을 주장하였다. 만약 7\ =<灼, 知, …, 勾>이 /(X)에 대응하는 상태전이행렬이면, 나머지 상태전이행렬은 #이다.
예를들어,# 이면 # 와 # 이 #에 대응하는 상태전이행렬이다. .
<보조정리「⑼>상태전이행렬이 인 임의의 ”-셀 90/150 CA에 대하여, T” 에 대한 최소 다항식은 T”에 대한 특성다항식과 같다.
<정리 2>최대길이를 갖는 주어진 歐-셀 90/ 150 CA에 대한 상태전이행렬을 이라 하고, wo는 F艸 속하는 0아닌 벡터라 하자. 단, F; = {(b1, b2, --, tA1)tlheGF(2), l< i< n} . QI에 대해 이라 정의하면, 수열 V: v0, vrv2, ...은 최대주기 尸一1을 가진다.
(증명) T” 에 대한 특성다항식을 /(X)라 하자. 주어진 0이 아닌 벡터 〃트列에 대하여, /'(X)를 u에 대한 최소다항식이라 하자. 보조정리 1에 의해 0이 아닌 모든 벡터 uv/璀 에 대하여 /„(%) = /S) 가 성립한다. 만약 , 이 수열 V의 주기이면 7>。=如이므로. 九。(*) 는 ”一1을 나눈다. 한편, /*(x)=/(x) 이고 /(X)가 원시이므로, r=2n~l 이다. 口
<정의 3t20'21)) f(x) = c0 + CjxH—+ ..- + 勺_怦"-'+麥 (%, 勺, …, c"_iuGF(2)) 이 n 차원시다항식이면. f(、心는 주기가 2" — 1인 주기 수열을 생성한다. 이 수열을 PN수열이라 한다.
정리 2와 정의 3은 T, , 이 최대길이를 갖는 주어진 如-셀 90/150 CA에 대한 상태 전이 행렬이고。「= (研 , v\, - , 遊7)W 蔚이면, V-(0 < 7} PN 수열임을 말해준다.
<정리 4> T”을 최대길이를 갖는 "-셀 90/150 CA의 상태전이행렬이라 하면, 다음을 만족하는 p 가 존재한다. (1S好2"-2)
#
(증명) /*) ( 를 7\에 대한 특성다항식이라 하고 /(a)=0 이라 하자. 한편, /*) ( 는 원시이므로 {0, l, a, ・“, a2T}는 a에 의해 생성된 유한체이다. 따라서 l+a = a"를 만족하는 0 (*-l2M) 0M2 가존재한다. 한편, a는 T”의 고유벡터이므로,
Tn= 邛을 만족한다. 口
<따름정리 5> 7七을 최대길이를 갖는 셀 90/ 150 CA의 상태전이행렬이라 하면
#
을 만족하는 k (lMAM2" — 2)가 존재한다.
(증명) 정리 4에 의하여 I„® Tn = m를 만족하는 p (1 가 존재하므로
#
이 성립한다. 여기서 为= 2"-1 — 0라 두면, T^{ln® 4)= ^ © 羿中 = In 이 되어 증명된다. 口
<예제 6> 다음과 같은 상태전이행렬 4;를 갖는 6-셀 90/150 CA를 생각해보자.
#
八의 특성다항식은 /(X)= %6 + x5+%4+x+l 이고, 이는 원시다항식이다. 여기서 Tf® 爲5 = 16 이 성립한다.
Ⅲ. CA 수열의 특성
이 절에서 최대길이를 갖는 90/150 CA의 특별한 셀에 의해 생성된 수열에 관하여 연구한다. 각 셀 위치는 PN 수열을 생성한다〔8〕. LFSR과는 달리, 일반적으로 위상이동차는 CA의 단계들 사이에서 다르다.
이제부터는 을 간단히 T로 나타내기로 한다. <보조정리 7> T가 최대길이를 갖는 竹셀 90/150 CA의 상태전이행렬이면, T"와 T”의 i 번째 행은 항상 다르다. 단, #이고 #이다.
(증명 的 = (0, 0, ..., (), 1, 0, ..., ())을 T의 초기벡터라 하고 # 라 정의하자. 그리고 时와 7“의 , 번째 행이 같다고 가정하자. 단, OMzM" —1이고 — 2이다. 그러면
#
이다. 한편, 1%, Z幻 , …, 祠 2”一2은 모두 다르므로, 納譯叭이다. 따라서 T"와 T*항상 다르다. 口
다음 정리는 최대길이를 갖는 90/150 CA의 단계들 사이에서 위상이동차가 다름을 보여준다.
<정리 8> 「를 최대길이를 갖는 "-셀 90/150 CA의 상태전이행렬이라 하고, ㈣辛(0, 0, ..., ())을 T의 초기벡터라 하자. 그러면 임의의 1 < j < j M a —1 에 대하여 다음을 만족하는 정수 h가 존재한다. (단, /는 시간 f 에서의 / 번째 셀의 상태를 나타낸다.)
#
(증명) /(X)가 T의 "차의 원시 인 특성다항식이면, {/}와 荷, 는 徃계 동차 선형점화수열이다. 그리고 {<?;}와 {#}의 주기 역시 2"-1이다.
糾 = (旋, 疽”_1), 0M " 2* — 2 라 두면, 보조정리 7에 의하여 모든 糾들은 모두 0이 아니면서 서로 다르다. 한편, 각 셀 위치는 PN 수열을 생성하므로, 모든 t2 0 에 대하여 q「h = /를 만족하는 정수 /Z가 존재한다. 口
T를 최대길이를 갖는 주어진 如-셀 90/150 CA 의 상태전이행렬이라 하고, w0 = (1, 0, ■.., 0) 를 T 의 초기벡터라 하자. 그러면 T에 의해 생성된 〃개의 독립인 PN 수열을 열로서 갖는 (2"-l)x勿 행렬 A를 얻는다. 를 A에서 /번째 열을 제거하여 얻은 (2”一1)시&一1) 행렬이라 하면, 8'는 모두가 0인 (初一1)쌍은 단 하나, 나머지 0아닌 (如一1)쌍은 두 개씩 포함한다. 이 경우에 에 속하는 첫 번째 벡터는 (0, 0, , ", 0)이다.
예로서, T =<O, 1, 1>인 경우에 A와 a(i = 0, 1, 2)는 다음의 표 1에서 보는 바와 같다.
표 1. T=<0,1,1>에 대한 행렬 A와 B
이제, 甘에 관한 3。의 행위상이동차로서 B에 속하는 모두 0인 행벡터의 위치를 정의하자. 표 1 에서 甘과 序에 관한 用의 행위상이동차는 각각 1과 5이다. 즉, 에 관한 甘과 度의 행위상 이동차는 각각 -1=6 (mod 7)과 -5三2 (mod 7) 이다.
<정리 9> T가 최대길이를 갖는 竹셀 90/150 CA의 상태전이행렬이면 다음 식을 만족하는 정 수수 (OMzMs-l)가존재한다.
#
(증명) T侦 = (0, 0, ..., (), 1, 0, ..., ())' 가 성립하는 们를 구할 수 있다. 정리 4에 의해 4® T= 暨를 만족하는 ?를 계산하고 七 = qt-p (mod2'> — 1) 라 두면, 이 七가 구하는 정수이다.
□ 다음의 따름정리에 의해 烈에서 모두가 0인 (R-1)쌍의 위치를 구할 수 있다.
<따름정리 10> T는 최대길이를 갖는 "-셀 90/150 CA의 상태전이행렬이고 乙가 정리 9에서 존재하는 정수라 하면, 甘에서 모두가 0인 쌍은 (七. +》)번째 벡터이다. 단, P는 정리 4에서의 정수이다.
다음 정리는 위상이동차를 구하는 방법을 제시해준다.
<정리 11>丁를 최대길이를 갖는 "-셀 90/150 CA C의 상태전이행렬이라 하고 ", .를 0번째 셀에 관한 C의 n-\)번째 셀의 위상이동차라 하면, 다음을 만족한다.(단 七와 少는 각각 정리 9와 정리 4에서의 정수이다.)
#
(증명) A는 T에 의해서 생성된 "개의 독립인 PN 수열을 열로서 갖는 (2”一l)x如 행렬이고, (1, 0, ..., ())은 T의 초기구성이라 하자. 각 i 1)에 대하여, 圧를 △에서 /번째 열을 제거하여 얻은 (2"一1)""-1) 행렬이라 하자. 知를 3'에 관한 3°의 행위상이동차라고 하면, 龙)= 0이고 一岛 (mod 2如一1)은 에 관한 B' 의 행위상이동차이다. 한편, 丁가 대칭행렬(sysm- metric matrix)이므로, 0셀에 관한 , 번째 셀의 위상이동차는 3°에 관한 甘의 위상이동차와 같다. 따름정리 10에 의하여
#
이고 따라서 九. = +z>이 성립한다. 한편, C가 최대길이를 갖는 CA이므로, T는 가역이다. 그러므로
#
이고, 다음이 성립한다.
#
<예제 12>T=<l, 0, 0, 0, 0, 0>라 하면. T의 특성다항식은 xe + x5 + x4 + x+l 이고 Z6© T = T39 이 성립한다. 한편, T°(l, 0, 0, 0, 0, 0)'=(1, 0, 0, 0, 0, 0)' 이므로, 如 =0이다. 따라서
r0= g0 — />= —39 = 24 (mod 63) 이다. 실제로, 7、24(i, o, o, o, o, o):W 7"5(i, o, o, o, o, o), = (1, 0, 0, 0, 0, 0)'이다.
한편, 了39(], 0, (), (), 0, 0), =(1, 0, (), (), (), 0), 이므로 n = Qx-p = Q (mod 63) 이다. 같은 방법으로 다음을 구할 수 있다. *2 = 59, 穹 = 8, :% = 57 그리고 %=56 한편, 정리 11에 의해 ut =-(rt+p) (mod63)이므로 위상이동차는 다음과 같다.
#
Ⅳ. 위상이동차 계산을 위한 알고리즘 제안 및 비교
4.1 기존 알고리즘과의 비교
다음은 Sarkar의 알고리즘이다⑸. Sarkai■의 알고리즘은 주어진 원시 다항식 /S)를 특성다항식으로 갖는 CA의 전이행렬 T에 대하여 (、打f X=0 mod 广W)를 푼다. /(臨의 상반 다항식 f*(w) 를 이용하여 f*S)= 。을 만족하는 해 a를 이용하여 GF(2”) 유한체를 구성한다. 예를 들어 3- 셀 90/150 CA의 전이행렬이 #일 때,■ 7의 특성다항식은 fM = 2?+3: + 1이다. 특성다항식의 상반다항식은 /* (a:) = x3 + x2 +1 이다. 그러므로 (zT—/)X=0 mod f*(c) 은 다음과 같다.
#
위 행렬방정식을 연립방정식으로 나타내면 다음과 같다,
#(1)
#(2)
#(3)
식 (1)을 풀면。= 6이고, (1)의 결과를 이용하여 식 ⑵를 풀면 b = 2이다. 따라서 0셀에 대한 1 셀, 2셀의 위상이동차는 각각 6과 2이다.
이와 같이 Sarkar의 알고리즘은 먼저 f*(z) 를이용하여 GF(2")의 유한체를 생성하고, (xT-I) X=0 mod f*(z) 를 순차적으로 풀어야 한다. 다시 말해서 0셀에 대한 /번째 열의 위상이동차를 구하기 위해서는 이전의 모든 값을 알아야만 계산할 수 있다. 또한 이 알고리즘의 풀이법은 Shank의 알고리즘을 이용하고 있으므로 Shank의 알고리즘이 가지고 있는 제약조건인 셀의 크기가 50 이하라는 조건을 그대로 가지고 있다. 그러나 본 논문에서 제안한 알고리즘은 알고리즘을 수행하는 데 있어 Shank의 알고리즘이 필요하지 않으며, 0셀에 대한 /번째 열의 위상이동차를 구하기 위해서 이전의 어떤 위상이동차도 필요하지 않다. 또한 Shank의 알고리즘을 사용하지 않으므로 충분히 큰 如에 대해서도 실제적으로 아주 유용하다.
Sarkar의 알고리즘을 수행하기 위해 요구되는 계산량은 f*(z) 를 이용하여 GF(2") 을 구성하기 위하여 0(2") 이 요구되고 방정식을 푸는데 <2(«2») 이 요구된다. 그러나 본 논문에서 제안한 알고리즘을 수행하기 위해 요구되는 계산량은 0(2")이다.
4.2 알고리즘 제안
이제, 최대길이를 갖는 주어진 件■셀 90/150 CA에서의 위상이동차를 구하는 알고리즘을 제시한다. 이 알고리즘의 정당성은 정리 11에 있다.
표 2는 제안된 알고리즘에 따라 32차까지 계산한 0셀에 대한 주어진 CA의 위상이동차를 나타낸 것이다.
[Algorithm FindPhaseShifts]
입력 :nXn 상태전이행렬 Z 초기벡터 w=(l, 0, -", 0) 출력 : phaseshift 同 .
단계 1. mark mark lx„ by 0 ; mark [0] =1; power=l; phaseshift[0]=0.
단계 2. While (all mark #1) do step 3 to step 5.
단계 3. =7". /* Run the CA */ 단계 4 . If ( w contains single 1) then mark [position of 1 ] =1;
phaseshift[position of 1] = - power (mod 2n — 1).
단계 5 . power=power+l.
표 2. 0셀에 대한 CA의 위상이동차
Ⅴ. 결론
본 논문에서 우리는 최대길이를 갖는 90/150 CA에 대한 성질을 조사하였으며, 이러한 결과들을 최대길이를 갖는 90/150 CA에 의해서 생성된 PN 수열의 위상이동차에 응용하여 Sarkar⑸의 방법과 다른 새로운 위상이동차 계산 알고리즘을 제안하였다. Sarkar의 알고리즘은 0번째 셀에 대한 寸 번째 셀의 위상이동차를 구하기 위해 이전 셀의 위상이동 차를 알아야만 계산할 수 있다. 무엇보다 방정식을 풀기 위해 Shank의 알고리즘을 이용해야만 하기때문에 셀의 크기에 제한을 받는다. 그러나 본 논문에서 제안한 알고리즘은 0번째 셀에 대한 寸 번째 셀의 위상이동차를 독립적으로 계산할 수 있으며 셀의 크기에도 제약을 받지 않는다. 또한 제안한 알고리즘을 수행하기 위해 요구되는 계산량도 0(2")으로 Sarkar에 의해 제안된 알고리즘의 계산량 g方') 보다 효과적임을 보였다.
* 본 논문은 2003년도 인제대학교 학술 연구 조성비 보조에 의한 것임.
References
- S. Wolfram, 'Statistical Mechanics of Cellular Automata', Rev. Mod. Phys. 55, pp. 601-644, 1983 https://doi.org/10.1103/RevModPhys.55.601
- P.H. Bardell, 'Analysis of Cellular Automata Used as Pseudorandom Pattern Generators', Proc. IEEE int. Test. Conf. pp.762-767, 1990
- A.K. Das and P.P. Chaudhuri, 'Vector space theoretic analysis of additive cellular automata and its application for pseudo-exhaustive test pattern generation', IEEE Trans. Comput. 42, pp. 340-352, 1993 https://doi.org/10.1109/12.210176
- S. Tezuka and M. Fushimi, 'A method of designing cellular automata as pseudorandom number generators for built-in self-test for VLSI', Contemporary Mathematica 168, pp.363-367, 1994
- P. Sarkar, 'Computing Shifts in 90/150 cellular automata sequences', Finite Fields Their Appl. 42, pp. 340-352, 2003
- S.J. Cho, U.S. Choi and H.D. Kim, 'Analysis of complemented CA derived from a linear TPMACA', Computers and Mathematics with Applications 45, pp.689-698, 2003 https://doi.org/10.1016/S0898-1221(03)00028-2
- S.J. Cho, U.S. Choi and H.D. Kim, 'Behavior of complemented CA whose complement vector is acyclic in a linear TPMACA', Mathematical and Computer Modelling 36, pp. 979-986, 2002 https://doi.org/10.1016/S0895-7177(02)00251-0
- S. Nandi and P.P. Chaudhuri, 'Additive Cellular Automata as an on-chip test pattern generator', Test Symposium 1993, Proceedings of the Second Asian, IEEE, pp.166-171, 1993
- P. Sarkar, 'The filter-combiner model for memoryless synchronous stream ciphers', in Proceedings of Crypto 2002, Lecture Notes in Computer Science, Springer, Berlin 2442, pp. 533-548, 2002
-
전준철, 김현성, 이형목, 유기영, '
$GF(2^m)$ 상의 셀룰라 오토마타를 이용한 VLSI 구조', 정보보호학회논문지, 12(6), pp. 87-94, 2002 - 홍진, 이동훈, 지성택, 'LFSM 기반의 비선형 필터 모델의 특성', 정보보호학회논문지, 14(2), pp.75-83, 2004
- 최언숙, 조성진, '최대길이를 갖는 셀룰라 오토마타의 생성', 정보보호확회논문지, 14(6), pp.25-30, 2004
- 조성진, 최언숙, 황윤희, 김한두, 표용수, 'GF(2p) 위에서의 SACA의 상태전이 분석', 정보보호학회논문지, 15(2), pp.105-111, 2005
- 조태남, 이상호, '(2,4)-트리를 이요한 그룹키 관리', 정보보호학회논문지, 11(4), pp.77-89, 2001
- 박영호, 이경현, '이동네트워크 환경에서 그룹키 관리구조', 정보보호학회논문지, 12(2), pp.89-100, 2002
- 권정옥, 황정연, 김현정, 이동훈, 임종인, '일방향 함수와 XOR을 이용한 효율적인 그룹키 관리 프로토콜: ELKH', 정보보호학회논문지, 12(6), pp.93-1121, 2002
- 이상원, 천정희, 김용대, 'Pairing을 이용한 트리 기반 그룸키 합의 프로토콜', 정보보호학회논문지, 13(3), pp.101-110, 2003
- 박영희, 정병천, 이윤호, 김희열, 이재원, 윤현수, 'Diffie-Hallman 키 교환을 이용한 확장성을 가진 계층적 그룹키 설정 프로토콜', 정보보호학회논문지, 13(5), pp.3-15, 2003
- M. Serra, T. Slater, J.C. Muzio and D.M. Miller, The analysis of one dimensional linear cellular automata and their aliasing properties, IEEE Trans Computer-Aided Design, 9, pp. 767-778, 1990 https://doi.org/10.1109/43.55213
- S.W. Golomb, Shift Register Sequences, Holden Day, 1967
- R. Lidl and H. Niederreiter, Finite Fields, Cambridge University Press, 1997