Trait dbl::Dbl
[−]
[src]
pub trait Dbl { fn dbl(self) -> Self; fn inv_dbl(self) -> Self; }
Double and inverse double over GF(2n). WARNING: block must be aligned!
This trait is implemented for 64, 128 and 256 bit block sizes. Big-endian order is used.
Required Methods
fn dbl(self) -> Self
Double block. (alternatively: multiply block by x)
If most significant bit of the block equals to zero will return
block<<1
, otherwise (block<<1)^C
, where C
is the non-leading
coefficients of the lexicographically first irreducible degree-b binary
polynomial with the minimal number of ones.
fn inv_dbl(self) -> Self
Reverse double block. (alternatively: divbide block by x)
If least significant bit of the block equals to zero will return
block>>1
, otherwise (block>>1)^(1<<n)^(C>>1)