1
2
3
4
5
6
7 package sha3
8
9 import (
10 "crypto/internal/fips140deps/cpu"
11 "crypto/internal/impl"
12 "runtime"
13 )
14
15
16
17
18 var useSHA3 = cpu.ARM64HasSHA3 && runtime.GOOS == "darwin"
19
20 func init() {
21 impl.Register("sha3", "Armv8.2", &useSHA3)
22 }
23
24
25 func keccakF1600NEON(a *[200]byte)
26
27 func keccakF1600(a *[200]byte) {
28 if useSHA3 {
29 keccakF1600NEON(a)
30 } else {
31 keccakF1600Generic(a)
32 }
33 }
34
35 func (d *Digest) write(p []byte) (n int, err error) {
36 return d.writeGeneric(p)
37 }
38 func (d *Digest) read(out []byte) (n int, err error) {
39 return d.readGeneric(out)
40 }
41 func (d *Digest) sum(b []byte) []byte {
42 return d.sumGeneric(b)
43 }
44
View as plain text