Ⅰ. 서론
부울 함수는 블록 암호, 스트림 암호, 해쉬 함수 등의 암호 프리미티브에서 가장 기본적인 요소로 사용되는 중요한 함수이다. 일반적으로 암호학적 응용에 사용되기 위해서는 부울 함수는 몇 가지 성질들을 만족해야 한다’ 예를 들면, 균형성 (balancedness), 높은 대수적 차수(algebraic degree), 높은 대수적 면역성(algebraic immunity), 높은 비선형성 (nonTinearity), 높은 상관 면역성 (cor- relation immunity) 등을 들 수 있다. 그러나 부울 함수는 이 모든 성질을 다 좋게 만들 수는 없다. 그러므로 부울 함수를 사용하는 응용에 따라서, 특정 성질을 좋게 하고 나머지 성질들은 최적으로 하는 부울 함수를 설계하는 것이 일반적이다.
부울 함수를 설계하는 방법으로 유한체에서 정의된 다항식을 활용하는 것이 있다. 유한체에서 정의된 다항식은 정해진 기저에 대하여 각 성분 함수는부울 함수로 볼 수 있으며, 따라서 다항식을 벡터부울 함수로 볼 수 있다. 이러한 방법에 의하면, 유한체에서 간단한 연산일지라도 부울 함수로 표현하는 경우 매우 복잡한 모양으로 나타나게 된다. 예를 들면, 1/x의 경우 간단한 대수적 연산이지만, 이것의부울 함수의 대수적 특성은 매우 우수하다. 그러나 단항식을 제외하고는 일반적인 다항식의 경우 벡터 부울 함수로서 대수적 성질이 거의 알려진 바가 없다.
Crypto 2001에서는 대수적 차수가 큰 벡터 resilient 함수를 설계하는 새로운 방법으로 선형다항식과 선형 부호이론을 사용하는 방법이 제안되었다(1). 선형 다항식은 identity 함수인 f(x)=x를 일반화한 함수라고 볼 수 있으므로 선형 다항식의 역원은 f(x) = i/x를 일반화한 것으로 볼 수 있다. f(x) = l/x는 대수적인 성질이 매우 우수하며, 간단한 구조를 가지고 있으므로 AES의 S-box를 비롯한 여러 응용에서 많이 활용되는 벡터 부울 함수이다. 따라서 선형 다항식의 역원은 좋은 성질을 가지는 벡터 부울 함수를 설계하는데 활용할 수 있는 좋은 후보가 될 수 있다.
그러나〔1〕에서 제시한 선형 다항식의 역원의 대수적 차수에 대한 분석 결과에 오류가 있어, 새로 제안된 벡터 resilient 함수의 대수적 차수에도 오류가 포함되었다. 본 논문에서는 선형 다항식의 역원의 정확한 대수적 차수를 제시하고자 한다. 본 논문의 구성은 다음과 같다. 우선 II절에서는 기호와 선형 다항식에 대한 정의 및 이후 증명에 필요한 성질들을 보인다. Ⅲ절에서 실제로 대수적 차수를 구하고 IV절에서 결론을 내린다.
Ⅱ. 선형 다항식
1. 기호 및 정의
을 원소의 개수가 /개인 유한체라고 하고, 矽 을 W위의 n차원 벡터 공간이라고 하자. 만일 임의로 与, 의 기저를 偽: ... , 丄}로 고정하면 두 집 합사 이에는 다음과 같은 자연스러운 동형사상 © 가 존재한다.
#
따라서 기저를 고정한 경우 필요에 따라서 与, 의원 소와 罗의 원소를 서로 혼용해서 사용해도 무방하다. 본문에서 미지수 0는 유한체의 원소 혹은 벡터로서 Z = (%气, …, %—])를 혼용해서 사용하도록 한다.
유한체 马에서 정의된 다항식 / 化 )를 각 성 분으로 나타내면, 위의 동형사상 ©를 통해서 다음과 같이 n개의 부울 함수 (fB, ", .- . 九-i)로 표현할 수 있다.
#
따라서 유한체에서 정의된 다항식을 벡터 부울 함수로 간주할 수 있다. 여기서, 각 성분 부울 함수 fi 를 대수적 정규 형식 (algebraic normal form)으로 표현했을 때, 항 중에서 가장 많은 변수의 개수를 七의 대수적 차수라고 부른다. 그러면 벡터 부울함수의 대수적 차수는 다음과 같이 정의한다.
〔정의 1J /饥)를 위와 같이 유한체 好에서 정의된 다항식이라고 하자. 그러면 maximal 대수적 차수는 각 성분 부울 함수 £에 대한 대수적 차수의최대값으로 정의한다. 또한 minimal 대수적 차수는 각 성분 부울 함수 儿들의 임의의 선형결합에 대한 대수적 차수의 최소값으로 정의한다.
Maximal 대수적 차수의 경우, 다항식을 이용하여 좋은 성질을 가지는 부울 함수를 설계하고자 할 때 유용하다. Almost bent 함수에 대하여 maximal 대수적 차수에 대한 상한에 대한 결과가 발표된 적도 있다(2). S-box와 같은 벡터 부울 함수를 암호에 활용하는 경우라면, 공격자는 주어진 벡터 부울함수에서 가장 공격하기 쉬운 것을 찾기만 하면 되므로 minimal 대수적 차수가 의미 있을 수도 있다.
Crypto 2001에서 선형 다항식의 역원에 대한 대수적 차수는 maximal 대수적 차수를 다루었으며, 본. 논문에서도 우선 maximal 대수적 차수만을 다루도록 한다. 즉, 다른 언급이 없는 경우 벡터 부울 함수의 대수적 차수는 maximal 대수적 차수를 의미하는 것으로 하겠다. 그러면 선형 다항식은 다음과 같이 정의한다.
〔정의 2〕유한체 与"에서 정의된 선형 다항식 (linearized polynomial) RS)는 각 항의 z에 대한 지수가 모두 2의 거듭제곱만이 있는 다항식을 말한다. 즉, 左S)는 다음과 같이 표현된다(3).
#
여기서, 유한체 舟의 표수가 2이므로 모든 殆는 선형 변환이다. 따라서 R{x) 또한 선형 변환임을 알 수 있다. 그리고 RS)의 kernel을 紘이라고 하자. 즉, 砾 = 修 e, 馈|矶匸) = 0}이라고 흐]자’ 그러면, 7认r)가 선형이므로 £ 瓦이면, / 十 ?£_《;이되므로 砥은 &의 벡터 부분 공간이 된다’ 역으로 μ가 反의 부분 공간이라고 할 때, 다음의 다항식 또한 선형 다항식이다(3).
#
이와 같이 벡터 공간, 에 대응하는 선형 다항식을 & (z) 라고 표기하도록 한다.
이후부터 , 를 W-차원의 벡터 부분 공간이라고 하고, 7?(缶) = 务 (rr)라고 하자. 이 때, w = 0인 경우 r={o} 이고 w>0인 경우 /의 가저를 伉, &, ..., &, 」} 으로 선택한다. 그리고 %)= {0}이라고 하고, r의 부분 공간 E를 {&>, &, …, &_i}로 생성되는 벡터 공간이라고 하자. 또한 각각의 气에 대응하는 선형 다항식 死饥)를 편의상 凡(*)로 표기하도록 한다. 그러면 쉽게 凡(Q = z와 A+[ S)=R&)用好§)가 성립함을 알 수 있다.
선형 다항식 R(z) 의 역원 을 2 로정의한다. 즉, 7?(c)=o이면, 7?(r)-'=0으로 정의하고, 7?伝) 乂0이면 =l/々(z)으로 정의한다. Crypto 2001에서는 五饥)」의 대수적 차수에 대해서 다음의 결과를 제시하였다.
[Crypto 2001] , 와 3(/)를 위에서 정의한 바와 같이 각각 w-차원의 벡터 부분 공간과 그에 대응하는 선형 다항식이라고 하자. 그러면, R(x)-} 의 대수적 차수는 n-wT이다(1).
그러나 증명과정에서 오류가 포함되어 실제 대수적 차수는 경우에 따라서 n-w가 될 수 있음을 본논문의 〔정리 6〕에서 밝힌다’
2. 선형 다항식의 성질
〔보조정리 3] 伊”」)을 &의 (n-1)-차원의 부분 공간이라고 하고, 를 대응하는 선형 다항식이라고 하자. 이 때,
#
라고 하면, 모든 계수 a, e 如, 은 0이 아니고, 다음과 같은 관계식이 성립한다.
#
(증명) 만일 특정한 何1 대해서 @ =。이라고 가정하자. 그러면. a" =2;이므로 成扁-“化产'亠'은 X 에 관한 차수가 기껏해야 2이하가 된다. 그런데, 방정식 RM」)s)=0의 해집합(kernel)은 产」) 이므로 원소의 개수가 2"*개이므로, 마찬가지로 방정식 ”"」%;产亠' = 0의 해의 개수도 2”」개가 되어 모순이 생긴다. 따라서 모든 a.는 0이 될 수 없다. 한편, a紀?("” (时2과 何7?房-1七 )를 비교해 보자.
#
두 식을 비교하면. X에 관하여 차수가 모두 2”」 이고 z항의 계수가 서로 같다. 그런데, 두 식의 해 집합은 서로 같으므로 두 식은 정확하게 서로 같을 수밖에 없다. 따라서 氏房盘(1) 二何氏"*^이므로 보조정리의 관계식이 성립한다.
〔보조정리 3〕에 따라서, 우리는 (nT)-차원의 벡터 부분 공간에 대응하는 선형 다항식의 경우, 적당한 상수를 곱함으로써, 선형 다항식의 함수값이 (유한체의 원소로서) 0 또는 1로 만들 수 있다. 이후로 (n-l)-차원의 벡터 부분 공간에 대응하는 선형 다항식은 이러한 형태임을 가정한다’
〔보조정리 4] OiUVkMn에 대해서, I/"-1* 를 k개의 (n-1)-차원의 부분 공간이라고 하자. 단, VHE*""가 (n-k)-차원의 부분 공간이 된다고 가정한다. 그리고, 砂'-1) (z)를 矽”"에 대응하는 선형 다항식이라고 하자. 그러면, II*二]爲"—“ S) 의 대수적 차수는 k이다.
(증명) 祁"-"가 (n-1)-차원의 부분 공간이므로, 2: = &吼 ..海, , 」) e 祁"-"이면, 적당한 선형부울 함수 九 에 대하여 £ (%皿, ..., %」)=0을 만족한다. 한편, 砂」“(z)는 佟에 대응하는 선형 다항식이므로 정의에 따라서, re e “이면, 出3」¥;) = 0이고";冬 I*"*이면 = 1 巴句이다. 그러면 1 J馈이 기저에 대하여 l=&a, & 로표현된다고 할 때, 끼"-"/는 於项(履=(%方" WS), …, %冨(0))과 같이 표현할 수 있음을 쉽게 알 수 있다. 房-“S)의 값은 H가 矽중의 어느 하나의 원소라면, 砂1-"(工) =。이므로 전체의 값이 0이다. 11匕}기"-”(工) = 1인 경우는 H 가 모든 E(”-"의 원소가 아닌 경우이고, 다시 말하면 모든 £(舟에 대하여 £(;r) = l인 경우이다. 따라서 다음이 성립한다.
#
만일 £ 가 선형 독립이 아니면, 이들을 곱하여도 대 수적 차수가 증가하지 않을 수 있다. 그러므로 모든 £들이 선형 독립임을 보이면 보조정리가 증명된다. 이들이 독립이 아니라고 가정하자. 그러면, 적당한 공집합이 아닌 부분 집합 lu 가존재하여 君切 = 0을 만족한다. 예를 들어 0 e 7라고 가정해 보자. 그러면, /*=/-{0}라고 하면. fo=、/, 이므로 다음이 성립한다.
#
그러므로 nt J = nbi1 林”*가 성립하게 된다. 그러나 川村 时"」)은 차원이 적어도 n-(k-l) 이상이 되므로 가정에 모순이다. 따라서 모든 £는선형 독립이므로 보조정리가 증명된다.
Ⅲ. 선형 다항식의 역원의 대수적 차수
听와 &(/는 II절에서 정의한 바와 같다고 하자. 그러면, 새로운 다항식 月®)를 다음과 같이 정의한다.
#
그러면, 정의에 의해서
#
가 성립한다. 그러면 Si(x) 와 & 3)는 다음과 같은 관계가 있다.
〔보조정리〕
#
(증명) 만일 rw %라면, "는 벡터 공간이므로 *와 /+ E는 서로 같은 집합이다. 따라서 §(挤 = £(0)이 성립하므로 첫 번째 식은 모든 亦Hl 대해서 참이다.
두 번째 식은 S 에 대한 귀납법으로 증명하도록 한다. 우선 / = 1이면, % = {0, &}이므로 정의에 의해서
#
이 성립한다. 이면, rGr + &)¥0이므로 也 如)를 다음과 같이 쓸 수 있다.
#
따라서 / = 1일 때 위의 보조정리가 성립함을 보였다. 이제, 위의 보조정리가 « 三 &일 때 성립함을 가정한다. % 宕 *+] 일 때, 岛(挤의 정의와 가정으로부터 다음을 얻을 수 있다.
#
z 終 K+j이므로 (/ + &) 任 *+i이다. 따라서 爲饥) 尹 0이고 + * 0이다. 그러면, 위 식은 다음과 같이 바꿀 수 있다.
#
따라서 寸 = 为+1인 경우에도 성립한다. 그러므로 수학적 귀납법에 의하여 위 보조정리가 증명된다. 그러면, 위의 보조정리들을 이용하여 다음의 정리를 보인다.
〔정리 6) 氏如)는 W-차원의 벡터 부분 공간 r에 대응하는 선형 다항식이라고 하자. 그러면, 의 대수적 차수는 다음과 같다.
#
(증명) 7?伝产」을 생각해보자. 0이 아닌 모든 X e 与에 대하여 t2'"1 =1이므로 다음이 성립한다.
#
한편, V의 차원이 w이므로 적당한 (比w)개의 (n-1)-차원의 벡터 부분 공간 计匸"이 존재하여 矿= «室勺夕*이 성립한다. 이 때, 思", 」)(z) 를에 대응하는 선형 다항식이라고 하자. 그러면, 다음이 성립함을 쉽게 알 수 있다.
#
따라서
#
이 성립한다.〔보조정리 4〕에 따라서 의대 수적 차수는 n-w가 된다. 그런데, RS)'」은 RS产과 3(2」의 곱으로 표현할 수 있고, R(xf 는 역시 선형이므로
deg (R(X)~1) > n — w— 1
임을 알 수 있다.
s = 0이면, 品如)=们1이고 따라서 대수적 차수는 nT이므로 위 정리가 성립한다(4). 지금부터 w> 0 이라고 가정한다.〔보조정리 5〕로부터 다음과 같은 식을 얻을 수 있다.
#
즉, 위의 식과 조합하면 다음과 같은 식을 얻을 수 있다.
#
따라서, =Sw(x) + (法弘」)珥¥"㈤""(z) + l) 0이면, 〔보조정리 4〕에 의하여
deg(-R(w)-1) = n - 街이다. 饋尸顼이면, R(x)~1 의 대수적 차수는 此, (力의 대수적 차수와 같다. 易 S)의 정의로부터 ,
#
이므로 deg (§+&))<deg (§:(")이다. 따라서 deg(5”(z)) Mdeg(§)(z))~% = n-1—也이다. 이미 앞에서 RS)-'의 대수적 차수가 々-⑦- 1 이상임을 보였으므로 정리가 증명된다.
이제 언제의 조건을 만족하는지 살펴보자. 广 = μ - {0} 이라고 하자 정의에 의하여 " = 0 이므로 다음과 같이 다시 쓸 수 있다.
#
위 식의 분모는 r의 원소의 곱이고, 분자는 广 에서 한 원소를 제외한 나머지의 곱을 모두 합한 것이므로 貿3)를 전개하였을 때, 각각 H와 工2의 계수임을 알 수 있다. 따라서 修;L'=。이라는 조건과 左S)으] 전개에서 #2의 계수가 0인 것과는 동치이다. 〔예제 7〕/를 (nT)-차원의 벡터 부분 공간이라고 하고, 友(c)를 이에 대응하는 선형 다항식이라고 하자. 그러면〔보조정리 4〕에 따라서 7? 如)의모든 계수는 0이 아니므로이다. 따라서 〔정리 6〕에 따르면, 7?3广의 대수적 차수는 n-(nT) = 1로 선형이다. 실제로〔보조정리 3〕 에따르면, K(z)2二 이므로 RQ)의 임의의 거듭제곱도 R(r)의 적당한 상수배가 된다. 즉, 氏(公尸 = 砒a:产-2로부터 R(z)-1 는 矶匕)의 적당한 상수배가 되므로 선형이다.
〔예제 8] n = 6이라고 하고, a를 X6 + x~t-l =0x 의 근일 때, %과 匕를 각각 {1} 과 1, 扌+疽+아 凌+疽%로 생성되는 1-차원과 3-차원의 벡터 부분 공간이라고 증}자■. 그러면, 여기에 대응되는 선형다항식을 다음과 같이 구할 수 있다.
#
%와 峋에 대응하는 선형 다항식은 각각 &S) 와 %(药이다. 比(①의 那의 계수는 1이지만, 爲(肅 의 ⑦2의 계수가 0이므로〔정리 6〕에 따르면, deg (4(/-】)=6T = 5 이고, deg(, (G」)=6T-1 = 2 이다. 실제로 &S)-'와 用(吃广1 는 다음과 같다. R1(£ )」=把62 + :舟 * 折9 * z55 + ^47 +
#
Ⅳ. 결론
부울 함수는 암호 프리미티브에서 가장 기본적인 요소로 좋은 부울 함수를 설계하는 것은 매우 중요한 문제이다. 그러나 모든 조건을 다 충족시킬 수 있는 부울 함수를 설계하는 것은 불가능하고, 응용에 따라서 적절한 부울 함수를 설계하는 것이 필요하다. 그러한 방법의 하나로 유한체에서 정의된 다항식을 활용하여 부울 함수를 설계하는 것이 있으며, 예로 Crypto 2001어)서는 선형 다항식을 이용하여 대수적 차수가 큰 벡터 resilient 함수를 설계한 경우가 있었다. 그러나 여기서 선형 다항식의 역원에 대한 대수적 차수의 분석에 오류가 있어서 본 논문에서는 선형 다항식의 성질을 좀 더 명확히 하고 이것을 이용하여 선형 다항식의 역원에 대하 여대 수적 차수를 구하였다.
여기서 제시한 선형 다항식의 성질 및 선형 다항식의 변형 등을 통해서 좋은 부울 함수를 설계하는데 활용될 수 있을 것이다. 또한 선형 다항식의 역원에 대한 minimal 대수적 차수와 대수적 면역성 (algebraic immunity)에 대한 연구가 보완되면 좀 더 많은 암호 프리미티브에 활용될 수 있을 것이라고 기대한다.
참고문헌
- J.H. Cheon, 'Nonlinear Vector Resilient Functions', Advances in Cryptology - Crypto 2001, LNCS 2139, pp. 458-469, 2001
- C. Carlet, P. Charpin and V. Zinoviev, 'Codes, Bent Functions and Permutations Suitable for DES-like Cryptosystems', Designs, Codes and Cryptography, vol.15(2), pp. 125-156, 1998 https://doi.org/10.1023/A:1008344232130
- R. Lidle and H. Niederreiter, Finite Fields, Cambridge University Press, 1997
- K. Nyberg, 'Differentially Uniform Mappings for Cryptography', Advances in Cryptology - Eurocrypt'93, LNCS 765, pp. 55-64, 1993