<p>In cryptographic applications, Boolean functions are typically represented in algebraic normal form, i.e. as multivariate polynomial functions over the finite field <InlineEquation ID="IEq1"> <EquationSource Format="TEX">\({\mathbb {F}}_2\)</EquationSource> </InlineEquation>. For such a function&#xa0;<InlineEquation ID="IEq2"> <EquationSource Format="TEX">\(f\)</EquationSource> </InlineEquation>, we consider, for each degree&#xa0;<InlineEquation ID="IEq3"> <EquationSource Format="TEX">\(k\)</EquationSource> </InlineEquation>, the density of monomials of degree&#xa0;<InlineEquation ID="IEq4"> <EquationSource Format="TEX">\(k\)</EquationSource> </InlineEquation>&#xa0;in&#xa0;<InlineEquation ID="IEq5"> <EquationSource Format="TEX">\(f\)</EquationSource> </InlineEquation>, i.e. the number of monomials of degree&#xa0;<InlineEquation ID="IEq6"> <EquationSource Format="TEX">\(k\)</EquationSource> </InlineEquation>&#xa0;that appear in&#xa0;<InlineEquation ID="IEq7"> <EquationSource Format="TEX">\(f\)</EquationSource> </InlineEquation>, normalized by the total number of possible monomials of degree&#xa0;<InlineEquation ID="IEq8"> <EquationSource Format="TEX">\(k\)</EquationSource> </InlineEquation>. We then average this number over all functions which are affine equivalent to<InlineEquation ID="IEq9"> <EquationSource Format="TEX">\(f\)</EquationSource> </InlineEquation>; we call the resulting quantity, denoted by <InlineEquation ID="IEq10"> <EquationSource Format="TEX">\({\textbf {add}}_{\varvec{k}}\varvec{(f)}\)</EquationSource> </InlineEquation>, the average degree-<InlineEquation ID="IEq11"> <EquationSource Format="TEX">\(k\)</EquationSource> </InlineEquation>&#xa0;monomial density of&#xa0;<InlineEquation ID="IEq12"> <EquationSource Format="TEX">\(f\)</EquationSource> </InlineEquation>. This quantity was defined in previous work, and it was shown that it is closely related to a probabilistic test for deciding whether <InlineEquation ID="IEq13"> <EquationSource Format="TEX">\(\textbf{deg}\varvec{(f)&lt;k}\)</EquationSource> </InlineEquation>. In this paper, we give lower and upper bounds for <InlineEquation ID="IEq14"> <EquationSource Format="TEX">\({\textbf {add}}_{\varvec{k}}\varvec{(f)}\)</EquationSource> </InlineEquation> for functions of any degree&#xa0;<InlineEquation ID="IEq15"> <EquationSource Format="TEX">\(d\)</EquationSource> </InlineEquation>&#xa0;(only the particular case&#xa0;<InlineEquation ID="IEq16"> <EquationSource Format="TEX">\(d=k\)</EquationSource> </InlineEquation>&#xa0;having been dealt with in previous work). The lower bound is reached; while in general the upper bound is not reached, we show that, except for some border cases, is not far from the actual maximum. There are several consequences of these bounds. Firstly, it answers negatively the following question: Does there exist a function&#xa0;<InlineEquation ID="IEq17"> <EquationSource Format="TEX">\(f\)</EquationSource> </InlineEquation>&#xa0;which has no monomials of a particular degree&#xa0;<InlineEquation ID="IEq18"> <EquationSource Format="TEX">\(k\)</EquationSource> </InlineEquation>&#xa0;(with <InlineEquation ID="IEq19"> <EquationSource Format="TEX">\(k\varvec{&lt;} \textbf{deg}\varvec{(f)}\)</EquationSource> </InlineEquation>) and, moreover, it still has no monomials of degree&#xa0;<InlineEquation ID="IEq20"> <EquationSource Format="TEX">\(k\)</EquationSource> </InlineEquation>, regardless which affine invertible change of coordinates is applied to&#xa0;<InlineEquation ID="IEq21"> <EquationSource Format="TEX">\(f?\)</EquationSource> </InlineEquation>&#xa0;Secondly, the <InlineEquation ID="IEq22"> <EquationSource Format="TEX">\(\textbf{deg}\varvec{(f)\varvec{&lt;}k}\)</EquationSource> </InlineEquation> probabilistic test is guaranteed to have high accuracy when the actual degree of&#xa0;<InlineEquation ID="IEq23"> <EquationSource Format="TEX">\(f\)</EquationSource> </InlineEquation>&#xa0;is not much higher than&#xa0;<InlineEquation ID="IEq24"> <EquationSource Format="TEX">\(k\)</EquationSource> </InlineEquation>. Thirdly, while the average of <InlineEquation ID="IEq25"> <EquationSource Format="TEX">\({\textbf {add}}_{\varvec{k}}\varvec{(f)}\)</EquationSource> </InlineEquation> over all&#xa0;<InlineEquation ID="IEq26"> <EquationSource Format="TEX">\(n\)</EquationSource> </InlineEquation>-variable functions&#xa0;<InlineEquation ID="IEq27"> <EquationSource Format="TEX">\(f\)</EquationSource> </InlineEquation>&#xa0;of a fixed degree&#xa0;<InlineEquation ID="IEq28"> <EquationSource Format="TEX">\(d&gt;k\)</EquationSource> </InlineEquation>&#xa0;is equal to <b>0.5</b>, the distribution of the values is somewhat surprising; when <InlineEquation ID="IEq29"> <EquationSource Format="TEX">\(\varvec{n\ge }\)</EquationSource> </InlineEquation> <b>20</b>, <InlineEquation ID="IEq30"> <EquationSource Format="TEX">\(\varvec{n - k\ge }\)</EquationSource> </InlineEquation> <b>9</b> and <InlineEquation ID="IEq31"> <EquationSource Format="TEX">\(\varvec{d-k\ge }\)</EquationSource> </InlineEquation> <b>6</b>, low values of <b>add</b><InlineEquation ID="IEq32"> <EquationSource Format="TEX">\(_{\varvec{k}}(\varvec{f})\)</EquationSource> </InlineEquation> exist (reaching approximately <InlineEquation ID="IEq33"> <EquationSource Format="TEX">\(\frac{{\textbf {1}}}{{\textbf {2}}^{\varvec{d-k}}}\)</EquationSource> </InlineEquation>), but there are no values higher than around <b>0.5005</b>. We also report experimental results for computing exact values of <b>add</b><InlineEquation ID="IEq34"> <EquationSource Format="TEX">\(_{\varvec{k}}\varvec{(f)}\)</EquationSource> </InlineEquation> for functions in 7 variables and results for running the probabilistic test on functions describing the output of the ciphers Trivium, Grain-128a, and SNOW-V.</p>

错误:搜索内容不能为空,请输入英文关键词
错误:关键词超出字数限制,请精简
高级检索

Bounds for the average degree-k monomial density of Boolean functions

  • Ana Sălăgean,
  • Percy Reyes-Paredes

摘要

In cryptographic applications, Boolean functions are typically represented in algebraic normal form, i.e. as multivariate polynomial functions over the finite field \({\mathbb {F}}_2\) . For such a function  \(f\) , we consider, for each degree  \(k\) , the density of monomials of degree  \(k\)  in  \(f\) , i.e. the number of monomials of degree  \(k\)  that appear in  \(f\) , normalized by the total number of possible monomials of degree  \(k\) . We then average this number over all functions which are affine equivalent to \(f\) ; we call the resulting quantity, denoted by \({\textbf {add}}_{\varvec{k}}\varvec{(f)}\) , the average degree- \(k\)  monomial density of  \(f\) . This quantity was defined in previous work, and it was shown that it is closely related to a probabilistic test for deciding whether \(\textbf{deg}\varvec{(f)<k}\) . In this paper, we give lower and upper bounds for \({\textbf {add}}_{\varvec{k}}\varvec{(f)}\) for functions of any degree  \(d\)  (only the particular case  \(d=k\)  having been dealt with in previous work). The lower bound is reached; while in general the upper bound is not reached, we show that, except for some border cases, is not far from the actual maximum. There are several consequences of these bounds. Firstly, it answers negatively the following question: Does there exist a function  \(f\)  which has no monomials of a particular degree  \(k\)  (with \(k\varvec{<} \textbf{deg}\varvec{(f)}\) ) and, moreover, it still has no monomials of degree  \(k\) , regardless which affine invertible change of coordinates is applied to  \(f?\)  Secondly, the \(\textbf{deg}\varvec{(f)\varvec{<}k}\) probabilistic test is guaranteed to have high accuracy when the actual degree of  \(f\)  is not much higher than  \(k\) . Thirdly, while the average of \({\textbf {add}}_{\varvec{k}}\varvec{(f)}\) over all  \(n\) -variable functions  \(f\)  of a fixed degree  \(d>k\)  is equal to 0.5, the distribution of the values is somewhat surprising; when \(\varvec{n\ge }\) 20, \(\varvec{n - k\ge }\) 9 and \(\varvec{d-k\ge }\) 6, low values of add \(_{\varvec{k}}(\varvec{f})\) exist (reaching approximately \(\frac{{\textbf {1}}}{{\textbf {2}}^{\varvec{d-k}}}\) ), but there are no values higher than around 0.5005. We also report experimental results for computing exact values of add \(_{\varvec{k}}\varvec{(f)}\) for functions in 7 variables and results for running the probabilistic test on functions describing the output of the ciphers Trivium, Grain-128a, and SNOW-V.