21 Mar, 2006

1 commit

  • Since tfm contexts can contain arbitrary types we should provide at least
    natural alignment (__attribute__ ((__aligned__))) for them. In particular,
    this is needed on the Xscale which is a 32-bit architecture with a u64 type
    that requires 64-bit alignment. This problem was reported by Ronen Shitrit.

    The crypto_tfm structure's size was 44 bytes on 32-bit architectures and
    80 bytes on 64-bit architectures. So adding this requirement only means
    that we have to add an extra 4 bytes on 32-bit architectures.

    On i386 the natural alignment is 16 bytes which also benefits the VIA
    Padlock as it no longer has to manually align its context structure to
    128 bits.

    Signed-off-by: Herbert Xu

    Herbert Xu
     

22 Feb, 2006

1 commit


10 Jan, 2006

2 commits

  • As the Crypto API now allows multiple implementations to be registered
    for the same algorithm, we no longer have to play tricks with Kconfig
    to select the right AES implementation.

    This patch sets the driver name and priority for all the AES
    implementations and removes the Kconfig conditions on the C implementation
    for AES.

    Signed-off-by: Herbert Xu

    Herbert Xu
     
  • A lot of crypto code needs to read/write a 32-bit/64-bit words in a
    specific gender. Many of them open code them by reading/writing one
    byte at a time. This patch converts all the applicable usages over
    to use the standard byte order macros.

    This is based on a previous patch by Denis Vlasenko.

    Signed-off-by: Herbert Xu

    Herbert Xu
     

07 Jul, 2005

4 commits

  • When the Padlock does CBC encryption, the memory pointed to by EAX is
    not updated at all. Instead, it updates the value of EAX by pointing
    it to the last block in the output. Therefore to maintain the correct
    semantics we need to copy the IV.

    Signed-off-by: Herbert Xu
    Signed-off-by: David S. Miller

    Herbert Xu
     
  • This patch ensures that cit_iv is aligned according to cra_alignmask
    by allocating it as part of the tfm structure. As a side effect the
    crypto layer will also guarantee that the tfm ctx area has enough space
    to be aligned by cra_alignmask. This allows us to remove the extra
    space reservation from the Padlock driver.

    Signed-off-by: Herbert Xu
    Signed-off-by: David S. Miller

    Herbert Xu
     
  • By operating on multiple blocks at once, we expect to extract more
    performance out of the VIA Padlock.

    Signed-off-by: Herbert Xu
    Signed-off-by: David S. Miller

    Herbert Xu
     
  • Most of the work done aes_padlock can be done in aes_set_key. This
    means that we only have to do it once when the key changes rather
    than every time we perform an encryption or decryption.

    This patch also sets cra_alignmask to let the upper layer ensure
    that the buffers fed to us are aligned correctly.

    Signed-off-by: Herbert Xu
    Signed-off-by: David S. Miller

    Herbert Xu
     

17 Apr, 2005

1 commit

  • Initial git repository build. I'm not bothering with the full history,
    even though we have it. We can create a separate "historical" git
    archive of that later if we want to, and in the meantime it's about
    3.2GB when imported into git - space that would just make the early
    git days unnecessarily complicated, when we don't have a lot of good
    infrastructure for it.

    Let it rip!

    Linus Torvalds