1
$\begingroup$

What could we say about differential uniformity of (a vectorial Boolean function) $F = f+g \pmod 2$ (i.e. XOR) in terms of differential uniformity of $f$ and $g$?

$\endgroup$
2
  • $\begingroup$ What's the source of this question? $\endgroup$
    – Maarten Bodewes
    Commented Apr 22 at 10:39
  • 1
    $\begingroup$ Actually it is of my personal interest. I have calculated some result regarding differential uniformity of some particular type of functions. From those I have some doubts regarding this question. $\endgroup$ Commented Apr 22 at 10:47

1 Answer 1

1
$\begingroup$

Not much can be said in general. For example take the APN function (defined over the field instead of the vector space, clearly this makes no difference to diff. uniformity) $$ f:GF(2^n) \rightarrow GF(2^n),x\mapsto x^{2^n-2} $$ which is the AES "inverse" map for $n=8,$ and is APN (differentially $2-$uniform) when $n$ is odd. Define $F(x)=f(x)+f(x+b)$ for some nonzero $b,$ then you will obtain a horrible function with differential uniformity as large as $2^{n}.$

Magma Script and output from http://magma.maths.usyd.edu.au/calc/:

Note: a^^b means the element a occurs b times so for the new function differential uniformity is $2^3=8,$ the largest possible. The code

F:=GF(2); 
n:=3; 
K<w>:=ext<F|n>;
function f(x,n) 
  return K!x^(2^n-2); 
end function;
"original f"; {* {* f(x+a,n)+f(x,n): x in K *}: a in K *};
function g(x,n,b) 
  return K!(f(x+b,n)+f(x,n));
end function;
b:=Random(K); "translated by f(x+b) and summed where b=",b;
{* {* g(x+a,n,b)+g(x,n,b): x in K *}: a in K *};

gives

original f
{*
    {* 0^^8 *},
    {* 1^^2, w^^2, w^2^^2, w^5^^2 *},
    {* 1^^2, w^^2, w^4^^2, w^6^^2 *},
    {* 1^^2, w^2^^2, w^3^^2, w^4^^2 *},
    {* 1^^2, w^3^^2, w^5^^2, w^6^^2 *},
    {* w^^2, w^2^^2, w^3^^2, w^6^^2 *},
    {* w^^2, w^3^^2, w^4^^2, w^5^^2 *},
    {* w^2^^2, w^4^^2, w^5^^2, w^6^^2 *}
*}
translated by f(x+b) and summed where b= w
{*
    {* 0^^8 *}^^2,
    {* 1^^8 *}^^2,
    {* w^^8 *}^^2,
    {* w^3^^8 *}^^2
*}
$\endgroup$
2
  • 1
    $\begingroup$ @kelalaka It required line by line copy paste with { } which is quite a pain, so I kept the image for the output. If there is a trick to really processing a block at once, I don't know it. The quotes didn't work. They can run the code online if they wish. $\endgroup$
    – kodlu
    Commented Apr 23 at 0:01
  • 1
    $\begingroup$ thanks, now I know $\endgroup$
    – kodlu
    Commented Apr 23 at 0:43

Not the answer you're looking for? Browse other questions tagged or ask your own question.