summaryrefslogtreecommitdiff
path: root/src (follow)
Commit message (Collapse)AuthorAgeFilesLines
* rsa_method_test: point at correct function in error stringHEADmastertb2 days1-2/+2
|
* zap stray spacetb2 days1-2/+2
|
* Move opensslconf.h to a machine-independent placetb3 days14-158/+7
| | | | | | | | | | | | After drilling through many layers of fossilized turds from a long-forgotten millenium, jsing and I finally found oil^Wa machine-independent version of opensslconf.h. Remove the no longer needed versions in arch/*/ and move one copy to the top level. Add an RCS tag and place the remaining garbage in the public domain. ok jsing
* freenull: missing target deps, use -Wall -Werror like elsewheretb3 days1-2/+4
|
* freenull.c.head: include mlkem.h for MLKEM_{private,public}_key_free()tb3 days1-1/+2
|
* Also print addresses of the _libre_ symbolstb6 days1-2/+6
|
* fix symbols test to actually detect missing _libre_ symbolstb6 days1-2/+2
|
* Hide primitive BOOLEAN itemstb6 days2-2/+8
| | | | Rides the libcrypto bump from a couple days ago
* x_crl.c: wont -> won't + KNF for a commenttb8 days1-3/+4
|
* An executive decision has been taken to expose marshal private key as welltb8 days5-9/+13
| | | | rides the libcrypto bump
* same crank for libssl and libtls as for libcryptotb8 days2-2/+2
|
* bump libcrypto minor after symbol additiontb8 days1-1/+1
|
* Expose beck's version of BoringSSL's ML-KEM APitb8 days1-0/+16
| | | | | | | | | | | | | This includes interfaces for public and private keys for ML-KEM 768 and 1024. Marshalling and parsing of public keys and parsing of the wasteful NIST format of private keys (marshalling this private key format is deliberately omitted from the public API). Decapsulation and encapsulation of shared secrets. This will soon be used to implement the X25519MLKEM768 hybrid key agreement in libssl. ok beck jsing
* Add back the ASN1_{,F,T}BOOLEAN_it ASN.1 itemstb8 days1-0/+3
| | | | | | | | | | I was overeager to remove those a while back. This was dumb because this is about a basic ASN.1 type. The Gentoo maintainers found that tpm2-tools uses templated ASN.1 involving them. Fixes https://github.com/libressl/portable/issues/1178 ok beck jsing
* sync with crypto_namespace.h: avoid asm("") for MSVCtb10 days1-1/+5
| | | | Removes another patch in portable
* Avoid asm("") for MSVCtb10 days1-1/+5
| | | | | | This allows us to get rid of an ugly patch in portable. ok jsing
* mlkem tests: include the public <openssl/mlkem.h>tb10 days2-5/+5
|
* Change gmtime() to return time in UTC rather than GMT, as required by our ownphessler11 days1-79/+79
| | | | | | manpage, POSIX, C standards, and other OSes. OK kettenis@, millert@
* Mop up the now unused RC4_CHUNK defines.jsing11 days13-130/+0
| | | | ok tb@
* Further simplify the rc4 implementation.jsing11 days1-117/+45
| | | | | | | | | | | | | | | | The RC4_CHUNK related code is intended to process native word sized chunks if the input and output are naturally aligned. However, RC4_CHUNK is currently a mess of machine dependent defines. Replace this with uint64_t on all architectures - 64 bit architectures will be happy with this and on 32 bit architectures the compiler can decompose this into multiple 32 bit operations. Provide separate rc4_chunk() implementations for big and little endian, since not all architectures have a byte swap instruction that would make this a cheap conversion. Thanks to gkoehler@ and tb@ for testing on big endian. ok tb@
* mlkem_tests: remove unneded ret variable from mlkem_{decap,keygen}_tests()tb12 days1-19/+11
|
* Fix includes in mlkem unit and iteration teststb13 days4-16/+5
|
* mlkem_tests no longer depends on mlkem_tests_utiltb13 days1-2/+2
|
* mlkem_tests: use public mlkem.h, no longer needs mlkem_tests_util.htb13 days1-4/+3
|
* mlkem_tests: mop up after feral openssl devs were heretb13 days1-83/+91
|
* mlkem_unittest: undo unnecessary variable renamingtb13 days1-5/+5
|
* Tweak comment in asn1_item_free: KNF, missing comma, wont -> won't.tb13 days1-3/+4
|
* unbreak tree after commiting from wrong placebeck14 days1-223/+1
|
* revert accidental disabling of ssl_security_cert() in -r1.52tb14 days1-2/+2
|
* Add a reasonable ML-KEM API for public use.beck14 days14-897/+1783
| | | | | | | | | | | | | | | Adapt the tests to use this API. This does not yet make the symbols public in Symbols.list which will happen shortly with a bump. This includes some partial rototilling of the non-public interfaces which will be shortly continued when the internal code is deduplicated to not have multiple copies for ML-KEM 768 and ML-KEM 1024 (which is just an artifact of unravelling the boring C++ code). ok jsing@, tb@
* Use faster versions of bignum_{mul,sqr}_{4_8,6_12,8_16}() if possible.jsing14 days1-10/+41
| | | | | | | | If ADX instructions are available, use the non-_alt version of s2n-bignum's bignum_{mul,sqr}_{4_8,6_12,8_16}(), which are faster than the _alt non-ADX versions. ok tb@
* Provide amd64 specific versions of bn_mul_comba6() and bn_sqr_comba6().jsing14 days2-2/+22
| | | | | | | These use s2n-bignum's bignum_mul_6_12_alt() and bignum_sqr_6_12_alt() functions. ok tb@
* Provide bn_mod_add_words() and bn_mod_sub_words() on amd64.jsing14 days2-2/+25
| | | | | | These use s2n-bignum's bignum_modadd() and bignum_modsub() routines. ok tb@
* Add special handling for multiplication and squaring of BNs with six words.jsing14 days2-2/+6
| | | | | | | In these cases make use of bn_mul_comba6() or bn_sqr_comba6(), which are faster than the normal path. ok tb@
* Hook additional s2n-bignum routines to the amd64 build.jsing14 days1-1/+11
|
* Add CPU feature detection for ADX on amd64.jsing14 days2-5/+10
| | | | | | | | Add detection of Multi-Precision Add-Carry Instruction Extensions on amd64. s2n-bignum provides a number of fast multiplication routines that can leverage these instructions. ok tb@
* Clean up parts of rc4.jsing14 days1-79/+40
| | | | | | | | | | | | Provide a static inline rc4_step() function that replaces the near identical RC4_STEP and RC4_LOOP macros. Simplify the processing loop and use for loops with small constants, which the compiler can unroll if it wants to do so. Inline the SK_LOOP macro in rc4_set_key_internal(), also using a small loop that the compiler will most likely unroll. ok tb@
* Add benchmarks for 384 bit x 384 bit multiplication and 384 bit squaring.jsing2025-08-121-1/+14
|
* Revise include to match the name that we use.jsing2025-08-1210-20/+20
|
* Replace SPDX-License-Identifier with actual license.jsing2025-08-1210-20/+130
|
* Add RCS tags to new files.jsing2025-08-1210-0/+20
|
* Bring in bignum_mod{add,sub}() from s2n-bignum.jsing2025-08-122-0/+185
| | | | These provide modular addition and subtraction.
* Bring in bignum_{mul,sqr}_{4_8,8_16}() from s2n-bignum.jsing2025-08-124-0/+877
| | | | | | | These provide fast multiplication and squaring of inputs with 4 words or 8 words, producing an 8 or 16 word result. These versions require the CPU to support ADX instructions, while the _alt versions that have previously been imported do not.
* Bring in bignum_{mul,sqr}_6_12{,_alt}() from s2n-bignum.jsing2025-08-124-0/+807
| | | | | | These provide fast multiplication and squaring of inputs with 6x words, producing a 12 word result. The non-_alt versions require the CPU to support ADX instructions, while the _alt versions do not.
* Add RCS tags.jsing2025-08-122-0/+4
|
* Add const to bignum_*() function calls.jsing2025-08-121-16/+16
| | | | | Now that s2n-bignum has marked various inputs as const, we can do the same. In most cases we were casting away const, which we no longer need to do.
* Sync headers from s2n-bignum.jsing2025-08-122-236/+588
| | | | | This effectively brings in new function prototypes, a chunk of const additions and some new defines.
* Add RCS tags.jsing2025-08-1111-0/+22
|
* Resync s2n-bignum primitives for amd64 with upstream.jsing2025-08-1111-115/+113
| | | | This amounts to whitespace changes and label renaming.
* Clean up and move define to correct place.beck2025-08-102-5/+3
| | | | ok tb@