Version 1.2.2
15 may 2019
Nusa Zidaric
Email: nzidaric@uwaterloo.ca
Mark Aagaard
Email: maagaard@uwaterloo.ca
Guang Gong
Email: ggong@uwaterloo.ca
The GAP package FSR can be used to implement arbitrary LFSR, NLFSR and FILFUN objects, where FILFUN stands for ``filtering functions'. This package was designed based on modular thinking, inherent to hardware designs, and recognition and exploitation of structural similarities between LFSRs, NLFSRs and filters, from both mathematical and hardware perspectives. Conventional feedback functions are modelled as univariate or multivariate polynomials. More complex functions can be modelled as FILFUNs. Complex primitives, such as Grain stream cipher, can be implemented with a set of (N)LFSRs and FILFUN filters. The generality of the FSR package enables the FSRs to be used directly as building blocks for many cryptographic modules, e.g. random number generators. These can be executed in GAP and can generate traces w.r.t. different bases for testbenching purposes.
© 2017-2019 by Nusa Zidaric, Mark Aagaard, Guang Gong
FSR is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. For details, see the FSF's own site http://www.gnu.org/licenses/gpl.html.
If you obtained FSR, we would be grateful for a short notification sent to one of the authors.
If you publish a result which was partially obtained with the usage of FSR, please cite it in the following form:
Zidaric, N., Aagaard, M. and Gong, G., FSR, Feedback Shift Register Package, Version 1.2.2 (2019)
The authors would like to thank Dr. Alexander Konovalov from University of St. Andrews for his advice during the FSR package implementation.
generated by GAPDoc2HTML