<feed xmlns='http://www.w3.org/2005/Atom'>
<title>openbsd/src/lib/libcrypto/sha, branch OPENBSD_7_6</title>
<subtitle>A mirror of https://github.com/libressl/openbsd.git
</subtitle>
<id>https://git.lua4.win/openbsd/atom?h=OPENBSD_7_6</id>
<link rel='self' href='https://git.lua4.win/openbsd/atom?h=OPENBSD_7_6'/>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/'/>
<updated>2024-06-01T08:11:44+00:00</updated>
<entry>
<title>Missed SHA224() in previous: reverse order of attributes</title>
<updated>2024-06-01T08:11:44+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2024-06-01T08:11:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=190b65bcba805bde4d88ae0942543e183a2f3891'/>
<id>urn:sha1:190b65bcba805bde4d88ae0942543e183a2f3891</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Reverse order of attributes</title>
<updated>2024-06-01T07:44:11+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2024-06-01T07:44:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=2d4c4d8a62665e7e18f808fffc2503822482f6d7'/>
<id>urn:sha1:2d4c4d8a62665e7e18f808fffc2503822482f6d7</id>
<content type='text'>
requested by jsing on review
</content>
</entry>
<entry>
<title>Remove support for static buffers in HMAC/digests</title>
<updated>2024-06-01T07:36:17+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2024-06-01T07:36:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=0cd26255605cab2a8643bb8585c4148069240e3c'/>
<id>urn:sha1:0cd26255605cab2a8643bb8585c4148069240e3c</id>
<content type='text'>
HMAC() and the one-step digests used to support passing a NULL buffer and
would return the digest in a static buffer. This design is firmly from the
nineties, not thread safe and it saves callers a single line. The few ports
that used to rely this were fixed with patches sent to non-hostile (and
non-dead) upstreams. It's early enough in the release cycle that remaining
uses hidden from the compiler should be caught, at least the ones that
matter.

There won't be that many since BoringSSL removed this feature in 2017.
https://boringssl-review.googlesource.com/14528

Add non-null attributes to the headers and add a few missing bounded
attributes.

ok beck jsing
</content>
</entry>
<entry>
<title>Demacro sha1.</title>
<updated>2024-03-28T07:06:12+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2024-03-28T07:06:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=40ab5b46122eb72915f2ceb3598d2af6b9accaa9'/>
<id>urn:sha1:40ab5b46122eb72915f2ceb3598d2af6b9accaa9</id>
<content type='text'>
Replace macros with static inline functions and use names that follow
the spec more closely. Unlike SHA256/SHA512, the functions and constants do
not align with the number of words loaded, which means we cannot easily loop
and just end up just unrolling everything.

ok joshua@ tb@
</content>
</entry>
<entry>
<title>Fix line wrapping.</title>
<updated>2024-03-28T04:23:02+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2024-03-28T04:23:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=315693de05b08c3f051a52e78d7a801d8025ee4e'/>
<id>urn:sha1:315693de05b08c3f051a52e78d7a801d8025ee4e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Rework input and output handling for sha1.</title>
<updated>2024-03-26T12:54:22+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2024-03-26T12:54:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=b77719ed8e84324dfca3cf384b8c08a3f0d310ec'/>
<id>urn:sha1:b77719ed8e84324dfca3cf384b8c08a3f0d310ec</id>
<content type='text'>
Use be32toh(), htobe32() and crypto_{load,store}_htobe32() as appropriate.

Also use the same while() loop that is used for other hash functions.

ok joshua@ tb@
</content>
</entry>
<entry>
<title>Replace uses of endbr64 with _CET_ENDBR from cet.h</title>
<updated>2024-02-24T15:30:14+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2024-02-24T15:30:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=c730c3b3b1845cc7c4a4aceff2031f1135faa6bb'/>
<id>urn:sha1:c730c3b3b1845cc7c4a4aceff2031f1135faa6bb</id>
<content type='text'>
cet.h is needed for other platforms to emit the relevant .gnu.properties
sections that are necessary for them to enable IBT. It also avoids issues
with older toolchains on macOS that explode on encountering endbr64.

based on a diff by kettenis
ok beck kettenis
</content>
</entry>
<entry>
<title>Stop including md32_common.h.</title>
<updated>2023-08-11T15:27:28+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2023-08-11T15:27:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=2ea556a1c666b7176ccef64d78e376f1bfabef7c'/>
<id>urn:sha1:2ea556a1c666b7176ccef64d78e376f1bfabef7c</id>
<content type='text'>
Now that we're no longer dependent on md32_common.h, stop including it.
Remove various defines that only existed for md32_common.h usage.
</content>
</entry>
<entry>
<title>Demacro sha256.</title>
<updated>2023-08-11T15:25:36+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2023-08-11T15:25:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=e5c37e5e9f9d7f447090e5f144afac1bcc9341d9'/>
<id>urn:sha1:e5c37e5e9f9d7f447090e5f144afac1bcc9341d9</id>
<content type='text'>
Replace macros with static inline functions, as well as writing out the
variable rotations instead of trying to outsmart the compiler. Also pull
the message schedule update up and complete it prior to commencement of
the round. Also use rotate right, rather than transposed rotate left.

Overall this is more readable and more closely follows the specification.
On some platforms (e.g. aarch64) there is no noteable change in
performance, while on others there is a significant improvement (more than
25% on arm).

ok miod@ tb@
</content>
</entry>
<entry>
<title>Remove MD32_REG_T.</title>
<updated>2023-08-10T07:15:23+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2023-08-10T07:15:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=13ecebf7d6c58d65f6df008731bbb41f4c2be2f6'/>
<id>urn:sha1:13ecebf7d6c58d65f6df008731bbb41f4c2be2f6</id>
<content type='text'>
This is a hack that is only enabled on a handful of 64 bit platforms, as
a workaround for poor compiler optimisation. If you're running an archiac
compiler on an archiac architecture, then you can deal with slightly lower
performance.

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