logo

Trait dbl::Dbl[][src]

pub trait Dbl {
    fn dbl(self) -> Self;
fn inv_dbl(self) -> Self; }
Expand description

Double and inverse double over GF(2^n).

This trait is implemented for 64, 128 and 256 bit block sizes. Big-endian order is used.

Required methods

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.

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)

Implementations on Foreign Types

Implementors