• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

open-quantum-safe / liboqs / 40546526454
79%

Build:
DEFAULT BRANCH: main
Ran 27 Oct 2026 05:10PM UTC
Jobs 3
Files 2564
Run time 2min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

27 Oct 2026 05:00PM UTC coverage: 81.033% (+0.005%) from 81.028%
40546526454

push

github

web-flow
Interleave four AES blocks in the AES-NI and ARMv8 ECB and CTR paths (#2594)

* Interleave four blocks in the AES-NI and ARMv8 ECB paths

The ECB encryption loops of the AES-NI and ARMv8 backends processed one
block at a time, so the latency of each AESENC (or AESE+AESMC) chain was
fully exposed. Process four blocks at a time with the four round chains
interleaved, as the AES-NI CTR paths already do, and fall back to one
block at a time for the remainder. AES-NI reuses its existing four-block
functions for AES-128 and AES-256 and gains one for AES-192; ARMv8 gains
four-block functions for all three key sizes.

test_aes now runs the four-block SP 800-38A ECB vectors for all three
key sizes through the schedule and one-shot APIs at 64 and 80 bytes, so
that a full four-block group and a one-block tail are checked on every
backend.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Signed-off-by: Douglas Stebila <dstebila@uwaterloo.ca>

* Avoid undefined behaviour in the AES CTR counter byte-swap macro

BE_TO_UINT32 shifted a uint8_t, promoted to int, left by 24 bits. When
the top bit of that byte is set the result does not fit in an int, which
is undefined behaviour; UBSan reports it for any 16-byte IV whose byte
12 is 0x80 or above. Cast each byte to uint32_t before shifting.

The macro is used by the ARMv8 CTR paths. The copy in aes256_ni.c is
unused but is kept identical to the other two.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Signed-off-by: Douglas Stebila <dstebila@uwaterloo.ca>

* Test every multi-block ECB length and in-place encryption

Extend the SP 800-38A ECB test to nine blocks, so that a backend's
four-block loop runs zero, one and two times against every tail length
of zero to three blocks, rather than only the 64- and 80-byte cases.
Each length is also encrypted in place, which FrodoKEM relies on when it
expands its public matrix, and every call is checked for writes past the
requested length. Document in aes.h th... (continued)

12 of 58 new or added lines in 3 files covered. (20.69%)

17 existing lines in 13 files now uncovered.

186422 of 230058 relevant lines covered (81.03%)

4107004.05 hits per line

Uncovered Changes

Lines Coverage ∆ File
35
0.0
0.0% src/common/aes/aes192_ni.c
11
0.0
0.0% src/common/aes/aes256_ni.c

Coverage Regressions

Lines Coverage ∆ File
3
95.64
-0.26% src/sig/falcon/pqclean_falcon-padded-512_clean/keygen.c
2
95.73
-0.18% src/sig/falcon/pqclean_falcon-padded-512_aarch64/keygen.c
2
94.74
-3.51% src/sig/ml_dsa/mldsa-native_ml-dsa-65_aarch64/mldsa/src/packing.c
1
0.0
0.0% src/common/aes/aes192_ni.c
1
0.0
0.0% src/common/aes/aes256_ni.c
1
96.72
-1.64% src/kem/classic_mceliece/pqclean_mceliece348864f_clean/encrypt.c
1
95.82
-0.09% src/sig/falcon/pqclean_falcon-512_aarch64/keygen.c
1
52.24
-1.49% src/sig/falcon/pqclean_falcon-512_aarch64/vrfy.c
1
52.24
-1.49% src/sig/falcon/pqclean_falcon-padded-512_aarch64/vrfy.c
1
94.74
-1.75% src/sig/ml_dsa/mldsa-native_ml-dsa-44_ref/mldsa/src/packing.c
1
96.49
0.0% src/sig/ml_dsa/mldsa-native_ml-dsa-65_ref/mldsa/src/packing.c
1
94.74
-1.32% src/sig/uov/pqov_ov_Is_pkc_skc_avx2/ov.c
1
94.67
-1.33% src/sig/uov/pqov_ov_Is_pkc_skc_ref/ov.c
Jobs
ID Job ID Ran Files Coverage
1 arm64-distbuild - 40546526454.1 27 Oct 2026 05:13PM UTC 1568
58.54
GitHub Action Run
2 x64-distbuild - 40546526454.2 27 Oct 2026 05:11PM UTC 2139
55.9
GitHub Action Run
3 x64-generic - 40546526454.3 27 Oct 2026 05:10PM UTC 1146
83.02
GitHub Action Run
Source Files on build 40546526454
  • Tree
  • List 2564
  • Changed 36
  • Source Changed 4
  • Coverage Changed 36
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #40546526454
  • 48955d11 on github
  • Prev Build on main (#40522820048)
  • Next Build on main (#40565087428)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc