summaryrefslogtreecommitdiffstats
path: root/sys/opencrypto/criov.c
Commit message (Collapse)AuthorAgeFilesLines
* MFC r285247:Luiz Otavio O Souza2015-10-201-2/+5
| | | | | | | | | | we may get here w/ non-sleepable locks held, so switch to _NOWAIT when doing this memory allocation... Reviewed by: ae TAG: IPSEC-HEAD Issue: #4841
* MFC r275732:Luiz Otavio O Souza2015-10-201-21/+61
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add some new modes to OpenCrypto. These modes are AES-ICM (can be used for counter mode), and AES-GCM. Both of these modes have been added to the aesni module. Included is a set of tests to validate that the software and aesni module calculate the correct values. These use the NIST KAT test vectors. To run the test, you will need to install a soon to be committed port, nist-kat that will install the vectors. Using a port is necessary as the test vectors are around 25MB. All the man pages were updated. I have added a new man page, crypto.7, which includes a description of how to use each mode. All the new modes and some other AES modes are present. It would be good for someone else to go through and document the other modes. A new ioctl was added to support AEAD modes which AES-GCM is one of them. Without this ioctl, it is not possible to test AEAD modes from userland. Add a timing safe bcmp for use to compare MACs. Previously we were using bcmp which could leak timing info and result in the ability to forge messages. Add a minor optimization to the aesni module so that single segment mbufs don't get copied and instead are updated in place. The aesni module needs to be updated to support blocked IO so segmented mbufs don't have to be copied. We require that the IV be specified for all calls for both GCM and ICM. This is to ensure proper use of these functions. Obtained from: p4: //depot/projects/opencrypto Relnotes: yes Sponsored by: FreeBSD Foundation Sponsored by: NetGate TAG: IPSEC-HEAD Issue: #4841
* - Replace COPYDATA() and COPYBACK() macros with crypto_copydata() andpjd2006-06-041-0/+40
| | | | | | | crypto_copyback() functions. - Add crypto_apply() function. This will allow for more code simplification.
* - Implement cuio_apply(), an equivalent to m_apply(9).pjd2006-05-171-30/+49
| | | | | | | | - Implement CUIO_SKIP() macro which is only responsible for skipping the given number of bytes from iovec list. This allows to avoid duplicating the same code in three functions. Reviewed by: sam
* /* -> /*- for license, minor formatting changesimp2005-01-071-1/+1
|
* Use __FBSDID().obrien2003-06-111-1/+3
|
* In-kernel crypto framework derived from openbsd. This facility providessam2002-10-041-0/+137
a consistent interface to h/w and s/w crypto algorithms for use by the kernel and (for h/w at least) by user-mode apps. Access for user-level code is through a /dev/crypto device that'll eventually be used by openssl to (potentially) accelerate many applications. Coming soon is an IPsec that makes use of this service to accelerate ESP, AH, and IPCOMP protocols. Included here is the "core" crypto support, /dev/crypto driver, various crypto algorithms that are not already present in the KAME crypto area, and support routines used by crypto device drivers. Obtained from: openbsd
OpenPOWER on IntegriCloud