08 Feb, 2008

1 commit


11 Jan, 2008

2 commits

  • All common block ciphers have a block size that's a power of 2. In fact,
    all of our block ciphers obey this rule.

    If we require this then CBC can be optimised to avoid an expensive divide
    on in-place decryption.

    I've also changed the saving of the first IV in the in-place decryption
    case to the last IV because that lets us use walk->iv (which is already
    aligned) for the xor operation where alignment is required.

    Signed-off-by: Herbert Xu

    Herbert Xu
     
  • This patch replaces the custom xor in CBC with the generic crypto_xor.

    Signed-off-by: Herbert Xu

    Herbert Xu
     

02 May, 2007

1 commit

  • This patch passes the type/mask along when constructing instances of
    templates. This is in preparation for templates that may support
    multiple types of instances depending on what is requested. For example,
    the planned software async crypto driver will use this construct.

    For the moment this allows us to check whether the instance constructed
    is of the correct type and avoid returning success if the type does not
    match.

    Signed-off-by: Herbert Xu

    Herbert Xu
     

07 Feb, 2007

1 commit


21 Sep, 2006

1 commit

  • This patch adds two block cipher algorithms, CBC and ECB. These
    are implemented as templates on top of existing single-block cipher
    algorithms. They invoke the single-block cipher through the new
    encrypt_one/decrypt_one interface.

    This also optimises the in-place encryption and decryption to remove
    the cost of an IV copy each round.

    Signed-off-by: Herbert Xu

    Herbert Xu