Page MenuHome GnuPG
Feed Advanced Search

May 11 2025

gniibe closed T7490: libgcrypt: constant-time modular exponentiation, a subtask of T3264: Possible RSA improvement, as Resolved.
May 11 2025, 3:25 AM · libgcrypt
gniibe closed T7490: libgcrypt: constant-time modular exponentiation as Resolved.

It's in 1.11.1.

May 11 2025, 3:25 AM · libgcrypt
gniibe closed T7338: Revamp the FIPS service indicator as Resolved.

Included in 1.11.1.

May 11 2025, 3:24 AM · libgcrypt, FIPS, Feature Request

May 9 2025

werner added a project to T7647: cipher/simd-common-riscv.h missing from libgcrypt 1.11.1 tarball: riscv.
May 9 2025, 9:21 AM · riscv, libgcrypt, Bug Report
werner added a comment to T7647: cipher/simd-common-riscv.h missing from libgcrypt 1.11.1 tarball.

That is quite possible because we do not have a test system for RISC-V and the make release tarbegt is not abale to verify this.

May 9 2025, 9:21 AM · riscv, libgcrypt, Bug Report

May 8 2025

atsampson created T7647: cipher/simd-common-riscv.h missing from libgcrypt 1.11.1 tarball.
May 8 2025, 5:41 PM · riscv, libgcrypt, Bug Report
werner updated the task description for T7165: Release Libgcrypt 1.11.0.
May 8 2025, 8:51 AM · Release Info, libgcrypt
werner triaged T7643: Release Libgcrypt 1.12.0 as Normal priority.
May 8 2025, 8:49 AM · Release Info, libgcrypt

May 7 2025

werner closed T7165: Release Libgcrypt 1.11.0 as Resolved.
May 7 2025, 6:01 PM · Release Info, libgcrypt
werner updated the task description for T7166: Release Libgcrypt 1.11.1.
May 7 2025, 5:55 PM · Release Info, libgcrypt
werner triaged T7642: Release Libgcrypt 1.11.2 as Low priority.
May 7 2025, 5:52 PM · Release Info, libgcrypt
werner changed the status of T7633: libgcrypt fails to build on NetBSD due to the systems bswap32 macro defintion. from Open to Testing.
May 7 2025, 2:48 PM · NetBSD, libgcrypt, Bug Report
werner changed the status of T7634: libgcrypt's test t-thread-local fails to link on some platforms. from Open to Testing.
May 7 2025, 2:47 PM · NetBSD, libgcrypt, Bug Report
gniibe triaged T7640: ML-DSA for libgcrypt as Wishlist priority.
May 7 2025, 7:43 AM · PQC, libgcrypt
gniibe added a comment to T7519: libgcrypt: (EC)DSA signature generation should be constant-time.

In libgcrypt/cipher/ecc-ecdsa.c, we have:

mpi_mulm (s, k_1, sum, ec->n);    /* s = k^(-1)*(hash+(d*r)) mod n */
May 7 2025, 3:48 AM · libgcrypt, Bug Report

May 5 2025

werner triaged T7633: libgcrypt fails to build on NetBSD due to the systems bswap32 macro defintion. as High priority.
May 5 2025, 11:12 AM · NetBSD, libgcrypt, Bug Report
werner triaged T7634: libgcrypt's test t-thread-local fails to link on some platforms. as High priority.
May 5 2025, 11:11 AM · NetBSD, libgcrypt, Bug Report

May 2 2025

werner added a project to T7634: libgcrypt's test t-thread-local fails to link on some platforms.: NetBSD.
May 2 2025, 10:29 AM · NetBSD, libgcrypt, Bug Report
werner added a project to T7633: libgcrypt fails to build on NetBSD due to the systems bswap32 macro defintion.: NetBSD.
May 2 2025, 10:29 AM · NetBSD, libgcrypt, Bug Report
collinfunk created T7634: libgcrypt's test t-thread-local fails to link on some platforms..
May 2 2025, 7:14 AM · NetBSD, libgcrypt, Bug Report
collinfunk created T7633: libgcrypt fails to build on NetBSD due to the systems bswap32 macro defintion..
May 2 2025, 7:02 AM · NetBSD, libgcrypt, Bug Report

Apr 30 2025

collinfunk added a comment to T7617: libgcrypt: Add __nonstring__ attribute for data for GCC 15 or later.

I think you are correct.

Apr 30 2025, 6:05 AM · libgcrypt, Bug Report

Apr 23 2025

gniibe changed the status of T7624: libksba: __non_string for GCC 15 or later, a subtask of T7617: libgcrypt: Add __nonstring__ attribute for data for GCC 15 or later, from Open to Testing.
Apr 23 2025, 3:21 AM · libgcrypt, Bug Report
gniibe changed the status of T7621: libgpg-error: __non_string for GCC 15 or later, a subtask of T7617: libgcrypt: Add __nonstring__ attribute for data for GCC 15 or later, from Open to Testing.
Apr 23 2025, 3:17 AM · libgcrypt, Bug Report
gniibe changed the status of T7617: libgcrypt: Add __nonstring__ attribute for data for GCC 15 or later from Open to Testing.
Apr 23 2025, 3:16 AM · libgcrypt, Bug Report
gniibe changed the status of T7623: gpgscm: Fix fixed-size characters (for portability, specifically for GCC 15 or later), a subtask of T7617: libgcrypt: Add __nonstring__ attribute for data for GCC 15 or later, from Open to Testing.
Apr 23 2025, 3:16 AM · libgcrypt, Bug Report

Apr 18 2025

gniibe added a comment to T7617: libgcrypt: Add __nonstring__ attribute for data for GCC 15 or later.

IIUC, it's GCC 8 which starts the support of __nonstring__ attribute.

Apr 18 2025, 4:26 AM · libgcrypt, Bug Report
gniibe set External Link to https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117178 on T7617: libgcrypt: Add __nonstring__ attribute for data for GCC 15 or later.
Apr 18 2025, 4:25 AM · libgcrypt, Bug Report
gniibe claimed T7617: libgcrypt: Add __nonstring__ attribute for data for GCC 15 or later.
Apr 18 2025, 4:13 AM · libgcrypt, Bug Report
gniibe created T7617: libgcrypt: Add __nonstring__ attribute for data for GCC 15 or later.
Apr 18 2025, 4:12 AM · libgcrypt, Bug Report

Mar 31 2025

gniibe added a comment to T7519: libgcrypt: (EC)DSA signature generation should be constant-time.

Pushed all changes to master.

Mar 31 2025, 6:27 AM · libgcrypt, Bug Report

Mar 21 2025

gniibe added a comment to T7519: libgcrypt: (EC)DSA signature generation should be constant-time.

I applied some to master (generic improvement parts).

Mar 21 2025, 7:31 AM · libgcrypt, Bug Report

Mar 20 2025

gniibe added a comment to T7519: libgcrypt: (EC)DSA signature generation should be constant-time.

I think that this may be the last update.
Don't use mpi_powm to avoid normalizing (and to be faster).

Mar 20 2025, 1:08 AM · libgcrypt, Bug Report

Mar 18 2025

gniibe added a comment to T7519: libgcrypt: (EC)DSA signature generation should be constant-time.

Here is another update (replacing ecc-no-normalize-2025-03-13.patch).
Further, ec_addm is modified to be less leaky.

Mar 18 2025, 6:30 AM · libgcrypt, Bug Report

Mar 17 2025

gniibe added a comment to T7519: libgcrypt: (EC)DSA signature generation should be constant-time.

There are three (or more) remaining things:
(1) ec_addm can be improved by adding U and V with mpih_add_lli , subtracting P with mpih_sub_n, and adding back P with mpih_add_n_cond
(2) Places with mpi_const for the argument when calling ec_mulm, ec_add or ec_subm should be fixed (it may modify the const MPI)
(3) make sure mpi_resize within ec_addm, ec_mulm, or ec_subm if needed

Mar 17 2025, 3:24 AM · libgcrypt, Bug Report

Mar 13 2025

gniibe added a comment to T7519: libgcrypt: (EC)DSA signature generation should be constant-time.

Here is update (replacing ecc-no-normalize-2025-03-07.patch).
ec_subm and ec_mulm are modified to be less leaky.

Mar 13 2025, 7:18 AM · libgcrypt, Bug Report
gniibe changed the status of T7338: Revamp the FIPS service indicator from Open to Testing.
Mar 13 2025, 7:05 AM · libgcrypt, FIPS, Feature Request

Mar 7 2025

gniibe added a comment to T7519: libgcrypt: (EC)DSA signature generation should be constant-time.

I think that major signal sources for K have been killed so far.

Mar 7 2025, 5:35 AM · libgcrypt, Bug Report

Mar 6 2025

gniibe added a comment to T7490: libgcrypt: constant-time modular exponentiation.

We should only enable least leak implementation for 64-bit, as it's not as fast on 32-bit architecture.

Mar 6 2025, 2:47 AM · libgcrypt
gniibe added a comment to T7490: libgcrypt: constant-time modular exponentiation.

We should only enable least leak implementation for 64-bit, as it's not as fast on 32-bit architecture.

Mar 6 2025, 2:42 AM · libgcrypt

Feb 25 2025

gniibe added a comment to T7519: libgcrypt: (EC)DSA signature generation should be constant-time.

One more change for _gcry_dsa_gen_k in rC54caef02afa9: cipher:(EC)DSA: Simply use mpi_clear_highbit in _gcry_dsa_gen_k.

Feb 25 2025, 3:47 AM · libgcrypt, Bug Report
gniibe added a comment to T7519: libgcrypt: (EC)DSA signature generation should be constant-time.

One more change for mpi_invm in rCc1da86e45a6e: mpi: Avoid normalizing MPI in _gcry_mpi_invm.

Feb 25 2025, 3:25 AM · libgcrypt, Bug Report

Feb 19 2025

gniibe changed the status of T7519: libgcrypt: (EC)DSA signature generation should be constant-time from Open to Testing.

All changes are pushed to master.

Feb 19 2025, 5:36 AM · libgcrypt, Bug Report
gniibe changed the status of T7490: libgcrypt: constant-time modular exponentiation, a subtask of T3264: Possible RSA improvement, from Open to Testing.
Feb 19 2025, 5:35 AM · libgcrypt
gniibe changed the status of T7490: libgcrypt: constant-time modular exponentiation from Open to Testing.

Pushed the changes by the commit rC2039d93289db: mpi: Add MPI helper modular exponentiation, Least Leak Intended.

Feb 19 2025, 5:35 AM · libgcrypt

Feb 14 2025

gniibe added a comment to T7519: libgcrypt: (EC)DSA signature generation should be constant-time.

Use of mpi_cmp is now being fixed, by providing _gcry_mpih_cmp_lli function.
Along with that, we need to fix use of mpi_cmp_ui, since it's skips earlier depending its limbs.

diff --git a/cipher/dsa-common.c b/cipher/dsa-common.c
index 170dce12..e010e182 100644
--- a/cipher/dsa-common.c
+++ b/cipher/dsa-common.c
@@ -25,6 +25,7 @@
Feb 14 2025, 1:32 AM · libgcrypt, Bug Report

Feb 10 2025

gniibe added a comment to T7519: libgcrypt: (EC)DSA signature generation should be constant-time.

And then, we need to use less leaky version of mpi_cmp (because mpi_cmp calls mpi_normalize, it's not good).

Feb 10 2025, 5:37 AM · libgcrypt, Bug Report
gniibe added a comment to T7519: libgcrypt: (EC)DSA signature generation should be constant-time.

And this is for less leak for _gcry_dsa_modify_k:

Feb 10 2025, 5:36 AM · libgcrypt, Bug Report
gniibe added a comment to T7519: libgcrypt: (EC)DSA signature generation should be constant-time.

This is needed before we remove leaks by mpi_add in _gcry_dsa_modify_k :

Feb 10 2025, 3:34 AM · libgcrypt, Bug Report
gniibe added a comment to T7519: libgcrypt: (EC)DSA signature generation should be constant-time.

Commit rC35a6a6feb9dc: Fix _gcry_dsa_modify_k. is related, but it doesn't matter for usual compilers (it's an issue for MSVC).

Feb 10 2025, 3:24 AM · libgcrypt, Bug Report

Feb 7 2025

gniibe added a comment to T7519: libgcrypt: (EC)DSA signature generation should be constant-time.

This is needed for RFC6979 flag support.

Feb 7 2025, 6:42 AM · libgcrypt, Bug Report
gniibe claimed T7519: libgcrypt: (EC)DSA signature generation should be constant-time.
Feb 7 2025, 6:37 AM · libgcrypt, Bug Report
gniibe created T7519: libgcrypt: (EC)DSA signature generation should be constant-time.
Feb 7 2025, 6:37 AM · libgcrypt, Bug Report

Jan 31 2025

gniibe added a comment to T7490: libgcrypt: constant-time modular exponentiation.

The commit rC58c11aa8 is the improved version by k-ary exponentiation (while rC6dffd105e2e2 is 1-bit at a time) and using heap.

Jan 31 2025, 2:43 AM · libgcrypt

Jan 25 2025

gniibe added a comment to T7490: libgcrypt: constant-time modular exponentiation.

I created https://dev.gnupg.org/source/libgcrypt/history/gniibe%252Ft7490/
The commit rC6dffd105e2e2 works for me.
It is a bit of exponent at time Montgomery exponentiation.
I don't put an optimization for the reduction as I don't know if it's OK for patent-wise (looks like expired, though).

Jan 25 2025, 3:04 AM · libgcrypt

Jan 22 2025

gniibe changed the status of T7486: libgcrypt: Remove WindowsCE support from Open to Testing.
Jan 22 2025, 3:06 AM · libgcrypt

Jan 21 2025

gniibe triaged T7490: libgcrypt: constant-time modular exponentiation as Wishlist priority.
Jan 21 2025, 1:44 AM · libgcrypt

Jan 17 2025

gniibe reopened T3269: (Constant-time) modular reduction, a subtask of T3264: Possible RSA improvement, as Open.
Jan 17 2025, 7:01 AM · libgcrypt
gniibe reopened T3269: (Constant-time) modular reduction as "Open".

Re-open, so that I can pursue constant-time modular exponentiation.

Jan 17 2025, 7:01 AM · libgcrypt

Jan 15 2025

gniibe renamed T7486: libgcrypt: Remove WindowsCE support from libksba, libgcrypt: Remove WindowsCE support to libgcrypt: Remove WindowsCE support.
Jan 15 2025, 7:53 AM · libgcrypt
gniibe removed a project from T7486: libgcrypt: Remove WindowsCE support: libksba.
Jan 15 2025, 7:53 AM · libgcrypt
gniibe triaged T7486: libgcrypt: Remove WindowsCE support as Wishlist priority.
Jan 15 2025, 7:44 AM · libgcrypt

Dec 12 2024

gniibe added a comment to T7338: Revamp the FIPS service indicator.

Here are changes for gcry_md_open and its friends.

Dec 12 2024, 6:43 AM · libgcrypt, FIPS, Feature Request
gniibe added a comment to T7338: Revamp the FIPS service indicator.

My idea in https://dev.gnupg.org/T7338#195529 doesn't work well when a function call is done multiple times.
Assuming SUCCESS, and marking all non-compliant places in the code works, and it would be good because libgcrypt so far maintains non-compliant path with rejection.

Dec 12 2024, 3:09 AM · libgcrypt, FIPS, Feature Request

Dec 9 2024

gniibe added a comment to T7338: Revamp the FIPS service indicator.

Pushed the change for adding hash tests in rC7faf542f1573: fips,tests: Add t-digest.

Dec 9 2024, 6:34 AM · libgcrypt, FIPS, Feature Request

Dec 6 2024

gniibe added a comment to T7338: Revamp the FIPS service indicator.

It seems that the internal API (as of 2024-12-06) is not enough.
Now, we have _gcry_md_hash_buffer function with the new FIPS service indicator.
It's used for public key crypto, too.
The compliance for hash function is a part of public key crypto, but not all.

Dec 6 2024, 6:54 AM · libgcrypt, FIPS, Feature Request
gniibe added a comment to T7338: Revamp the FIPS service indicator.

A change for gcry_md_hash_* functions are pushed by rC3478caac62c7: fips,md: Implement new FIPS service indicator for gcry_md_hash_*..
It doesn't have tests with FIPS service indicator yet.

Dec 6 2024, 6:40 AM · libgcrypt, FIPS, Feature Request

Dec 5 2024

gniibe added a comment to T7338: Revamp the FIPS service indicator.

New external API is by GCRYCTL_FIPS_SERVICE_INDICATOR and/or the new macro gcry_get_fips_service_indicator.
This change is pushed by rCf51f4e98930e: fips: Introduce GCRYCTL_FIPS_SERVICE_INDICATOR and the macro.

Dec 5 2024, 3:37 AM · libgcrypt, FIPS, Feature Request
gniibe added a comment to T7338: Revamp the FIPS service indicator.

New internal API is introduced with T7340 by the commit rCe1cf31232825: fips: Introduce an internal API for FIPS service indicator.

Dec 5 2024, 3:30 AM · libgcrypt, FIPS, Feature Request
gniibe changed the status of T7340: Introduced a context with thread local storage, a subtask of T7338: Revamp the FIPS service indicator, from Open to Testing.
Dec 5 2024, 3:28 AM · libgcrypt, FIPS, Feature Request
gniibe changed the status of T7340: Introduced a context with thread local storage from Open to Testing.

Change is pushed by rCe1cf31232825: fips: Introduce an internal API for FIPS service indicator.

Dec 5 2024, 3:28 AM · libgcrypt, FIPS, Feature Request

Dec 4 2024

werner closed T7397: Kleopatra: Support Kyber generation, a subtask of T6636: PQC Implementation, as Resolved.
Dec 4 2024, 2:46 PM · PQC, gnupg, libgcrypt

Nov 14 2024

ikloecker changed the status of T7397: Kleopatra: Support Kyber generation, a subtask of T6636: PQC Implementation, from Open to Testing.
Nov 14 2024, 4:39 PM · PQC, gnupg, libgcrypt

Nov 4 2024

werner triaged T7338: Revamp the FIPS service indicator as High priority.
Nov 4 2024, 12:54 PM · libgcrypt, FIPS, Feature Request

Oct 24 2024

gniibe added a comment to T7340: Introduced a context with thread local storage.

I created a branch: https://dev.gnupg.org/source/libgcrypt/history/gniibe%252Ft7340/

Oct 24 2024, 3:27 AM · libgcrypt, FIPS, Feature Request

Oct 16 2024

gniibe added a comment to T7340: Introduced a context with thread local storage.

Autoconf archive has AX_TLS: https://www.gnu.org/software/autoconf-archive/ax_tls.html
Also, AX_GCC_VAR_ATTRIBUTE(tls_model) could be used: https://www.gnu.org/software/autoconf-archive/ax_gcc_var_attribute.html

Oct 16 2024, 7:31 AM · libgcrypt, FIPS, Feature Request
gniibe updated the task description for T7340: Introduced a context with thread local storage.
Oct 16 2024, 7:28 AM · libgcrypt, FIPS, Feature Request
gniibe updated the task description for T7340: Introduced a context with thread local storage.
Oct 16 2024, 7:22 AM · libgcrypt, FIPS, Feature Request
gniibe triaged T7340: Introduced a context with thread local storage as Normal priority.
Oct 16 2024, 7:21 AM · libgcrypt, FIPS, Feature Request

Oct 15 2024

gniibe claimed T7338: Revamp the FIPS service indicator.
Oct 15 2024, 11:25 AM · libgcrypt, FIPS, Feature Request
werner created T7338: Revamp the FIPS service indicator.
Oct 15 2024, 11:24 AM · libgcrypt, FIPS, Feature Request

Sep 17 2024

gniibe changed the status of T7277: libgcrypt: Adding Known Answer Tests for KEM from Open to Testing.

Pushed the change in: rC38742196c04c: cipher:kyber: Add gcry_kem_genkey to support deterministic op.
rC4876a1a45c25: tests:kyber: Add genkey and encap KAT tests.

Sep 17 2024, 9:39 AM · PQC, libgcrypt

Sep 12 2024

gniibe changed the status of T7220: The CF protection not enabled in libgcrypt from Open to Testing.
Sep 12 2024, 7:17 AM · libgcrypt, Bug Report
gniibe changed the status of T7226: libgcrypt 1.11.0 buid error on armhf with gcc-14 from Open to Testing.
Sep 12 2024, 7:17 AM · FTBFS, arm, libgcrypt, Bug Report

Sep 6 2024

gniibe added a project to T7277: libgcrypt: Adding Known Answer Tests for KEM: PQC.
Sep 6 2024, 8:50 AM · PQC, libgcrypt

Sep 4 2024

gniibe added a project to T7277: libgcrypt: Adding Known Answer Tests for KEM: libgcrypt.
Sep 4 2024, 7:13 AM · PQC, libgcrypt

Sep 2 2024

werner closed T7282: Omitted check-test operations while building from source as Resolved.

Use --enable-large-data-tests with configure and go out for a real long lunch

Sep 2 2024, 10:38 AM · Support, libgcrypt
Rycky_Tigg created T7282: Omitted check-test operations while building from source.
Sep 2 2024, 10:03 AM · Support, libgcrypt

Aug 30 2024

ikloecker closed T7279: libgpg-error installation not detected while building libgcrypt from source as Invalid.

As far as I know the practice to have separate -dev packages is very common among Linux distributions.

Aug 30 2024, 1:28 PM · libgcrypt, Bug Report
Rycky_Tigg added a comment to T7279: libgpg-error installation not detected while building libgcrypt from source.

I wonder how common this practice of splitting development material into a separate file might be? It is in place at Alpine, since the file libgpg-error-dev exists. Once the related component is instaled, these messages/strings are printed:; output filtered:

checking for GPG Error - version >= 1.49... expr: warning: '^x-L': using '^' as the first character of a basic regular expression is not portable; it is ignored  yes (1.49)
Aug 30 2024, 12:35 PM · libgcrypt, Bug Report

Aug 29 2024

ikloecker added a comment to T7279: libgpg-error installation not detected while building libgcrypt from source.

Does alpine split the development files of libgpg-error into a separate *-devel (or similar) package like most other distros? If yes, then you need to install this development package.

Aug 29 2024, 5:14 PM · libgcrypt, Bug Report
Rycky_Tigg created T7279: libgpg-error installation not detected while building libgcrypt from source.
Aug 29 2024, 2:53 PM · libgcrypt, Bug Report

Aug 28 2024

jukivili closed T7264: libgcrypt `tests/pkcs1v2` test fails in FIPS mode as Resolved.
Aug 28 2024, 6:04 PM · libgcrypt, Bug Report
jukivili added a comment to T7264: libgcrypt `tests/pkcs1v2` test fails in FIPS mode.

Thanks. Test works in my nightly builds now.

Aug 28 2024, 6:04 PM · libgcrypt, Bug Report

Aug 26 2024

gniibe claimed T7264: libgcrypt `tests/pkcs1v2` test fails in FIPS mode.

That's my badness.
I noticed by the CI at https://gitlab.com/redhat-crypto/libgcrypt/libgcrypt-mirror

Aug 26 2024, 10:17 AM · libgcrypt, Bug Report

Aug 22 2024

jukivili created T7264: libgcrypt `tests/pkcs1v2` test fails in FIPS mode.
Aug 22 2024, 6:41 AM · libgcrypt, Bug Report

Aug 7 2024

Jakuje added a comment to T7220: The CF protection not enabled in libgcrypt.

I do not have Aarch64 machine at hand so what I did was building the package with changes on the build system with previous patches and checking the correct flag are in place (previously in RHEL10, but now in Fedora):

Aug 7 2024, 10:09 AM · libgcrypt, Bug Report
jukivili added a comment to T7220: The CF protection not enabled in libgcrypt.

Do you have any way to test PAC/BTI on actual HW that support these extensions?

Aug 7 2024, 8:16 AM · libgcrypt, Bug Report

Aug 6 2024

werner triaged T7226: libgcrypt 1.11.0 buid error on armhf with gcc-14 as Normal priority.
Aug 6 2024, 9:17 AM · FTBFS, arm, libgcrypt, Bug Report

Aug 5 2024

Jakuje added a comment to T7220: The CF protection not enabled in libgcrypt.

Thanks! Verified this builds on aarch64 correctly and generates the right flags on the output:

Hardened: /builddir/build/BUILDROOT/libgcrypt-1.11.0-3.el10.aarch64/usr/lib64/libgcrypt.so.20.5.0: Overall: PASS.
Aug 5 2024, 9:40 PM · libgcrypt, Bug Report