1. 30 Dec, 2016 1 commit
    • Ard Biesheuvel's avatar
      crypto: skcipher - introduce walksize attribute for SIMD algos · c821f6ab
      Ard Biesheuvel authored
      In some cases, SIMD algorithms can only perform optimally when
      allowed to operate on multiple input blocks in parallel. This is
      especially true for bit slicing algorithms, which typically take
      the same amount of time processing a single block or 8 blocks in
      parallel. However, other SIMD algorithms may benefit as well from
      bigger strides.
      
      So add a walksize attribute to the skcipher algorithm definition, and
      wire it up to the skcipher walk API. To avoid confusion between the
      skcipher and AEAD attributes, rename the skcipher_walk chunksize
      attribute to 'stride', and set it from the walksize (in the skcipher
      case) or from the chunksize (in the AEAD case).
      Signed-off-by: default avatarArd Biesheuvel <ard.biesheuvel@linaro.org>
      Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
      c821f6ab
  2. 01 Dec, 2016 1 commit
  3. 28 Nov, 2016 2 commits
  4. 01 Nov, 2016 2 commits
  5. 25 Oct, 2016 2 commits
  6. 21 Oct, 2016 1 commit
  7. 18 Jul, 2016 5 commits
  8. 05 Jul, 2016 1 commit
  9. 23 Jun, 2016 2 commits
  10. 15 Jun, 2016 1 commit
  11. 06 Feb, 2016 2 commits
  12. 27 Jan, 2016 1 commit
  13. 09 Dec, 2015 2 commits
  14. 14 Oct, 2015 1 commit
  15. 21 Aug, 2015 1 commit
    • Herbert Xu's avatar
      crypto: skcipher - Add top-level skcipher interface · 7a7ffe65
      Herbert Xu authored
      This patch introduces the crypto skcipher interface which aims
      to replace both blkcipher and ablkcipher.
      
      It's very similar to the existing ablkcipher interface.  The
      main difference is the removal of the givcrypt interface.  In
      order to make the transition easier for blkcipher users, there
      is a helper SKCIPHER_REQUEST_ON_STACK which can be used to place
      a request on the stack for synchronous transforms.
      Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
      7a7ffe65
  16. 17 Aug, 2015 2 commits
  17. 14 Jul, 2015 2 commits
  18. 22 Jun, 2015 1 commit
    • Herbert Xu's avatar
      crypto: rng - Do not free default RNG when it becomes unused · 7cecadb7
      Herbert Xu authored
      Currently we free the default RNG when its use count hits zero.
      This was OK when the IV generators would latch onto the RNG at
      instance creation time and keep it until the instance is torn
      down.
      
      Now that IV generators only keep the RNG reference during init
      time this scheme causes the default RNG to come and go at a high
      frequencey.  This is highly undesirable as we want to keep a single
      RNG in use unless the admin wants it to be removed.
      
      This patch changes the scheme so that the system RNG once allocated
      is never removed unless a specifically requested.
      Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
      7cecadb7
  19. 19 Jun, 2015 1 commit
    • Herbert Xu's avatar
      crypto: aead - Fix aead_instance struct size · f5d8660a
      Herbert Xu authored
      The struct aead_instance is meant to extend struct crypto_instance
      by incorporating the extra members of struct aead_alg.  However,
      the current layout which is copied from shash/ahash does not specify
      the struct fully.  In particular only aead_alg is present.
      
      For shash/ahash this works because users there add extra headroom
      to sizeof(struct crypto_instance) when allocating the instance.
      Unfortunately for aead, this bit was lost when the new aead_instance
      was added.
      
      Rather than fixing it like shash/ahash, this patch simply expands
      struct aead_instance to contain what is supposed to be there, i.e.,
      adding struct crypto_instance.
      
      In order to not break existing AEAD users, this is done through an
      anonymous union.
      Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
      f5d8660a
  20. 17 Jun, 2015 2 commits
  21. 03 Jun, 2015 3 commits
  22. 28 May, 2015 1 commit
  23. 25 May, 2015 1 commit
  24. 22 May, 2015 2 commits
    • Herbert Xu's avatar
      crypto: seqiv - Add support for new AEAD interface · 856e3f40
      Herbert Xu authored
      This patch converts the seqiv IV generator to work with the new
      AEAD interface where IV generators are just normal AEAD algorithms.
      
      Full backwards compatibility is paramount at this point since
      no users have yet switched over to the new interface.  Nor can
      they switch to the new interface until IV generation is fully
      supported by it.
      
      So this means we are adding two versions of seqiv alongside the
      existing one.  The first one is the one that will be used when
      the underlying AEAD algorithm has switched over to the new AEAD
      interface.  The second one handles the current case where the
      underlying AEAD algorithm still uses the old interface.
      
      Both versions export themselves through the new AEAD interface.
      Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
      856e3f40
    • Herbert Xu's avatar
      crypto: aead - Add support for new AEAD implementations · 63293c61
      Herbert Xu authored
      This patch adds the basic structure of the new AEAD type.  Unlike
      the current version, there is no longer any concept of geniv.  IV
      generation will still be carried out by wrappers but they will be
      normal AEAD algorithms that simply take the IPsec sequence number
      as the IV.
      Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
      63293c61