Abstract

So far, there are no efficient algorithms to solve a problem of finding the low degree annihilators for arbitrary Boolean function. In the paper we present a new algorithm to find affine annihilators for an arbitrary Boolean function. We start with considering the identity fg ≡ 0 or the arbitrary Boolean function f and its possible affine annihilator g. We use a special representation of the Boolean function in sum of its sub-functions to reduce degrees of considering functions in previous identity. As a result, we establish equivalence between the identity fg ≡ 0 for Boolean functions of n variables and the system of Boolean equations of n-1 variable.An algorithm for finding the affine annihilators for the arbitrary Boolean function f must find all the affine functions g so that fg ≡ 0. Our algorithm is based on reducing the problem of finding the affine annihilators for the Boolean function f of n to the similar problem for its sub-functions of n-1 variable. The presented algorithm has the following advantages:An input function can be presented in different ways;Output can be also presented in different ways;The algorithm can be effectively parallelized.It should be noted that the result we have obtained is not final and highlights some development directions: first, to study the impact of its input and output on the efficiency of the algorithm of various representations and, second, to use our idea of constructing the algorithm for development of algorithms, which allow finding the 2nd, 3rd, etc. degree annihilators for a specified Boolean function.

Highlights

  • Áóëåâà ôóíêöèÿ g íàçûâàåòñÿ àííèãèëÿòîðîì áóëåâîé ôóíêöèè f, åñëè âûïîëíåíî òîæäåñòâî f g ≡ 0

  • Improving the lower bound on the higher order nonlinearity of Boolean functions with prescribed algebraic immunity // Cryptology ePrint Archive

  • There are no efficient algorithms to solve a problem of finding the low degree annihilators for arbitrary Boolean function

Read more

Summary

Àëãîðèòì ïîèñêà àôôèííûõ àííèãèëÿòîðîâ áóëåâîé ôóíêöèè

Áóëåâà ôóíêöèÿ g íàçûâàåòñÿ àííèãèëÿòîðîì áóëåâîé ôóíêöèè f , åñëè âûïîëíåíî òîæäåñòâî f g ≡ 0.  íàñòîÿùåé ðàáîòå ïðåäñòàâëåí àëãîðèòì ïîèñêà àôôèííûõ àííèãèëÿòîðîâ äëÿ ïðîèçâîëüíîé áóëåâîé ôóíêöèè. Íàì èçâåñòíî, ÷òî äëÿ ëþáîãî k ≤ n è ëþáîé áóëåâîé ôóíêöèè f ∈ Fn ìíîæåñòâî Annk(f ) ÿâëÿåòñÿ ëèíåéíûì ïðîñòðàíñòâîì. Òåïåðü äîêàæåì, ÷òî ëþáîé ýëåìåíò ñìåæíîãî êëàññà h1 + Ann1(f0) ∩ Ann1(f1) ÿâëÿåòñÿ ðåøåíèåì ñèñòåìû óðàâíåíèé (8). Åñëè ôóíêöèÿ h èç ôîðìóëèðîâêè òåîðåìû íå ñóùåñòâóåò, òî ñèñòåìà óðàâíåíèé (8) íå èìååò ðåøåíèé, à çíà÷èò, ïðîñòðàíñòâî Ann1(f ) ñîñòîèò òîëüêî èç âåêòîðîâ, óäîâëåòâîðÿþùèõ ïðåäûäóùåìó ñëó÷àþ. Îïèñàííàÿ íàìè òåîðèÿ äàåò âîçìîæíîñòü ñîñòàâèòü ðåêóðñèâíûé àëãîðèòì ïîèñêà àôôèííûõ àííèãèëÿòîðîâ äëÿ ïðîèçâîëüíîé áóëåâîé ôóíêöèè. Øàã 5: Ïðè n = l ìû îñòàíàâëèâàåì ðåêóðñèþ, è äëÿ ïîèñêà áàçèñà Ann1(f ) ïðåäëàãàåì èñïîëüçîâàòü ëþáîé àëãîðèòì ïîèñêà áàçèñà ïðîñòðàíñòâà àííèãèëÿòîðîâ íèçêîé àëãåáðàè÷åñêîé ñòåïåíè. Åñëè ñèñòåìà óðàâíåíèé (8) èìååò ðåøåíèå, òî äëÿ íåêîòîðîãî g1 ∈ Ann1(f0) îäíîâðåìåííî âûïîëíåíî f0g1 ≡ 0 è f1(g1 + 1) ≡ 0. Ïðåäñòàâëåííûé íàìè ðåçóëüòàò íå ÿâëÿåòñÿ êîíå÷íûì è èìååò íåñêîëüêî íàïðàâëåíèé äëÿ äàëüíåéøåãî ðàçâèòèÿ, ñðåäè êîòîðûõ ìû ìîæåì âûäåëèòü: 1) èçó÷åíèå âëèÿíèÿ ïðåäñòàâëåíèé âõîäíîé è âûõîäíûõ ôóíêöèé íà ðàáîòó àëãîðèòìà; 2) èçó÷åíèå âëèÿíèÿ çíà÷åíèÿ ïàðàìåòðà l è èñïîëüçóåìûõ âíóòðè àëãîðèòìîâ ïîèñêà àííèãèëÿòîðîâ íà ðàáîòó àëãîðèòìà; 3) èñïîëüçîâàíèå èäåè ïîñòðîåíèÿ íàøåãî àëãîðèòìà äëÿ ñîçäàíèÿ àëãîðèòìîâ ïîèñêà áàçèñîâ Ann2(f ), Ann3(f ) è ò.ä

Ñïèñîê ëèòåðàòóðû
Affine Annihilator Finding Algorithm for Boolean Function
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call