freebsd-dev/sys
John-Mark Gurney 08fca7a56b 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
2014-12-12 19:56:36 +00:00
..
amd64 This configuration file removes several debugging options, including 2014-12-02 19:55:43 +00:00
arm Fix the watchdog timeout calculation to prevent wrap. The RPi hardware 2014-12-10 04:54:43 +00:00
boot o Add BERI Virtio Networking Frontend (if_vtbe) 2014-12-09 16:39:21 +00:00
bsm
cam Count consecutive read requests as blocking in CTL for files and ZVOLs. 2014-12-06 20:39:25 +00:00
cddl MFV r275540: 2014-12-08 06:04:42 +00:00
compat The process spin lock currently has the following distinct uses: 2014-11-26 14:10:00 +00:00
conf Add some new modes to OpenCrypto. These modes are AES-ICM (can be used 2014-12-12 19:56:36 +00:00
contrib Correctly define constants. 2014-11-28 04:07:06 +00:00
crypto Add some new modes to OpenCrypto. These modes are AES-ICM (can be used 2014-12-12 19:56:36 +00:00
ddb ddb: ANSI-fy function declarations. 2014-10-12 18:01:52 +00:00
dev Add virtio bus 'poll' method allowing us to inform backend we are 2014-12-12 11:19:10 +00:00
fs ext2fs: Fix old out-of-bounds access. 2014-12-09 14:56:00 +00:00
gdb Add support for gdb's memory searching capabilities to our in-kernel gdb 2014-09-05 16:40:47 +00:00
geom Add some new modes to OpenCrypto. These modes are AES-ICM (can be used 2014-12-12 19:56:36 +00:00
gnu reiserfs: Use signed i_nlink 2014-09-25 19:10:32 +00:00
i386 This configuration file removes several debugging options, including 2014-12-02 19:55:43 +00:00
isa
kern For architectures where time_t is wide enough, in particular, 64bit 2014-12-12 09:37:18 +00:00
kgssapi Avoid dynamic syscall overhead for statically compiled modules. 2014-10-26 19:42:44 +00:00
libkern Add some new modes to OpenCrypto. These modes are AES-ICM (can be used 2014-12-12 19:56:36 +00:00
mips Add some new modes to OpenCrypto. These modes are AES-ICM (can be used 2014-12-12 19:56:36 +00:00
modules Add some new modes to OpenCrypto. These modes are AES-ICM (can be used 2014-12-12 19:56:36 +00:00
net Provide a dead version of if_get_counter. 2014-12-12 16:10:42 +00:00
net80211 Fix multiple incorrect SYSCTL arguments in the kernel: 2014-10-21 07:31:21 +00:00
netgraph In preparation of merging projects/sendfile, transform bare access to 2014-11-12 09:57:15 +00:00
netinet Do not count security policy violation twice. 2014-12-11 19:20:13 +00:00
netinet6 Do not count security policy violation twice. 2014-12-11 19:20:13 +00:00
netipsec Treat errors when retrieving security policy as policy violation. 2014-12-11 18:46:11 +00:00
netnatm
netpfil pf(4) needs to have a correct checksum during its processing. 2014-11-19 13:31:08 +00:00
netsmb
nfs Avoid dynamic syscall overhead for statically compiled modules. 2014-10-26 19:42:44 +00:00
nfsclient Follow up to r225617. In order to maximize the re-usability of kernel code 2014-10-16 18:04:43 +00:00
nfsserver Change NFS readdir() to only ignore cookies preceding the given offset for 2014-07-01 20:00:35 +00:00
nlm Avoid dynamic syscall overhead for statically compiled modules. 2014-10-26 19:42:44 +00:00
ofed Make sure callbacks being freed are not pending when the 2014-12-11 10:47:50 +00:00
opencrypto Add some new modes to OpenCrypto. These modes are AES-ICM (can be used 2014-12-12 19:56:36 +00:00
pc98 This configuration file removes several debugging options, including 2014-12-02 19:55:43 +00:00
powerpc Fix kernel build for booke. 2014-12-10 20:23:19 +00:00
rpc Current reaction of the nfsd worker threads to any signal is exit. 2014-12-08 16:33:18 +00:00
security Replace dev_clone with cdevpriv(9) KPI in audit_pipe code. 2014-08-20 16:04:30 +00:00
sparc64 This configuration file removes several debugging options, including 2014-12-02 19:55:43 +00:00
sys Add some new modes to OpenCrypto. These modes are AES-ICM (can be used 2014-12-12 19:56:36 +00:00
teken
tools Allow the make_dtb script to work outside of a "make buildkernel" context 2014-08-30 22:39:15 +00:00
ufs Merge from projects/sendfile: 2014-11-23 12:01:52 +00:00
vm Always ignore the deprecated MAP_RENAME and MAP_NORESERVE flags to mmap(). 2014-12-05 15:24:42 +00:00
x86 xen/intr: balance dynamic interrupts across available vCPUs 2014-12-10 13:25:21 +00:00
xdr
xen xen: convert the Grant-table code to a NewBus device 2014-12-10 11:35:41 +00:00
Makefile Remove "pci" from CSCOPEDIRS. 2014-09-23 06:32:19 +00:00