A Framework for Fine-Grained Nonlinearity Optimization of Boolean and Vectorial Boolean Functions

Boolean functions and vectorial Boolean functions (S-boxes) are widely used cryptographic primitives for achieving cryptanalytic resistance of modern block or stream ciphers. In the aspect of information security, one of the most desirable characteristics a given S-box should possess is a high nonli...

Full description

Bibliographic Details
Main Author: Miroslav M. Dimitrov
Format: Article
Language:English
Published: IEEE 2021-01-01
Series:IEEE Access
Subjects:
Online Access:https://ieeexplore.ieee.org/document/9530573/
id doaj-f52385a082fd441786e18935ba4148d8
record_format Article
spelling doaj-f52385a082fd441786e18935ba4148d82021-09-14T23:00:28ZengIEEEIEEE Access2169-35362021-01-01912491012492010.1109/ACCESS.2021.31107619530573A Framework for Fine-Grained Nonlinearity Optimization of Boolean and Vectorial Boolean FunctionsMiroslav M. Dimitrov0https://orcid.org/0000-0003-4428-5426Institute of Mathematics and Informatics, Bulgarian Academy of Sciences, Sofia, BulgariaBoolean functions and vectorial Boolean functions (S-boxes) are widely used cryptographic primitives for achieving cryptanalytic resistance of modern block or stream ciphers. In the aspect of information security, one of the most desirable characteristics a given S-box should possess is a high nonlinearity. In this paper, we project the nonlinearity optimization problem to the domain of binary integer programming. Then, we demonstrate how this interconnection could be successfully exploited by SAT solvers. The provided toolbox could serve in cases, where the designer’s goal is to increase (or intentionally decrease) the nonlinearity of a given S-box by applying as minimum changes as possible. For example, we demonstrate how the Skipjack S-box, developed by the U.S. National Security Agency (NSA), and the Kuznyechik S-box, developed by the Russian Federation’s standardization agency, could be optimized to a higher nonlinearity by tweaking, respectively, just 4 and 12 bits (out of 2048). In the end, we show that bijective (8,8) S-boxes, the eight coordinates of which possess the currently known optimal nonlinearity value of 116, do exist.https://ieeexplore.ieee.org/document/9530573/Boolean functionsinteger linear programmingcryptographyoptimizationS-boxnonlinearity
collection DOAJ
language English
format Article
sources DOAJ
author Miroslav M. Dimitrov
spellingShingle Miroslav M. Dimitrov
A Framework for Fine-Grained Nonlinearity Optimization of Boolean and Vectorial Boolean Functions
IEEE Access
Boolean functions
integer linear programming
cryptography
optimization
S-box
nonlinearity
author_facet Miroslav M. Dimitrov
author_sort Miroslav M. Dimitrov
title A Framework for Fine-Grained Nonlinearity Optimization of Boolean and Vectorial Boolean Functions
title_short A Framework for Fine-Grained Nonlinearity Optimization of Boolean and Vectorial Boolean Functions
title_full A Framework for Fine-Grained Nonlinearity Optimization of Boolean and Vectorial Boolean Functions
title_fullStr A Framework for Fine-Grained Nonlinearity Optimization of Boolean and Vectorial Boolean Functions
title_full_unstemmed A Framework for Fine-Grained Nonlinearity Optimization of Boolean and Vectorial Boolean Functions
title_sort framework for fine-grained nonlinearity optimization of boolean and vectorial boolean functions
publisher IEEE
series IEEE Access
issn 2169-3536
publishDate 2021-01-01
description Boolean functions and vectorial Boolean functions (S-boxes) are widely used cryptographic primitives for achieving cryptanalytic resistance of modern block or stream ciphers. In the aspect of information security, one of the most desirable characteristics a given S-box should possess is a high nonlinearity. In this paper, we project the nonlinearity optimization problem to the domain of binary integer programming. Then, we demonstrate how this interconnection could be successfully exploited by SAT solvers. The provided toolbox could serve in cases, where the designer’s goal is to increase (or intentionally decrease) the nonlinearity of a given S-box by applying as minimum changes as possible. For example, we demonstrate how the Skipjack S-box, developed by the U.S. National Security Agency (NSA), and the Kuznyechik S-box, developed by the Russian Federation’s standardization agency, could be optimized to a higher nonlinearity by tweaking, respectively, just 4 and 12 bits (out of 2048). In the end, we show that bijective (8,8) S-boxes, the eight coordinates of which possess the currently known optimal nonlinearity value of 116, do exist.
topic Boolean functions
integer linear programming
cryptography
optimization
S-box
nonlinearity
url https://ieeexplore.ieee.org/document/9530573/
work_keys_str_mv AT miroslavmdimitrov aframeworkforfinegrainednonlinearityoptimizationofbooleanandvectorialbooleanfunctions
AT miroslavmdimitrov frameworkforfinegrainednonlinearityoptimizationofbooleanandvectorialbooleanfunctions
_version_ 1717379537050796032