• Michael Munday's avatar
    crypto/{aes,cipher}: add optimized implementation of AES-GCM for s390x · fb4f4f4e
    Michael Munday authored
    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/30361Reviewed-by: 's avatarBrad Fitzpatrick <bradfitz@golang.org>
    Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
    TryBot-Result: Gobot Gobot <gobot@golang.org>
    fb4f4f4e
Name
Last commit
Last update
..
aes_gcm.go Loading commit data...
aes_test.go Loading commit data...
asm_amd64.s Loading commit data...
asm_s390x.s Loading commit data...
block.go Loading commit data...
cbc_s390x.go Loading commit data...
cipher.go Loading commit data...
cipher_amd64.go Loading commit data...
cipher_generic.go Loading commit data...
cipher_s390x.go Loading commit data...
const.go Loading commit data...
ctr_s390x.go Loading commit data...
gcm_amd64.s Loading commit data...
gcm_s390x.go Loading commit data...
modes.go Loading commit data...
modes_test.go Loading commit data...