<feed xmlns='http://www.w3.org/2005/Atom'>
<title>openbsd/src/lib/libcrypto/bn/bn_mod_words.c, branch OPENBSD_7_9</title>
<subtitle>A mirror of https://github.com/libressl/openbsd.git
</subtitle>
<id>https://git.lua4.win/openbsd/atom?h=OPENBSD_7_9</id>
<link rel='self' href='https://git.lua4.win/openbsd/atom?h=OPENBSD_7_9'/>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/'/>
<updated>2025-09-07T05:21:29+00:00</updated>
<entry>
<title>Re-enable bn_sqr_words() assembly.</title>
<updated>2025-09-07T05:21:29+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2025-09-07T05:21:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=9283c4361ce1f1a39a1f03c588c3d1a3da64025e'/>
<id>urn:sha1:9283c4361ce1f1a39a1f03c588c3d1a3da64025e</id>
<content type='text'>
This is now only on amd64.
</content>
</entry>
<entry>
<title>Disable assembly bn_sqr_words() again for now.</title>
<updated>2025-09-02T14:18:38+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2025-09-02T14:18:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=99f066b0e074e44bab8174651b96c62ac333cc64'/>
<id>urn:sha1:99f066b0e074e44bab8174651b96c62ac333cc64</id>
<content type='text'>
The old assembly bn_sqr_words() does not actually square words in the
bignum sense. These will have to be renamed (once I come up with a name
for whatever it actually does) before we can roll forward again.

Found the hard way by Janne Johansson.
</content>
</entry>
<entry>
<title>Use bn_mul_words() from bn_mod_mul_words().</title>
<updated>2025-09-01T15:35:25+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2025-09-01T15:35:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=99d47c1078643352842f47b6330086d9affefb59'/>
<id>urn:sha1:99d47c1078643352842f47b6330086d9affefb59</id>
<content type='text'>
Use bn_mul_words() and bn_montgomery_reduce_words(), rather than using
bn_montgomery_multiply_words(). This provides better performance on
architectures that have assembly optimised bn_mul_words(), such as amd64.
</content>
</entry>
<entry>
<title>Use bn_sqr_words() from bn_mod_sqr_words().</title>
<updated>2025-09-01T15:18:55+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2025-09-01T15:18:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=a71d96fc5f06e3d4eaad85e2958a525f4f6fd26e'/>
<id>urn:sha1:a71d96fc5f06e3d4eaad85e2958a525f4f6fd26e</id>
<content type='text'>
Use bn_sqr_words() and bn_montgomery_reduce_words(), rather than using
bn_montgomery_multiply_words(). This provides better performance on
architectures that have assembly optimised bn_sqr_words(), such as amd64.

ok tb@
</content>
</entry>
<entry>
<title>Speed up bn_{mod,sqr}_mul_words() for specific inputs.</title>
<updated>2025-08-05T15:15:54+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2025-08-05T15:15:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=a5c70cbde2039249ddc7543b92342954595ec2a5'/>
<id>urn:sha1:a5c70cbde2039249ddc7543b92342954595ec2a5</id>
<content type='text'>
Use bn_{mul,sqr}_comba{4,6,8}() and bn_montgomery_reduce_words() for
specific input sizes. This is significantly faster than using
bn_montgomery_multiply_words().

ok tb@
</content>
</entry>
<entry>
<title>Provide bn_mod_sqr_words() and call it from ec_field_element_sqr().</title>
<updated>2025-08-02T16:20:00+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2025-08-02T16:20:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=39d33c1bb185014e05def87e04f21103d92dc455'/>
<id>urn:sha1:39d33c1bb185014e05def87e04f21103d92dc455</id>
<content type='text'>
For now this still calls bn_montgomery_multiply_words(), however it can
be optimised further in the future.
</content>
</entry>
<entry>
<title>Provide bn_mod_{add,sub,mul}_words().</title>
<updated>2025-05-25T04:58:32+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2025-05-25T04:58:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=48472c192c88669e44bdba626a93217f709ca4d4'/>
<id>urn:sha1:48472c192c88669e44bdba626a93217f709ca4d4</id>
<content type='text'>
These implement constant time modular addition, subtraction and
multiplication in the Montegomery domain.

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