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

Álvarez Cubero, José Antonio and Zufiria Zatarain, Pedro Jose (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:
  • Álvarez Cubero, José Antonio
  • Zufiria Zatarain, Pedro Jose
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

[img]
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

TypeCodeAcronymLeaderTitle
Government of SpainMTM2010-15102UnspecifiedMinisterio de Ciencia e InnovaciónUnspecified
Government of SpainMTM2007-62064UnspecifiedUnspecifiedUnspecified
Madrid Regional GovernmentCCG10-UPM/ESP-5236UnspecifiedUnspecifiedMétodos de generación automática de modelos circuitales: aspectos analíticos y computacionales
Universidad Politécnica de MadridQ10 0930-144UnspecifiedUnspecifiedUnspecified

More information

Item ID: 46288
DC Identifier: http://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: 22 Mar 2019 15:11
  • 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