<feed xmlns='http://www.w3.org/2005/Atom'>
<title>openbsd/src/lib/libcrypto/modes, branch master</title>
<subtitle>A mirror of https://github.com/libressl/openbsd.git
</subtitle>
<id>https://git.lua4.win/openbsd/atom?h=master</id>
<link rel='self' href='https://git.lua4.win/openbsd/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/'/>
<updated>2026-01-17T14:30:37+00:00</updated>
<entry>
<title>Replace GHASH_ASM with function specific defines.</title>
<updated>2026-01-17T14:30:37+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2026-01-17T14:30:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=db12bd9b580e2fc1c5c7d3224d2d9d0f534d1b8d'/>
<id>urn:sha1:db12bd9b580e2fc1c5c7d3224d2d9d0f534d1b8d</id>
<content type='text'>
Use the same pattern that is now used for most other code - provide HAVE_*
defines for functions and use these to selectively enable source code.
</content>
</entry>
<entry>
<title>Require SSE in order to use gcm_{gmult,ghash}_4bit_mmx().</title>
<updated>2025-12-31T10:16:24+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2025-12-31T10:16:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=126a2d3ddac6e54e807fc6e4f115de54de845ce4'/>
<id>urn:sha1:126a2d3ddac6e54e807fc6e4f115de54de845ce4</id>
<content type='text'>
Contrary to naming, the '"June" MMX version' of gcm_ghash_4bit_mmx() uses
SSE, while the 'pure-MMX "May" version' does not. This detail got missed
when I was untangling OPENSSL_IA32_SSE2.

Found the hard way by Tate Baldwin and Dennis Camera.
</content>
</entry>
<entry>
<title>libcrypto: add header guards to *_local.h</title>
<updated>2025-11-26T10:19:57+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2025-11-26T10:19:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=4879f73ba340a5a6a1e4b5812f046c92cf362d95'/>
<id>urn:sha1:4879f73ba340a5a6a1e4b5812f046c92cf362d95</id>
<content type='text'>
An upcoming change requires the inclusion of asn1_local.h in x509_local.h
which doesn't work due to missing header guards. Add guards to all local
headers that don't have them, although reacharounds and multiple inclusions
are unlikely to occur for most of those.

ok jsing
</content>
</entry>
<entry>
<title>Simplify AES-XTS implementation and remove AES-NI specific code from EVP.</title>
<updated>2025-07-13T06:01:33+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2025-07-13T06:01:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=f0234f5a33ecf3b2784f3e73bdf1e937abe56599'/>
<id>urn:sha1:f0234f5a33ecf3b2784f3e73bdf1e937abe56599</id>
<content type='text'>
Provide aes_xts_encrypt_internal() and call that from aes_xts_cipher().
Have amd64 and i386 provide their own versions that dispatch to
aesni_xts_encrypt()/aesni_xts_decrypt() as appropriate. The
AESNI_CAPABLE code and methods can then be removed.

ok tb@
</content>
</entry>
<entry>
<title>Rework gcm128 implementation selection for amd64/i386.</title>
<updated>2025-06-28T12:39:10+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2025-06-28T12:39:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=48723f4db60f6f8a8ad8424ffe5e0262d30f397c'/>
<id>urn:sha1:48723f4db60f6f8a8ad8424ffe5e0262d30f397c</id>
<content type='text'>
Provide gcm128_amd64.c and gcm128_i386.c, which contain the appropriate
gcm128 initialisation and CPU feature tests for the respective platform.
This allows for all of the #define spagetti to be removed from gcm128.c
and removes one of the two remaining consumers of crypto_cpu_caps_ia32().

ok tb@
</content>
</entry>
<entry>
<title>Use a single implementation of gcm_mul()/gcm_ghash().</title>
<updated>2025-06-28T12:32:27+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2025-06-28T12:32:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=6021a17fa478e42f9f97414c6114ffe64731e576'/>
<id>urn:sha1:6021a17fa478e42f9f97414c6114ffe64731e576</id>
<content type='text'>
Since we always initialise the gmult/ghash function pointers, use the same
implementaion of gcm_mul() and gcm_ghash(), regardless of the actual
underlying implementation.

ok tb@
</content>
</entry>
<entry>
<title>Remove less than useful comment.</title>
<updated>2025-06-28T12:25:22+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2025-06-28T12:25:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=426ed7c4756274bd9a701f02587dd1f650775f12'/>
<id>urn:sha1:426ed7c4756274bd9a701f02587dd1f650775f12</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Make OPENSSL_IA32_SSE2 the default for i386 and remove the flag.</title>
<updated>2025-06-09T14:28:34+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2025-06-09T14:28:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=951cd4503ff3c4cc93c1a36cf06138b1ddd739d7'/>
<id>urn:sha1:951cd4503ff3c4cc93c1a36cf06138b1ddd739d7</id>
<content type='text'>
The OPENSSL_IA32_SSE2 flag controls whether a number of the perlasm
scripts generate additional implementations that use SSE2 functionality.
In all cases except ghash, the code checks OPENSSL_ia32cap_P for SSE2
support, before trying to run SSE2 code. For ghash it generates a CLMUL
based implementation in addition to different MMX version (one MMX
version hides behind OPENSSL_IA32_SSE2, the other does not), however this
does not appear to actually use SSE2. We also disable AES-NI on i386 if
OPENSSL_IA32_SSE2.

On OpenBSD, we've always defined OPENSSL_IA32_SSE2 so this is effectively
a no-op. The only change is that we now check MMX rather than SSE2 for the
ghash MMX implementation.

ok bcook@ beck@
</content>
</entry>
<entry>
<title>More code clean up.</title>
<updated>2025-06-08T07:49:45+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2025-06-08T07:49:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=b878d30ee2aa2cabb825bb255a5071247dac4893'/>
<id>urn:sha1:b878d30ee2aa2cabb825bb255a5071247dac4893</id>
<content type='text'>
Fix some things that got missed in the last pass - the majority is use of
post-increment rather than unnecessary pre-increment.
</content>
</entry>
<entry>
<title>Remove more mess related to arm assembly.</title>
<updated>2025-06-08T07:38:42+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2025-06-08T07:38:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=7bd57f7872819358d673e776e52068a2886488b6'/>
<id>urn:sha1:7bd57f7872819358d673e776e52068a2886488b6</id>
<content type='text'>
</content>
</entry>
</feed>
