Skip to content
  • Herbert Xu's avatar
    crypto: algif_skcipher - User-space interface for skcipher operations · 8ff59090
    Herbert Xu authored
    
    
    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: default avatarHerbert Xu <herbert@gondor.apana.org.au>
    Acked-by: default avatarDavid S. Miller <davem@davemloft.net>
    8ff59090