******* Summary ******* Table :ref:`Representations Table ` lists the member functions related to methods of vector Boolean functions initialization. Table :ref:`Characterizations Table ` lists the member functions related to the characterizations of vector Boolean functions as described above. Most of the member functions of *VBF* have an in-line definition, for instance: :code:`void TT(NTL::mat_GF2& X, VBF& F)` is also defined as :code:`inline NTL::mat_GF2 TT(VBF& F)`. .. _Representation: +--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Representation of VBF | +=============================================================+==============================================================================================================================+ | **SYNTAX** | **DESCRIPTION** | +-------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------+ | :code:`void puttt(const NTL::mat_GF2& X)` | :math:`\matr{TT}_F = \matr{T}` | +-------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------+ | :code:`void putHexTT(istream& s)` | VBF which has an hexadecimal representation of its truth table defined by *s* | +-------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------+ | :code:`void putDecTT(const NTL::vec_long& d,const long& m)` | VBF with a decimal representation of its truth table defined by *d* and *m* is the number of component Boolean functions | +-------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------+ | :code:`void putltt(const NTL::mat_GF2& L)` | :math:`\matr{LTT}_F = \matr{L}` | +-------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------+ | :code:`void putctt(const NTL::mat_ZZ& C)` | :math:`\matr{CTT}_F = \matr{C}` | +-------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------+ | :code:`void putirrpol(GF2X& g)` | Set *F* by its trace *f* and the irreducible polynomial *g* | | :code:`void puttrace(string& f)` | | +-------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------+ | :code:`void putpol(vec_pol& p)` | Set *F* with Polynomials in *ANF* equals to *p* | +-------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------+ | :code:`void putanf(const NTL::mat_GF2& A)` | :math:`\matr{ANF}_F = \matr{A}` | +-------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------+ | :code:`void putchar(const NTL::mat_ZZ& C)` | :math:`\matr{Img}(F) = \matr{C}` | +-------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------+ | :code:`void putwalsh(const NTL::mat_ZZ& W)` | :math:`\matr{WS}(F) = \matr{W}` | +-------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------+ | :code:`void putper(const NTL::vec_ZZ& v)` | VBF which is a permutation defined by :math:`\vec{v}` | +-------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------+ | :code:`void putexp_comp(const NTL::vec_ZZ& v)` | VBF defined by Expansion and Compression DES vector :math:`\vec{v}` | +-------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------+ | :code:`void putsbox(const NTL::mat_ZZ& S)` | VBF which is a DES S-Box defined by *S* | +-------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------+ .. _Characterization: +----------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Characterization of VBF | +==============================================================+=================================================================================================+ | **SYNTAX** | **DESCRIPTION** | +--------------------------------------------------------------+-------------------------------------------------------------------------------------------------+ | :code:`void TT(NTL::mat_GF2& X, VBF& F)` | :math:`\matr{X}=\matr{T}_F` | +--------------------------------------------------------------+-------------------------------------------------------------------------------------------------+ | :code:`void getHexTT(ostream& s)` | *s* is the hexadecimal representation of the truth table of *F* | +--------------------------------------------------------------+-------------------------------------------------------------------------------------------------+ | :code:`NTL::vec_long getDecTT() const` | Decimal representation of the truth table | +--------------------------------------------------------------+-------------------------------------------------------------------------------------------------+ | :code:`long weight(VBF& F)` | Weight of *F* | +--------------------------------------------------------------+-------------------------------------------------------------------------------------------------+ | :code:`void LTT(NTL::mat_GF2& X, VBF& F)` | :math:`\matr{X}=\matr{LTT}_F` | +--------------------------------------------------------------+-------------------------------------------------------------------------------------------------+ | :code:`void CTT(NTL::mat_ZZ& X, VBF& F)` | :math:`\matr{X}=\matr{CTT}_F` | +--------------------------------------------------------------+-------------------------------------------------------------------------------------------------+ | :code:`void Trace(GF2EX& f, VBF& F)` | *F* has a trace representation defined by *f* | +--------------------------------------------------------------+-------------------------------------------------------------------------------------------------+ | :code:`void Pol(NTL_SNS ostream& s, VBF& F)` | *s* contains the Polynomials in *ANF* of *F* | +--------------------------------------------------------------+-------------------------------------------------------------------------------------------------+ | :code:`void ANF(NTL::mat_GF2& X, VBF& F)` | :math:`\matr{X}=\matr{ANF}_F` | +--------------------------------------------------------------+-------------------------------------------------------------------------------------------------+ | :code:`void Charact(NTL::mat_ZZ& X, VBF& F)` | :math:`\matr{X}=\matr{Img(F)}` | +--------------------------------------------------------------+-------------------------------------------------------------------------------------------------+ | :code:`void Walsh(NTL::mat_ZZ& X, VBF& F)` | :math:`\matr{X}=\matr{WS}(F)` | +--------------------------------------------------------------+-------------------------------------------------------------------------------------------------+ | :code:`void LAT(NTL::mat_ZZ& X, VBF& F)` | :math:`\matr{X}=\matr{LP}(F)` | +--------------------------------------------------------------+-------------------------------------------------------------------------------------------------+ | :code:`void lp(NTL::RR& x, VBF& F)` | :math:`\crit{lp}(F)=x` | +--------------------------------------------------------------+-------------------------------------------------------------------------------------------------+ | :code:`void linear(NTL_SNS ostream& s, VBF& F, ZZ& x)` | Linear relations associated with the value *x* of the Linear Profile of *F* | +--------------------------------------------------------------+-------------------------------------------------------------------------------------------------+ | :code:`void ProbLin(NTL::RR& x, VBF& F, NTL::ZZ& w)` | Probability of Linear relations associated with the value *w* of the Linear Profile of *F* | +--------------------------------------------------------------+-------------------------------------------------------------------------------------------------+ | :code:`void DAT(NTL::mat_ZZ& X, VBF& F)` | :math:`\matr{X}=\matr{DP}(F)` | +--------------------------------------------------------------+-------------------------------------------------------------------------------------------------+ | :code:`void dp(NTL::RR& x, VBF& F)` | :math:`\crit{dp}(F)=x` | +--------------------------------------------------------------+-------------------------------------------------------------------------------------------------+ | :code:`void differential(NTL_SNS ostream& s, VBF& F, ZZ& x)` | Differential relations associated with the value *x* of the Differential Profile of *F* | +--------------------------------------------------------------+-------------------------------------------------------------------------------------------------+ | :code:`void ProbDif(NTL::RR& x, VBF& F, NTL::ZZ& w)` | Probability of characteristics associated with the value *w* of the Differential Profile of *F* | +--------------------------------------------------------------+-------------------------------------------------------------------------------------------------+ | :code:`void AC(NTL::mat_ZZ& X, VBF& F)` | :math:`\matr{X}=\matr{R}(F)` | +--------------------------------------------------------------+-------------------------------------------------------------------------------------------------+ | :code:`NTL::mat_GF2 LS(VBF& F)` | Returns a matrix whose rows are the linear structures | +--------------------------------------------------------------+-------------------------------------------------------------------------------------------------+ | :code:`void printFWH(NTL_SNS ostream& s, VBF& F)` | Frequency distribution of the absolute values of the Walsh Spectrum | +--------------------------------------------------------------+-------------------------------------------------------------------------------------------------+ | :code:`void printFAC(NTL_SNS ostream& s, VBF& F)` | Frequency distribution of the absolute values of the Autocorrelation Spectrum | +--------------------------------------------------------------+-------------------------------------------------------------------------------------------------+ | :code:`void Cycle(NTL::vec_ZZ& v, VBF& F)` | :math:`\vec{v}` is the Cycle Structure | +--------------------------------------------------------------+-------------------------------------------------------------------------------------------------+ | :code:`void printCycle(NTL_SNS ostream& s, VBF& F)` | Print Cycle Structure | +--------------------------------------------------------------+-------------------------------------------------------------------------------------------------+ | :code:`NTL::mat_GF2 fixedpoints(VBF& F)` | Return fixed points | +--------------------------------------------------------------+-------------------------------------------------------------------------------------------------+ | :code:`NTL::mat_GF2 negatedfixedpoints(VBF& F)` | Return negated fixed points | +--------------------------------------------------------------+-------------------------------------------------------------------------------------------------+ | :code:`void PER(NTL::vec_ZZ& v, VBF& F)` | :math:`\vec{v}` is the permutation vector defined by *F* | +--------------------------------------------------------------+-------------------------------------------------------------------------------------------------+