Algorithm 959: VBF: A Library of C plus plus Classes for Vector Boolean Functions in Cryptography

Álvarez Cubero, José Antonio and Zufiria Zatarain, Pedro José ORCID: https://orcid.org/0000-0002-1217-1216 (2016). Algorithm 959: VBF: A Library of C plus plus Classes for Vector Boolean Functions in Cryptography. "ACM Transactions on Mathematical Software", v. 42 (n. 2); pp. 1-22. ISSN 0098-3500. https://doi.org/10.1145/2794077.

Description

Title: Algorithm 959: VBF: A Library of C plus plus Classes for Vector Boolean Functions in Cryptography
Author/s:
Item Type: Article
Título de Revista/Publicación: ACM Transactions on Mathematical Software
Date: 2016
ISSN: 0098-3500
Volume: 42
Subjects:
Freetext Keywords: Boolean functions, cryptography, nontrigonometric Fourier analysis, software
Faculty: E.T.S.I. Telecomunicación (UPM)
Department: Matemática Aplicada a las Tecnologías de la Información y las Comunicaciones
Creative Commons Licenses: Recognition - No derivative works - Non commercial

Full text

[thumbnail of INVE_MEM_2016_252955.pdf]
Preview
PDF - Requires a PDF viewer, such as GSview, Xpdf or Adobe Acrobat Reader
Download (1MB) | Preview

Abstract

VBF is a collection of C++ classes designed for analyzing vector Boolean functions (functions that map a Boolean vector to another Boolean vector) from a cryptographic perspective. This implementation uses the NTL library from Victor Shoup, adding new modules that call NTL functions and complement the existing ones, making it better suited to cryptography. The class representing a vector Boolean function can be initialized by several alternative types of data structures such as Truth Table, Trace Representation, and Algebraic Normal Form (ANF), among others. The most relevant cryptographic criteria for both block and stream ciphers as well as for hash functions can be evaluated with VBF: it obtains the nonlinearity, linearity distance, algebraic degree, linear structures, and frequency distribution of the absolute values of the Walsh Spectrum or the Autocorrelation Spectrum, among others. In addition, operations such as equality testing, composition, inversion, sum, direct sum, bricklayering (parallel application of vector Boolean functions as employed in Rijndael cipher), and adding coordinate functions of two vector Boolean functions are presented. Finally, three real applications of the library are described: the first one analyzes the KASUMI block cipher, the second one analyzes the Mini-AES cipher, and the third one finds Boolean functions with very high nonlinearity, a key property for robustness against linear attacks.

Funding Projects

Type
Code
Acronym
Leader
Title
Government of Spain
MTM2010-15102
Unspecified
Ministerio de Ciencia e Innovación
Unspecified
Government of Spain
MTM2007-62064
Unspecified
Unspecified
Unspecified
Madrid Regional Government
CCG10-UPM/ESP-5236
Unspecified
Unspecified
Métodos de generación automática de modelos circuitales: aspectos analíticos y computacionales
Universidad Politécnica de Madrid
Q10 0930-144
Unspecified
Unspecified
Unspecified

More information

Item ID: 46288
DC Identifier: https://oa.upm.es/46288/
OAI Identifier: oai:oa.upm.es:46288
DOI: 10.1145/2794077
Official URL: http://dl.acm.org/citation.cfm?id=2794077
Deposited by: Memoria Investigacion
Deposited on: 21 Jun 2017 17:41
Last Modified: 25 Jan 2023 15:58
  • Logo InvestigaM (UPM)
  • Logo GEOUP4
  • Logo Open Access
  • Open Access
  • Logo Sherpa/Romeo
    Check whether the anglo-saxon journal in which you have published an article allows you to also publish it under open access.
  • Logo Dulcinea
    Check whether the spanish journal in which you have published an article allows you to also publish it under open access.
  • Logo de Recolecta
  • Logo del Observatorio I+D+i UPM
  • Logo de OpenCourseWare UPM