]> Cypherpunks repositories - gostls13.git/commit
crypto/{aes,cipher}: add optimized implementation of AES-GCM for s390x
authorMichael Munday <munday@ca.ibm.com>
Fri, 30 Sep 2016 18:20:42 +0000 (14:20 -0400)
committerMichael Munday <munday@ca.ibm.com>
Wed, 5 Oct 2016 15:37:53 +0000 (15:37 +0000)
commitfb4f4f4e96058165c0e7be32aa9ce493515c22a3
tree20a94f729649b8bf3441c2552c1e1e1122b1d880
parentf15f1ff46f94c70b55903963a32dfccdcbe1efe5
crypto/{aes,cipher}: add optimized implementation of AES-GCM for s390x

Also adds two tests: one to exercise the counter incrementing code
and one which checks the output of the optimized implementation
against that of the generic implementation for large/unaligned data
sizes.

Uses the KIMD instruction for GHASH and the KMCTR instruction for AES
in counter mode.

AESGCMSeal1K  75.0MB/s ± 2%  1008.7MB/s ± 1%  +1245.71%  (p=0.000 n=10+10)
AESGCMOpen1K  75.3MB/s ± 1%  1006.0MB/s ± 1%  +1235.59%   (p=0.000 n=10+9)
AESGCMSeal8K  78.5MB/s ± 1%  1748.4MB/s ± 1%  +2127.34%   (p=0.000 n=9+10)
AESGCMOpen8K  78.5MB/s ± 0%  1752.7MB/s ± 0%  +2134.07%   (p=0.000 n=10+9)

Change-Id: I88dbcfcb5988104bfd290ae15a60a2721c1338be
Reviewed-on: https://go-review.googlesource.com/30361
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
src/crypto/aes/asm_s390x.s
src/crypto/aes/gcm_s390x.go [new file with mode: 0644]
src/crypto/cipher/gcm_test.go