aboutsummaryrefslogtreecommitdiffstats
path: root/crypto/Kconfig
diff options
context:
space:
mode:
authorHerbert Xu <herbert@gondor.apana.org.au>2010-10-19 09:31:55 -0400
committerHerbert Xu <herbert@gondor.apana.org.au>2010-11-26 07:53:59 -0500
commit8ff590903d5fc7f5a0a988c38267a3d08e6393a2 (patch)
tree2e73472f71848945136661c82f50176d6a3db388 /crypto/Kconfig
parentfe869cdb89c95d060c77eea20204d6c91f233b53 (diff)
crypto: algif_skcipher - User-space interface for skcipher operations
This patch adds the af_alg plugin for symmetric key ciphers, corresponding to the ablkcipher kernel operation type. Keys can optionally be set through the setsockopt interface. Once a sendmsg call occurs without MSG_MORE no further writes may be made to the socket until all previous data has been read. IVs and and whether encryption/decryption is performed can be set through the setsockopt interface or as a control message to sendmsg. The interface is completely synchronous, all operations are carried out in recvmsg(2) and will complete prior to the system call returning. The splice(2) interface support reading the user-space data directly without copying (except that the Crypto API itself may copy the data if alignment is off). The recvmsg(2) interface supports directly writing to user-space without additional copying, i.e., the kernel crypto interface will receive the user-space address as its output SG list. Thakns to Miloslav Trmac for reviewing this and contributing fixes and improvements. Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Acked-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'crypto/Kconfig')
-rw-r--r--crypto/Kconfig8
1 files changed, 8 insertions, 0 deletions
diff --git a/crypto/Kconfig b/crypto/Kconfig
index 6db27d7ff8b3..69437e21217f 100644
--- a/crypto/Kconfig
+++ b/crypto/Kconfig
@@ -852,6 +852,14 @@ config CRYPTO_USER_API_HASH
852 This option enables the user-spaces interface for hash 852 This option enables the user-spaces interface for hash
853 algorithms. 853 algorithms.
854 854
855config CRYPTO_USER_API_SKCIPHER
856 tristate "User-space interface for symmetric key cipher algorithms"
857 select CRYPTO_BLKCIPHER
858 select CRYPTO_USER_API
859 help
860 This option enables the user-spaces interface for symmetric
861 key cipher algorithms.
862
855source "drivers/crypto/Kconfig" 863source "drivers/crypto/Kconfig"
856 864
857endif # if CRYPTO 865endif # if CRYPTO