summaryrefslogtreecommitdiff
path: root/sys/src/ape/lib/sec
AgeCommit message (Collapse)Author
2020-03-01libsec: remove hash pickle functions, document ripemd160, cleanup sechash(2) ↵cinap_lenrek
manpage
2019-05-03ape: initial support for arm64cinap_lenrek
2017-11-20libsec: write optimized _chachablock() function for amd64 / sse2cinap_lenrek
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.
2017-11-12libsec: AES-NI support for amd64cinap_lenrek
Add assembler versions for aes_encrypt/aes_decrypt and the key setup using AES-NI instruction set. This makes aes_encrypt and aes_decrypt into function pointers which get initialized by the first call to setupAESstate(). Note that the expanded round key words are *NOT* stored in big endian order as with the portable implementation. For that reason the AESstate.ekey and AESstate.dkey fields have been changed to void* forcing an error when someone is accessing the roundkey words. One offender was aesXCBmac, which doesnt appear to be used and the code looks horrible so it has been deleted. The AES-NI implementation is for amd64 only as it requires the kernel to save/restore the FPU state across syscalls and pagefaults.
2017-10-17libsec: add AES CFB and AES OFB stream cipherscinap_lenrek
2017-04-23libsec: sha256 support for thumbprint files, use it in ssh as wellcinap_lenrek
initThumbprints() now takes an application tag argument so x509 and ssh can coexist. the thumbprint entries can now hold both sha1 and sha256 hashes. okThumbprint() now takes a len argument for the hash length used. the new function okCertificate() hashes the certificate with both and checks for any matches. on failure, okCertificate() returns 0 and sets error string. we also check for include loops now in thumbfiles, limiting the number of includes to 8.
2016-10-30ape/libsec: add secp384r1 curve parameters for tlscinap_lenrek
2016-07-10libsec: add scrypt password based key derivation functioncinap_lenrek
2016-05-04retire the dec alpha portcinap_lenrek
2016-04-29ape/libsec: fix nuke target to remove /$objtype/lib/ape/libsec.a instead of ↵cinap_lenrek
/$objtype/lib/libsec.a
2016-04-20libsec: implement elliptic curve group operations in jacobian coordinate systemcinap_lenrek
2016-04-11ape: add libauth, libbio, libmp and libsec as replacements for opensslcinap_lenrek