Skip to content

digest: remove impl of subtle::ConstantTimeEq for CtOutput#2292

Merged
newpavlov merged 2 commits intomasterfrom
digest/rm_ct_impl
Feb 9, 2026
Merged

digest: remove impl of subtle::ConstantTimeEq for CtOutput#2292
newpavlov merged 2 commits intomasterfrom
digest/rm_ct_impl

Conversation

@newpavlov
Copy link
Member

@newpavlov newpavlov commented Feb 9, 2026

It's the only place where subtle is exposed in the public API of the crate. AFAIK downstream users do not directly rely on this impl, so this change should not cause big problems.

We may return this impl in future or replace it with a ctutils-based impl (see #2275).

@newpavlov newpavlov requested a review from tarcieri February 9, 2026 17:03
@newpavlov newpavlov merged commit d5e919f into master Feb 9, 2026
20 checks passed
@newpavlov newpavlov deleted the digest/rm_ct_impl branch February 9, 2026 17:47
tarcieri added a commit that referenced this pull request Feb 11, 2026
I think it'd be good to get one last release candidate out with the
change from #2292 to ensure that's not going to cause any unanticipated
issues prior to a final release
@tarcieri tarcieri mentioned this pull request Feb 11, 2026
tarcieri added a commit that referenced this pull request Feb 12, 2026
I think it'd be good to get one last release candidate out with the
change from #2292 to ensure that's not going to cause any unanticipated
issues prior to a final release
@tarcieri tarcieri mentioned this pull request Feb 12, 2026
tarcieri added a commit that referenced this pull request Feb 13, 2026
## Added
- `CustomizedInit` trait (#1334)
- `SerializableState` support (#1369)
- `DynDigestWithOid` wrapper trait (#1390)
- `VariableOutputCoreCustomized` trait (#1787, #2043)
- `buffer_fixed`, `buffer_ct_variable`, `buffer_rt_variable`, and
  `buffer_xof` macros (#1799)
- `XofFixedWrapper` (#1815)
- `CollisionResistance` trait (#1820)
- `CoreProxy::compose/decompose` methods (#1898)
- `EagerHash` trait (#2014)

## Changed
- Replaced `generic-array` with `hybrid-array` (#1358)
- `crypto-common` dependency bumped to v0.2 (#1173)
- Edition changed to 2024 and MSRV bumped to 1.85 (#1759)
- Bump `const-oid` dependency to v0.10 (#1772)
- `digest::core_api` renamed to `digest::block_api` (#1799)
- `CtVariableCoreWrapper` renamed to `CtOutWrapper` (#1799)
- Removed the OID type parameter from `CtOutWrapper` (#1799)
- Implementations of the `SerializableState` trait (#1953)
- `new_test!` and `new_mac_test!` macros (#1958)
- Bump `block-buffer` to v0.11 (#2082)
- Re-export of `crypto-common` moved to `digest::common` (#2237)
- Bump `crypto-common` to v0.2 (#2276)
- Replace `subtle` with `ctutils` (#2301)

## Removed
- `Mac::{new, new_from_slice, generate_key}` methods (#1173)
- `CoreWrapper`, `RtVariableCoreWrapper`, and `XofReaderCoreWrapper`
  types (#1799)
- `io::Write/Read` implementations in favor of the `digest_io::IoWrapper`
  type (#1809)
- `VariableOutput` trait (#2043)
- Implementation of `subtle::ConstantTimeEq` for `CtOutput`. Note that
  implementation of `PartialEq`/`Eq` trait is still const time. (#2292)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants