History log of /openbsd/lib/libcrypto/bn/bn_isqrt.c (Results 1 – 10 of 10)
Revision Date Author Comments
# a29d9d67 04-Jun-2023 tb <tb@openbsd.org>

Reinstate bn_isqrt.c r1.8 and crypto_lock.c r1.3

This traded local copies of CTASSERT() to the one in crypto_internal.h.
This change was backed out due to SHA-512 breakage on STRICT_ALIGNMENT
archit

Reinstate bn_isqrt.c r1.8 and crypto_lock.c r1.3

This traded local copies of CTASSERT() to the one in crypto_internal.h.
This change was backed out due to SHA-512 breakage on STRICT_ALIGNMENT
architectures still using Fred Flintstone's gcc without asm sha512.

Original commit message:

Use crypto_internal.h's CTASSERT()

Now that this macro is available in a header, let's use that version
rather than copies in several .c files.

discussed with jsing

show more ...


# 3c6df8cf 19-May-2023 deraadt <deraadt@openbsd.org>

backout alignment changes (breaking at least two architectures)


# c42a4775 17-May-2023 tb <tb@openbsd.org>

Use crypto_internal.h's CTASSERT()

Now that this macro is available in a header, let's use that version
rather than copies in several .c files.

discussed with jsing


# cef8f41d 27-Mar-2023 tb <tb@openbsd.org>

Replace the remaining BN_copy() with bn_copy()

ok jsing


# ce6fd31b 17-Dec-2022 jsing <jsing@openbsd.org>

Provide BN_zero()/BN_one() as functions and make BN_zero() always succeed.

BN_zero() is currently implemented using BN_set_word(), which means it can
fail, however almost nothing ever checks the ret

Provide BN_zero()/BN_one() as functions and make BN_zero() always succeed.

BN_zero() is currently implemented using BN_set_word(), which means it can
fail, however almost nothing ever checks the return value. A long time
ago OpenSSL changed BN_zero() to always succeed and return void, however
kept BN_zero as a macro that calls a new BN_zero_ex() function, so that
it can be switched back to the "can fail" version.

Take a simpler approach - change BN_zero()/BN_one() to functions and make
BN_zero() always succeed. This will be exposed in the next bump, at which
point we can hopefully also remove the BN_zero_ex() function.

ok tb@

show more ...


# 3422461a 01-Dec-2022 tb <tb@openbsd.org>

Update reference to table generation


# c9675a23 26-Nov-2022 tb <tb@openbsd.org>

Make internal header file names consistent

Libcrypto currently has a mess of *_lcl.h, *_locl.h, and *_local.h names
used for internal headers. Move all these headers we inherited from
OpenSSL to *_l

Make internal header file names consistent

Libcrypto currently has a mess of *_lcl.h, *_locl.h, and *_local.h names
used for internal headers. Move all these headers we inherited from
OpenSSL to *_local.h, reserving the name *_internal.h for our own code.
Similarly, move dtls_locl.h and ssl_locl.h to dtls_local and ssl_local.h.
constant_time_locl.h is moved to constant_time.h since it's special.

Adjust all .c files in libcrypto, libssl and regress.

The diff is mechanical with the exception of tls13_quic.c, where
#include <ssl_locl.h> was fixed manually.

discussed with jsing,
no objection bcook

show more ...


# 49f1cede 11-Oct-2022 tb <tb@openbsd.org>

Fix path of mentioned regress test


# 5299dc9f 13-Jul-2022 tb <tb@openbsd.org>

Do not make tables static so we can access them from regress.


# e9fb6635 13-Jul-2022 tb <tb@openbsd.org>

Integer square root and perfect square test

This adds an implementation of the integer square root using a variant
of Newton's method with adaptive precision. The implementation is based
on a pure P

Integer square root and perfect square test

This adds an implementation of the integer square root using a variant
of Newton's method with adaptive precision. The implementation is based
on a pure Python description of cpython's math.isqrt(). This algorithm
is proven to be correct with a tricky but very neat loop invariant:
https://github.com/mdickinson/snippets/blob/master/proofs/isqrt/src/isqrt.lean

Using this algorithm instead of Newton method, implement Algorithm 1.7.3
(square test) from H. Cohen, "A course in computational algebraic number
theory" to detect perfect squares.

ok jsing

show more ...