<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/sys/crypto, branch upstream/10.1.0</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src/atom?h=upstream%2F10.1.0</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src/atom?h=upstream%2F10.1.0'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/'/>
<updated>2014-06-30T09:51:27Z</updated>
<entry>
<title>MFC r267815:</title>
<updated>2014-06-30T09:51:27Z</updated>
<author>
<name>Konstantin Belousov</name>
<email>kib@FreeBSD.org</email>
</author>
<published>2014-06-30T09:51:27Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=9413baf6f1417502fa12a924283f8ee2657d25cc'/>
<id>urn:sha1:9413baf6f1417502fa12a924283f8ee2657d25cc</id>
<content type='text'>
Put the aesni_cipher_setup() and aesni_cipher_process() functions into
the file which is compiled with SSE disabled.
</content>
</entry>
<entry>
<title>MFC r267767:</title>
<updated>2014-06-30T09:48:44Z</updated>
<author>
<name>Konstantin Belousov</name>
<email>kib@FreeBSD.org</email>
</author>
<published>2014-06-30T09:48:44Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=2b667497df9ba6754d24ff2a33df8b1d80fa2050'/>
<id>urn:sha1:2b667497df9ba6754d24ff2a33df8b1d80fa2050</id>
<content type='text'>
Add FPU_KERN_KTHR flag to fpu_kern_enter(9).
Apply the flag to padlock(4) and aesni(4).
In aesni_cipher_process(), do not leak FPU context state on error.
</content>
</entry>
<entry>
<title>MFC r258399,258492:</title>
<updated>2013-11-26T08:46:39Z</updated>
<author>
<name>John-Mark Gurney</name>
<email>jmg@FreeBSD.org</email>
</author>
<published>2013-11-26T08:46:39Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=52203325d1f3c0a5cf92145918cf359fa5392db2'/>
<id>urn:sha1:52203325d1f3c0a5cf92145918cf359fa5392db2</id>
<content type='text'>
mark aesni module _SYNC, improves performance ~27%...

Approved by:	re (glebius)
</content>
</entry>
<entry>
<title>MFC r257757:</title>
<updated>2013-11-16T09:01:24Z</updated>
<author>
<name>John-Mark Gurney</name>
<email>jmg@FreeBSD.org</email>
</author>
<published>2013-11-16T09:01:24Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=ece729c92156ec470778e64fdda65bcb44096247'/>
<id>urn:sha1:ece729c92156ec470778e64fdda65bcb44096247</id>
<content type='text'>
fix issues w/ AES-NI on unaligned data blocks...

Approved by:	re (kib)
</content>
</entry>
<entry>
<title>Use the fact that the AES-NI instructions can be pipelined to improve</title>
<updated>2013-09-03T18:31:23Z</updated>
<author>
<name>John-Mark Gurney</name>
<email>jmg@FreeBSD.org</email>
</author>
<published>2013-09-03T18:31:23Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=ff6c7bf5caf8ed045becae3eefcf2d23f18083af'/>
<id>urn:sha1:ff6c7bf5caf8ed045becae3eefcf2d23f18083af</id>
<content type='text'>
performance... Use SSE2 instructions for calculating the XTS tweek
factor...  Let the compiler do more work and handle register allocation
by using intrinsics, now only the key schedule is in assembly...

Replace .byte hard coded instructions w/ the proper instructions now
that both clang and gcc support them...

On my machine, pulling the code to userland I saw performance go from
~150MB/sec to 2GB/sec in XTS mode.  GELI on GNOP saw a more modest
increase of about 3x due to other system overhead (geom and
opencrypto)...

These changes allow almost full disk io rate w/ geli...

Reviewed by:	-current, -security
Thanks to:	Mike Hamburg for the XTS tweek algorithm
</content>
</entry>
<entry>
<title>Fix const propagation issues to make GCC happy.</title>
<updated>2013-07-11T16:27:11Z</updated>
<author>
<name>Andre Oppermann</name>
<email>andre@FreeBSD.org</email>
</author>
<published>2013-07-11T16:27:11Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=bf0354c0f29c4627b125b06625a7ff6d52ccd1a0'/>
<id>urn:sha1:bf0354c0f29c4627b125b06625a7ff6d52ccd1a0</id>
<content type='text'>
Submitted by:	Michael Butler &lt;imb@protected-networks.net&gt;
</content>
</entry>
<entry>
<title>SipHash is a cryptographically strong pseudo-random function (a.k.a. keyed</title>
<updated>2013-07-11T14:18:38Z</updated>
<author>
<name>Andre Oppermann</name>
<email>andre@FreeBSD.org</email>
</author>
<published>2013-07-11T14:18:38Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=6856398eabaececad2bbec8f82ec36881a7283fd'/>
<id>urn:sha1:6856398eabaececad2bbec8f82ec36881a7283fd</id>
<content type='text'>
hash function) optimized for speed on short messages returning a 64bit hash/
digest value.

SipHash is simpler and much faster than other secure MACs and competitive
in speed with popular non-cryptographic hash functions.  It uses a 128-bit
key without the hidden cost of a key expansion step.  SipHash iterates a
simple round function consisting of four additions, four xors, and six
rotations, interleaved with xors of message blocks for a pre-defined number
of compression and finalization rounds.  The absence of  secret load/store
addresses or secret branch conditions avoid timing attacks.  No state is
shared between messages.  Hashing is deterministic and doesn't use nonces.
It is not susceptible to length extension attacks.

Target applications include network traffic authentication, message
authentication (MAC) and hash-tables protection against hash-flooding
denial-of-service attacks.

The number of update/finalization rounds is defined during initialization:

 SipHash24_Init() for the fast and reasonable strong version.
 SipHash48_Init() for the strong version (half as fast).

SipHash usage is similar to other hash functions:

 struct SIPHASH_CTX ctx;
 char *k = "16bytes long key"
 char *s = "string";
 uint64_t h = 0;
 SipHash24_Init(&amp;ctx);
 SipHash_SetKey(&amp;ctx, k);
 SipHash_Update(&amp;ctx, s, strlen(s));
 SipHash_Final(&amp;h, &amp;ctx);  /* or */
 h = SipHash_End(&amp;ctx);    /* or */
 h = SipHash24(&amp;ctx, k, s, strlen(s));

It was designed by Jean-Philippe Aumasson and Daniel J. Bernstein and
is described in the paper "SipHash: a fast short-input PRF", 2012.09.18:
 https://131002.net/siphash/siphash.pdf
 Permanent ID: b9a943a805fbfc6fde808af9fc0ecdfa

Implemented by:	andre (based on the paper)
Reviewed by:	cperciva
</content>
</entry>
<entry>
<title>Sync with KAME.</title>
<updated>2013-07-09T22:04:35Z</updated>
<author>
<name>Xin LI</name>
<email>delphij@FreeBSD.org</email>
</author>
<published>2013-07-09T22:04:35Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=76a207c2b95aa787dfd5635a55b4a869b02f9b9b'/>
<id>urn:sha1:76a207c2b95aa787dfd5635a55b4a869b02f9b9b</id>
<content type='text'>
MFC after:	1 month
</content>
</entry>
<entry>
<title>Allow assert() to operate correctly when building userland code.</title>
<updated>2013-07-09T10:27:26Z</updated>
<author>
<name>Robert Millan</name>
<email>rmh@FreeBSD.org</email>
</author>
<published>2013-07-09T10:27:26Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=f19122edbf176030db7d667f6edb82c573298f12'/>
<id>urn:sha1:f19122edbf176030db7d667f6edb82c573298f12</id>
<content type='text'>
</content>
</entry>
<entry>
<title>When porting XTS-related code from OpenBSD I forgot to update copyright (only</title>
<updated>2013-02-20T22:59:53Z</updated>
<author>
<name>Pawel Jakub Dawidek</name>
<email>pjd@FreeBSD.org</email>
</author>
<published>2013-02-20T22:59:53Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=45b56a6ba2b75a2f49e2c85188f8c71012effb4a'/>
<id>urn:sha1:45b56a6ba2b75a2f49e2c85188f8c71012effb4a</id>
<content type='text'>
OpenBSD was credited in one of two commits). Fix it.

Reported by:	Theo de Raadt &lt;deraadt@cvs.openbsd.org&gt;
Reviewed by:	Damien Miller &lt;djm@mindrot.org&gt;
</content>
</entry>
</feed>
