Skip to content

Cryptodev-linux is a Linux-kernel device that allows user-space access to hardware cryptographic accelerators.

License

Notifications You must be signed in to change notification settings

plauth/cryptodev-linux

 
 

Repository files navigation

=== cryptodev-linux with compression support ===

Build status: https://travis-ci.org/github/plauth/cryptodev-linux

This repository contains a fork of cryptodev-linux ( http://cryptodev-linux.org/ ) with compression support, which allows accessing hardware compressors from userspace.

The main aim of this fork is allowing access to the 842 hardware compressor available on Intel POWER7+ machines. For more complete information, you can visit the lib842 repository ( https://github.com/joanbm/lib842 ).

The usual build instructions for building, installing and loading the cryptodev module apply to this fork, as no new dependencies have been introduced. Additionally, 842 compression support is available on the mainline Linux kernel and will automatically use the hardware compressor on machines posessing it.

The original cryptodev README follows:

--------------------------------

This is a /dev/crypto device driver, equivalent to those in OpenBSD or
FreeBSD. The main idea is to access of existing ciphers in kernel space 
from userspace, thus enabling the re-use of a hardware implementation of a
cipher.

For questions and suggestions please use the mailing lists at:
http://cryptodev-linux.org/lists.html


=== How to combine with cryptographic libraries ===

* GnuTLS: 

GnuTLS needs to be compiled with --enable-cryptodev in order to take
advantage of /dev/crypto. GnuTLS 3.0.14 or later is recommended.

* OpenSSL:

Note that OpenSSL's cryptodev implementation is outdated, and there
are issues with it. For that we recommend to use the patches
below, that we have provided to the openssl project.

http://rt.openssl.org/Ticket/Display.html?id=2770&user=guest&pass=guest

After applying the patches you can add cryptodev support by using the
-DHAVE_CRYPTODEV and -DUSE_CRYPTODEV_DIGESTS flags during compilation.
Note that the latter flag (digests) may induce a performance penalty
in some systems. 


=== Modifying and viewing verbosity at runtime ===

For debugging often the verbosity of the driver needs to be adjusted.
The sysctl tool can be used for that.

# sysctl ioctl.cryptodev_verbosity
ioctl.cryptodev_verbosity = 0

# sysctl ioctl.cryptodev_verbosity=3
ioctl.cryptodev_verbosity = 3

About

Cryptodev-linux is a Linux-kernel device that allows user-space access to hardware cryptographic accelerators.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C 98.6%
  • Makefile 1.3%
  • C++ 0.1%