Provided by: kcapi-tools_1.4.0-1ubuntu4_amd64 bug

NAME

       kcapi-dgst - Kernel Crypto API Message Digest Crypto Helper

SYNOPSIS

       kcapi-dgst [OPTION]

DESCRIPTION

       The  kcapi-dgst  application  provides  tool  to  use  the message digest as well as keyed message digest
       ciphers of the Linux kernel crypto API from the command line.

       The input data can be provided either via STDIN or via a file that is  referenced  with  a  command  line
       option.  Similarly, the output data can either be sent to a file referenced with a command line option or
       to STDOUT.

       The key used for the keyed message digest operation can either be provided via a file descriptor or via a
       password. When using a file descriptor, the provided data is taken directly as the keyed  message  digest
       key.  When providing a password, the kcapi-dgst application derives a 256 bit key from the password using
       PBKDF2.  PBKDF2 with HMAC-SHA256 as default transforms the password into a  key.   The  PBKDF2  operation
       requires two additional input values: a salt and an iteration count. Both can be provided via the command
       line.  If  the  iteration count is not specified, kcapi-dgst determines the iteration count internally by
       counting how many iterations are necessary to surpass 100ms operation  time.  The  determined  number  is
       provided via STDERR and must be re-used when verifying the keyed message digest created from the data. If
       the  salt is not provided via command line, kcapi-dgst generates a 256 bit salt and sends its hexadecimal
       representation to STDERR. This salt must be  used  during  decryption  to  ensure  the  PBKDF2  operation
       generates the correct key.

       The following options are supported when invoking kcapi-dgst:

       -c, --cipher NAME
              The  NAME  argument specifies the digest cipher to be used. The allowed ciphers are defined by the
              Linux kernel. Currently registered ciphers can be reviewed at /proc/crypto.  The content  of  this
              file,  however, can change when new ciphers are registered. The NAME argument is given directly to
              the Linux kernel crypto API. The chosen cipher must be either of type ahash or of  type  shash  as
              marked in /proc/crypto.

       -i, --infile FILE
              Use  the  file  referenced with FILE as the input data. If this option is not provided, kcapi-dgst
              expects the input data via STDIN.

       -o, --outfile FILE
              Use the file referenced with  FILE  as  the  destination  for  the  output  of  the  cryptographic
              operation. If this option is not provided, kcapi-dgst will provide the output via STDOUT.

       --salt SALT
              When  performing  the  PBKDF2  operation  to  obtain the key for the keyed message digest from the
              password, the SALT value is used as one input parameter. To ensure the same key is generated  from
              a given password, the same salt value must be used.

       -p, --passwd PASSWORD
              The  PASSWORD  parameter provides the password from which the keyed message digest key is derived.
              WARNING The password provided with the command line can be seen from other applications  or  users
              when  inspecting  the  /proc file system! Thus, a password SHOULD NOT be used via the command line
              and the passwdfd option should be used instead.

       --passwdfd FD
              Instead of providing the password via command line, it can be injected  into  kcapi-dgst  using  a
              file descriptor. The file descriptor number the password will be send through can be provided with
              the FD option.

       --pbkdfiter NUM
              Perform  NUM  iterations  of  the PBKDF2 operation to derive the keyed message digest key. If this
              option is not supplied, kcapi-dgst determines a number of  iterations  that  is  large  enough  to
              surpass  100ms operational time for the PBKDF2 function. The determined iteration number is logged
              and must be reused if the same keyed message digest key is to be generated from the same password.

       --pbkdfmac MAC
              Use the keyed message digest referenced with MAC for the PBKDF2 operation. If this option  is  not
              supplied, the default of hmac(sha256) is used.

       --keyfd FD
              To  provide a keyed message digest key that is directly used for the message digest operation, the
              file descriptor referenced with FD must be used. Using a file descriptor is intentionally the only
              way to provide a key to kcapi-dgst.

       --hex  The generated message digest is print out in hexadecimal notation instead of as binary string.

       -v, --verbose
              Enable a verbose operation  of  kcapi-dgst.   Using  this  option  multiple  times  increases  the
              verbosity.

       -q, --quiet
              Prevent  the  generation  of  any  log  output.  Note,  some log output would be needed for proper
              operation like the display of the number of PBKDF2 iterations or the internally  generated  PBKDF2
              salt.   During quiet operation, none of this information is displayed.  Note, both information can
              also be supplied via the  command  line  so  that  kcapi-dgst  does  not  need  to  generate  this
              information.

       -h, --help
              Display the help text.

       --version
              Display the version number of the kcapi-dgst application.

SEE ALSO

       kcapi-enc(1) kcapi-hasher(1) kcapi-rng(1)

                                                   2017-08-14                                      KCAPI-DGST(1)