<feed xmlns='http://www.w3.org/2005/Atom'>
<title>openbsd/src/lib/libcrypto/arch/arm/crypto_arch.h, 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-05-24T07:07:18+00:00</updated>
<entry>
<title>Disable libcrypto assembly on arm.</title>
<updated>2025-05-24T07:07:18+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2025-05-24T07:07:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=8ed7978ba9261ae91449f542e06d0cd25c7e1b62'/>
<id>urn:sha1:8ed7978ba9261ae91449f542e06d0cd25c7e1b62</id>
<content type='text'>
The arm CPU capability detection is uses SIGILL and is unsafe to call from
some contexts. Furthermore, this is only useful to detect NEON support,
which is then unused on OpenBSD due to __STRICT_ALIGNMENT. Requiring a
minimum of ARMv7+VFP+NEON is also not unreasonable.

The SHA-1, SHA-256 and SHA-512 (non-NEON) C code performs within ~5% of
the assembly, as does RSA when using the C based Montgomery multiplication.
The C versions of AES and GHASH code are around ~40-50% of the assembly,
howeer if you care about performance you really want to use
Chacha20Poly1305 on this platform.

This will enable further clean up to proceed.

ok joshua@ kinjiro@ tb@
</content>
</entry>
<entry>
<title>Replace Makefile based SHA*_ASM defines with HAVE_SHA_* defines.</title>
<updated>2025-02-14T12:01:58+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2025-02-14T12:01:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=a89810379a758c9cd27af2462547dc646dcfaa61'/>
<id>urn:sha1:a89810379a758c9cd27af2462547dc646dcfaa61</id>
<content type='text'>
Currently, SHA{1,256,512}_ASM defines are used to remove the C
implementation of sha{1,256,512}_block_data_order() when it is provided
by assembly. However, this prevents the C implementation from being used
as a fallback.

Rename the C sha*_block_data_order() to sha*_block_generic() and provide
a sha*_block_data_order() that calls sha*_block_generic(). Replace the
Makefile based SHA*_ASM defines with two HAVE_SHA_* defines that allow
these functions to be compiled in or removed, such that machine specific
verisons can be provided. This should effectively be a no-op on any
platform that defined SHA{1,256,512}_ASM.

ok tb@
</content>
</entry>
<entry>
<title>Provide and use crypto_arch.h.</title>
<updated>2024-08-11T13:02:39+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2024-08-11T13:02:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=5dcef2b3ea9eb7ace8ed74c27534785fc0b87130'/>
<id>urn:sha1:5dcef2b3ea9eb7ace8ed74c27534785fc0b87130</id>
<content type='text'>
Provide a per architecture crypto_arch.h - this will be used in a similar
manner to bn_arch.h and will allow for architecture specific #defines and
static inline functions. Move the HAVE_AES_* and HAVE_RC4_* defines here.

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