1. 17 Jun, 2015 2 commits
  2. 03 Jun, 2015 3 commits
  3. 28 May, 2015 1 commit
  4. 25 May, 2015 1 commit
  5. 22 May, 2015 4 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
    • Herbert Xu's avatar
      crypto: aead - Add crypto_aead_maxauthsize · f5695259
      Herbert Xu authored
      This patch adds the helper crypto_aead_maxauthsize to remove the
      need to directly dereference aead_alg internals by AEAD implementors.
      Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
      f5695259
    • Herbert Xu's avatar
      crypto: aead - Rename aead_alg to old_aead_alg · 2d0f230f
      Herbert Xu authored
      This patch is the first step in the introduction of a new AEAD
      alg type.  Unlike normal conversions this patch only renames the
      existing aead_alg structure because there are external references
      to it.
      
      Those references will be removed after this patch.
      Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
      2d0f230f
  6. 13 May, 2015 2 commits
  7. 22 Apr, 2015 4 commits
  8. 25 Aug, 2014 1 commit
    • Tim Chen's avatar
      crypto: sha-mb - multibuffer crypto infrastructure · 1e65b81a
      Tim Chen authored
      This patch introduces the multi-buffer crypto daemon which is responsible
      for submitting crypto jobs in a work queue to the responsible multi-buffer
      crypto algorithm.  The idea of the multi-buffer algorihtm is to put
      data streams from multiple jobs in a wide (AVX2) register and then
      take advantage of SIMD instructions to do crypto computation on several
      buffers simultaneously.
      
      The multi-buffer crypto daemon is also responsbile for flushing the
      remaining buffers to complete the computation if no new buffers arrive
      for a while.
      Signed-off-by: default avatarTim Chen <tim.c.chen@linux.intel.com>
      Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
      1e65b81a
  9. 20 Jun, 2014 1 commit
  10. 21 May, 2014 1 commit
    • Herbert Xu's avatar
      crypto: hash - Add real ahash walk interface · 75ecb231
      Herbert Xu authored
      Although the existing hash walk interface has already been used
      by a number of ahash crypto drivers, it turns out that none of
      them were really asynchronous.  They were all essentially polling
      for completion.
      
      That's why nobody has noticed until now that the walk interface
      couldn't work with a real asynchronous driver since the memory
      is mapped using kmap_atomic.
      
      As we now have a use-case for a real ahash implementation on x86,
      this patch creates a minimal ahash walk interface.  Basically it
      just calls kmap instead of kmap_atomic and does away with the
      crypto_yield call.  Real ahash crypto drivers don't need to yield
      since by definition they won't be hogging the CPU.
      Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
      75ecb231
  11. 01 Aug, 2012 1 commit
  12. 29 Mar, 2012 1 commit
  13. 29 Aug, 2009 1 commit
  14. 15 Jul, 2009 1 commit
  15. 14 Jul, 2009 8 commits
  16. 09 Jul, 2009 1 commit
  17. 08 Jul, 2009 6 commits
  18. 04 Mar, 2009 1 commit
    • Geert Uytterhoeven's avatar
      crypto: compress - Add pcomp interface · a1d2f095
      Geert Uytterhoeven authored
      The current "comp" crypto interface supports one-shot (de)compression only,
      i.e. the whole data buffer to be (de)compressed must be passed at once, and
      the whole (de)compressed data buffer will be received at once.
      In several use-cases (e.g. compressed file systems that store files in big
      compressed blocks), this workflow is not suitable.
      Furthermore, the "comp" type doesn't provide for the configuration of
      (de)compression parameters, and always allocates workspace memory for both
      compression and decompression, which may waste memory.
      
      To solve this, add a "pcomp" partial (de)compression interface that provides
      the following operations:
        - crypto_compress_{init,update,final}() for compression,
        - crypto_decompress_{init,update,final}() for decompression,
        - crypto_{,de}compress_setup(), to configure (de)compression parameters
          (incl. allocating workspace memory).
      
      The (de)compression methods take a struct comp_request, which was mimicked
      after the z_stream object in zlib, and contains buffer pointer and length
      pairs for input and output.
      
      The setup methods take an opaque parameter pointer and length pair. Parameters
      are supposed to be encoded using netlink attributes, whose meanings depend on
      the actual (name of the) (de)compression algorithm.
      Signed-off-by: default avatarGeert Uytterhoeven <Geert.Uytterhoeven@sonycom.com>
      Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
      a1d2f095