summaryrefslogtreecommitdiff
path: root/sys/src/ape/lib/sec
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@felloff.net>2017-11-20 00:10:35 +0100
committercinap_lenrek <cinap_lenrek@felloff.net>2017-11-20 00:10:35 +0100
commit077e719dfbf9bf2582bed80026251cc0d108c16e (patch)
tree5e8fd7d6297f5d007ea21c85f8346eae0717ed7d /sys/src/ape/lib/sec
parent1eb373945455f1ba03fa1b221529d74ca2a778ad (diff)
libsec: write optimized _chachablock() function for amd64 / sse2
doing 4 quarterround's in parallel using 128-bit vector registers. for second round shuffle the columns and then shuffle back. code is rather obvious. only trick here is for the first quaterround PSHUFLW/PSHUFHW is used to swap the halfwords for the <<<16 rotation.
Diffstat (limited to 'sys/src/ape/lib/sec')
-rw-r--r--sys/src/ape/lib/sec/amd64/mkfile1
-rw-r--r--sys/src/ape/lib/sec/port/mkfile2
2 files changed, 2 insertions, 1 deletions
diff --git a/sys/src/ape/lib/sec/amd64/mkfile b/sys/src/ape/lib/sec/amd64/mkfile
index f11c532a6..a2b3e867a 100644
--- a/sys/src/ape/lib/sec/amd64/mkfile
+++ b/sys/src/ape/lib/sec/amd64/mkfile
@@ -3,6 +3,7 @@ APE=/sys/src/ape
LIB=/$objtype/lib/ape/libsec.a
FILES=\
+ chachablock\
md5block\
sha1block\
aesni\
diff --git a/sys/src/ape/lib/sec/port/mkfile b/sys/src/ape/lib/sec/port/mkfile
index b25156cba..54d96bb8a 100644
--- a/sys/src/ape/lib/sec/port/mkfile
+++ b/sys/src/ape/lib/sec/port/mkfile
@@ -11,7 +11,7 @@ CFILES = des.c desmodes.c desECB.c desCBC.c des3ECB.c des3CBC.c\
sha1pickle.c md5pickle.c\
poly1305.c\
rc4.c\
- chacha.c\
+ chacha.c chachablock.c\
salsa.c\
genrandom.c prng.c fastrand.c nfastrand.c\
probably_prime.c smallprimetest.c genprime.c dsaprimes.c\