<feed xmlns='http://www.w3.org/2005/Atom'>
<title>openbsd/src/lib/libcrypto/arch/amd64, branch OPENBSD_7_8_BASE</title>
<subtitle>A mirror of https://github.com/libressl/openbsd.git
</subtitle>
<id>https://git.lua4.win/openbsd/atom?h=OPENBSD_7_8_BASE</id>
<link rel='self' href='https://git.lua4.win/openbsd/atom?h=OPENBSD_7_8_BASE'/>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/'/>
<updated>2025-09-08T12:56:17+00:00</updated>
<entry>
<title>Allow generic AES implementation to be used as a fallback.</title>
<updated>2025-09-08T12:56:17+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2025-09-08T12:56:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=edb41402990165c33fbbe4972a505d2b907f57b5'/>
<id>urn:sha1:edb41402990165c33fbbe4972a505d2b907f57b5</id>
<content type='text'>
Rename the C based AES implementation to *_generic() and provide
*_internal() wrappers for these. This allows for architectures to provide
accelerated versions without having to also provide a fallback
implementation.

ok tb@
</content>
</entry>
<entry>
<title>Move opensslconf.h to a machine-independent place</title>
<updated>2025-08-25T16:48:02+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2025-08-25T16:48:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=6cbc8c56cfb66d812e5b9f335973b11b213f5665'/>
<id>urn:sha1:6cbc8c56cfb66d812e5b9f335973b11b213f5665</id>
<content type='text'>
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
</content>
</entry>
<entry>
<title>Mop up the now unused RC4_CHUNK defines.</title>
<updated>2025-08-17T08:05:12+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2025-08-17T08:05:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=5845479f353f00eaabe942ec96f2068adf6c145e'/>
<id>urn:sha1:5845479f353f00eaabe942ec96f2068adf6c145e</id>
<content type='text'>
ok tb@
</content>
</entry>
<entry>
<title>Hook additional s2n-bignum routines to the amd64 build.</title>
<updated>2025-08-14T15:12:53+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2025-08-14T15:12:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=07bac2b524750c4dfd196516fe31b97d149acde4'/>
<id>urn:sha1:07bac2b524750c4dfd196516fe31b97d149acde4</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add CPU feature detection for ADX on amd64.</title>
<updated>2025-08-14T15:11:01+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2025-08-14T15:11:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=d31d4089b9ae677123f49cc1b071b80207baf184'/>
<id>urn:sha1:d31d4089b9ae677123f49cc1b071b80207baf184</id>
<content type='text'>
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@
</content>
</entry>
<entry>
<title>Remove DES_UNROLL from opensslconf.h.</title>
<updated>2025-07-27T13:27:09+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2025-07-27T13:27:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=599b3fd3a83a856b8a4b92117e0c4e186c9a6f54'/>
<id>urn:sha1:599b3fd3a83a856b8a4b92117e0c4e186c9a6f54</id>
<content type='text'>
This is no longer used in the DES code.

ok tb@
</content>
</entry>
<entry>
<title>Remove BN_LLONG defines/undefs from opensslconf.h.</title>
<updated>2025-07-23T13:34:05+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2025-07-23T13:34:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=605720689b3799d669f8c06ef779fb95dba5c468'/>
<id>urn:sha1:605720689b3799d669f8c06ef779fb95dba5c468</id>
<content type='text'>
These have been ineffective since r1.19 of bn.h, when BN_LLONG/BN_ULLONG
defines/undefs were added based on _LP64.

ok tb@
</content>
</entry>
<entry>
<title>Remove crypto_cpu_caps_ia32()</title>
<updated>2025-07-22T09:18:02+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2025-07-22T09:18:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=cbc4928ebdbd9c244a1c0e3c2e90497a0d246b38'/>
<id>urn:sha1:cbc4928ebdbd9c244a1c0e3c2e90497a0d246b38</id>
<content type='text'>
There are no more consumers of crypto_cpu_caps_ia32(), so remove it.

ok bcook@ joshua@ tb@
</content>
</entry>
<entry>
<title>Move AES-NI for ECB out of EVP.</title>
<updated>2025-07-22T09:13:49+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2025-07-22T09:13:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=da7a63b669ad2a502ae120afede3fd850082e8b6'/>
<id>urn:sha1:da7a63b669ad2a502ae120afede3fd850082e8b6</id>
<content type='text'>
Make aes_ecb_encrypt_internal() replaceable and provide machine dependent
versions for amd64 and i386, which dispatch to AES-NI if appropriate.
Remove the AES-NI specific EVP methods for ECB.

This removes the last of the machine dependent code from EVP AES.

ok bcook@ joshua@ tb@
</content>
</entry>
<entry>
<title>Move AES-NI from EVP to AES for CCM mode.</title>
<updated>2025-07-21T10:24:23+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2025-07-21T10:24:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=b73facdeca098be7e538e556c1a293942db3110c'/>
<id>urn:sha1:b73facdeca098be7e538e556c1a293942db3110c</id>
<content type='text'>
The mode implementation for CCM has two variants - one takes the block
function, while the other takes a "ccm64" function. The latter is expected
to handle the lower 64 bits of the IV/counter but only for 16 byte blocks.
The AES-NI implementation for CCM currently uses the second variant.

Provide aes_ccm64_encrypt_internal() as a function that can be replaced on
a machine dependent basis, along with an aes_ccm64_encrypt_generic()
function that provides the default implementation and can be used as a
fallback. Wire up the AES-NI version for amd64 and i386, change EVP's
aes_ccm_cipher() to use CRYPTO_ctr128_{en,de}crypt_ccm64() with
aes_ccm64_encrypt_internal()) and remove the various AES-NI specific
EVP_CIPHER methods for CCM.

ok tb@
</content>
</entry>
</feed>
