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

被引:7
作者
Antonio Alvarez-Cubero, Jose [1 ]
Zufiria, Pedro J. [1 ]
机构
[1] Univ Politecn Madrid, ETSI Telecomun, Dept Matemat Aplicada TIC, Avda Complutense 30, E-28040 Madrid, Spain
来源
ACM TRANSACTIONS ON MATHEMATICAL SOFTWARE | 2016年 / 42卷 / 02期
关键词
Design; Algorithms; Boolean functions; cryptography; nontrigonometric Fourier analysis; software; CRYPTANALYSIS; CIPHERS;
D O I
10.1145/2794077
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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.
引用
收藏
页数:22
相关论文
empty
未找到相关数据