ctutils
Constant-time utility library with selection and equality testing support targeting cryptographic applications. Supports `const fn` where appropriate. Built on the `cmov` crate which provides architecture-specific predication intrinsics. Heavily inspired by the `subtle` crate.
Activity
- Latest release
- 9h ago
- Total releases
- 27
- Cadence
- ~daily
- Last 12 months
- 27
Reach
- Downloads
- 88.4M
Details
- License
- Apache-2.0 OR MIT
- First release
- Dec 18, 2025
| Version | Released | |
|---|---|---|
0.4.7
patch
| ||
0.4.6
patch
| ||
0.4.5
patch
| ||
0.4.4
patch
| ||
0.4.3
patch
1 CVE
RUSTSEC-2026-0385
Oct 23, 2026
Non-constant-time mask generation and `u128` comparisons SummaryThe In releases prior to v0.4.4, the generated code from these functions could include a branch on commonly used platforms. This has been corrected in this release and now verified on several platforms using BINSEC. Additionally, ImpactBranch instructions on secret values can potentially leak such values via covert channels. This can enable attackers to potentially recover such secrets. ResolutionThis has been resolved by calling Fixed in
0.4.4
References Updated Oct 23, 2026 · Source: OSV.dev | ||
0.4.2
unknown
1 CVE
RUSTSEC-2026-0385
Oct 23, 2026
Non-constant-time mask generation and `u128` comparisons SummaryThe In releases prior to v0.4.4, the generated code from these functions could include a branch on commonly used platforms. This has been corrected in this release and now verified on several platforms using BINSEC. Additionally, ImpactBranch instructions on secret values can potentially leak such values via covert channels. This can enable attackers to potentially recover such secrets. ResolutionThis has been resolved by calling Fixed in
0.4.4
References Updated Oct 23, 2026 · Source: OSV.dev | ||
0.4.1
unknown
1 CVE
RUSTSEC-2026-0385
Oct 23, 2026
Non-constant-time mask generation and `u128` comparisons SummaryThe In releases prior to v0.4.4, the generated code from these functions could include a branch on commonly used platforms. This has been corrected in this release and now verified on several platforms using BINSEC. Additionally, ImpactBranch instructions on secret values can potentially leak such values via covert channels. This can enable attackers to potentially recover such secrets. ResolutionThis has been resolved by calling Fixed in
0.4.4
References Updated Oct 23, 2026 · Source: OSV.dev | ||
0.4.0
unknown
1 CVE
RUSTSEC-2026-0385
Oct 23, 2026
Non-constant-time mask generation and `u128` comparisons SummaryThe In releases prior to v0.4.4, the generated code from these functions could include a branch on commonly used platforms. This has been corrected in this release and now verified on several platforms using BINSEC. Additionally, ImpactBranch instructions on secret values can potentially leak such values via covert channels. This can enable attackers to potentially recover such secrets. ResolutionThis has been resolved by calling Fixed in
0.4.4
References Updated Oct 23, 2026 · Source: OSV.dev | ||
0.4.0-pre.5
unknown
1 CVE
RUSTSEC-2026-0385
Oct 23, 2026
Non-constant-time mask generation and `u128` comparisons SummaryThe In releases prior to v0.4.4, the generated code from these functions could include a branch on commonly used platforms. This has been corrected in this release and now verified on several platforms using BINSEC. Additionally, ImpactBranch instructions on secret values can potentially leak such values via covert channels. This can enable attackers to potentially recover such secrets. ResolutionThis has been resolved by calling Fixed in
0.4.4
References Updated Oct 23, 2026 · Source: OSV.dev | ||
0.4.0-pre.4
unknown
1 CVE
RUSTSEC-2026-0385
Oct 23, 2026
Non-constant-time mask generation and `u128` comparisons SummaryThe In releases prior to v0.4.4, the generated code from these functions could include a branch on commonly used platforms. This has been corrected in this release and now verified on several platforms using BINSEC. Additionally, ImpactBranch instructions on secret values can potentially leak such values via covert channels. This can enable attackers to potentially recover such secrets. ResolutionThis has been resolved by calling Fixed in
0.4.4
References Updated Oct 23, 2026 · Source: OSV.dev | ||
0.4.0-pre.3
unknown
1 CVE
RUSTSEC-2026-0385
Oct 23, 2026
Non-constant-time mask generation and `u128` comparisons SummaryThe In releases prior to v0.4.4, the generated code from these functions could include a branch on commonly used platforms. This has been corrected in this release and now verified on several platforms using BINSEC. Additionally, ImpactBranch instructions on secret values can potentially leak such values via covert channels. This can enable attackers to potentially recover such secrets. ResolutionThis has been resolved by calling Fixed in
0.4.4
References Updated Oct 23, 2026 · Source: OSV.dev | ||
0.4.0-pre.2
unknown
1 CVE
RUSTSEC-2026-0385
Oct 23, 2026
Non-constant-time mask generation and `u128` comparisons SummaryThe In releases prior to v0.4.4, the generated code from these functions could include a branch on commonly used platforms. This has been corrected in this release and now verified on several platforms using BINSEC. Additionally, ImpactBranch instructions on secret values can potentially leak such values via covert channels. This can enable attackers to potentially recover such secrets. ResolutionThis has been resolved by calling Fixed in
0.4.4
References Updated Oct 23, 2026 · Source: OSV.dev | ||
0.4.0-pre.1
unknown
1 CVE
RUSTSEC-2026-0385
Oct 23, 2026
Non-constant-time mask generation and `u128` comparisons SummaryThe In releases prior to v0.4.4, the generated code from these functions could include a branch on commonly used platforms. This has been corrected in this release and now verified on several platforms using BINSEC. Additionally, ImpactBranch instructions on secret values can potentially leak such values via covert channels. This can enable attackers to potentially recover such secrets. ResolutionThis has been resolved by calling Fixed in
0.4.4
References Updated Oct 23, 2026 · Source: OSV.dev | ||
0.4.0-pre.0
unknown
1 CVE
RUSTSEC-2026-0385
Oct 23, 2026
Non-constant-time mask generation and `u128` comparisons SummaryThe In releases prior to v0.4.4, the generated code from these functions could include a branch on commonly used platforms. This has been corrected in this release and now verified on several platforms using BINSEC. Additionally, ImpactBranch instructions on secret values can potentially leak such values via covert channels. This can enable attackers to potentially recover such secrets. ResolutionThis has been resolved by calling Fixed in
0.4.4
References Updated Oct 23, 2026 · Source: OSV.dev | ||
0.3.2
unknown
1 CVE
RUSTSEC-2026-0385
Oct 23, 2026
Non-constant-time mask generation and `u128` comparisons SummaryThe In releases prior to v0.4.4, the generated code from these functions could include a branch on commonly used platforms. This has been corrected in this release and now verified on several platforms using BINSEC. Additionally, ImpactBranch instructions on secret values can potentially leak such values via covert channels. This can enable attackers to potentially recover such secrets. ResolutionThis has been resolved by calling Fixed in
0.4.4
References Updated Oct 23, 2026 · Source: OSV.dev | ||
0.3.1
unknown
1 CVE
RUSTSEC-2026-0385
Oct 23, 2026
Non-constant-time mask generation and `u128` comparisons SummaryThe In releases prior to v0.4.4, the generated code from these functions could include a branch on commonly used platforms. This has been corrected in this release and now verified on several platforms using BINSEC. Additionally, ImpactBranch instructions on secret values can potentially leak such values via covert channels. This can enable attackers to potentially recover such secrets. ResolutionThis has been resolved by calling Fixed in
0.4.4
References Updated Oct 23, 2026 · Source: OSV.dev | ||
0.3.0
unknown
1 CVE
RUSTSEC-2026-0385
Oct 23, 2026
Non-constant-time mask generation and `u128` comparisons SummaryThe In releases prior to v0.4.4, the generated code from these functions could include a branch on commonly used platforms. This has been corrected in this release and now verified on several platforms using BINSEC. Additionally, ImpactBranch instructions on secret values can potentially leak such values via covert channels. This can enable attackers to potentially recover such secrets. ResolutionThis has been resolved by calling Fixed in
0.4.4
References Updated Oct 23, 2026 · Source: OSV.dev | ||
0.2.3
unknown
1 CVE
RUSTSEC-2026-0385
Oct 23, 2026
Non-constant-time mask generation and `u128` comparisons SummaryThe In releases prior to v0.4.4, the generated code from these functions could include a branch on commonly used platforms. This has been corrected in this release and now verified on several platforms using BINSEC. Additionally, ImpactBranch instructions on secret values can potentially leak such values via covert channels. This can enable attackers to potentially recover such secrets. ResolutionThis has been resolved by calling Fixed in
0.4.4
References Updated Oct 23, 2026 · Source: OSV.dev | ||
0.2.2
unknown
1 CVE
RUSTSEC-2026-0385
Oct 23, 2026
Non-constant-time mask generation and `u128` comparisons SummaryThe In releases prior to v0.4.4, the generated code from these functions could include a branch on commonly used platforms. This has been corrected in this release and now verified on several platforms using BINSEC. Additionally, ImpactBranch instructions on secret values can potentially leak such values via covert channels. This can enable attackers to potentially recover such secrets. ResolutionThis has been resolved by calling Fixed in
0.4.4
References Updated Oct 23, 2026 · Source: OSV.dev | ||
0.2.1
unknown
1 CVE
RUSTSEC-2026-0385
Oct 23, 2026
Non-constant-time mask generation and `u128` comparisons SummaryThe In releases prior to v0.4.4, the generated code from these functions could include a branch on commonly used platforms. This has been corrected in this release and now verified on several platforms using BINSEC. Additionally, ImpactBranch instructions on secret values can potentially leak such values via covert channels. This can enable attackers to potentially recover such secrets. ResolutionThis has been resolved by calling Fixed in
0.4.4
References Updated Oct 23, 2026 · Source: OSV.dev | ||
0.2.0
unknown
yanked
1 CVE
RUSTSEC-2026-0385
Oct 23, 2026
Non-constant-time mask generation and `u128` comparisons SummaryThe In releases prior to v0.4.4, the generated code from these functions could include a branch on commonly used platforms. This has been corrected in this release and now verified on several platforms using BINSEC. Additionally, ImpactBranch instructions on secret values can potentially leak such values via covert channels. This can enable attackers to potentially recover such secrets. ResolutionThis has been resolved by calling Fixed in
0.4.4
References Updated Oct 23, 2026 · Source: OSV.dev | ||
0.1.4
unknown
yanked
1 CVE
RUSTSEC-2026-0385
Oct 23, 2026
Non-constant-time mask generation and `u128` comparisons SummaryThe In releases prior to v0.4.4, the generated code from these functions could include a branch on commonly used platforms. This has been corrected in this release and now verified on several platforms using BINSEC. Additionally, ImpactBranch instructions on secret values can potentially leak such values via covert channels. This can enable attackers to potentially recover such secrets. ResolutionThis has been resolved by calling Fixed in
0.4.4
References Updated Oct 23, 2026 · Source: OSV.dev | ||
0.1.3
unknown
yanked
1 CVE
RUSTSEC-2026-0385
Oct 23, 2026
Non-constant-time mask generation and `u128` comparisons SummaryThe In releases prior to v0.4.4, the generated code from these functions could include a branch on commonly used platforms. This has been corrected in this release and now verified on several platforms using BINSEC. Additionally, ImpactBranch instructions on secret values can potentially leak such values via covert channels. This can enable attackers to potentially recover such secrets. ResolutionThis has been resolved by calling Fixed in
0.4.4
References Updated Oct 23, 2026 · Source: OSV.dev | ||
0.1.2
unknown
yanked
1 CVE
RUSTSEC-2026-0385
Oct 23, 2026
Non-constant-time mask generation and `u128` comparisons SummaryThe In releases prior to v0.4.4, the generated code from these functions could include a branch on commonly used platforms. This has been corrected in this release and now verified on several platforms using BINSEC. Additionally, ImpactBranch instructions on secret values can potentially leak such values via covert channels. This can enable attackers to potentially recover such secrets. ResolutionThis has been resolved by calling Fixed in
0.4.4
References Updated Oct 23, 2026 · Source: OSV.dev | ||
0.1.1
unknown
yanked
1 CVE
RUSTSEC-2026-0385
Oct 23, 2026
Non-constant-time mask generation and `u128` comparisons SummaryThe In releases prior to v0.4.4, the generated code from these functions could include a branch on commonly used platforms. This has been corrected in this release and now verified on several platforms using BINSEC. Additionally, ImpactBranch instructions on secret values can potentially leak such values via covert channels. This can enable attackers to potentially recover such secrets. ResolutionThis has been resolved by calling Fixed in
0.4.4
References Updated Oct 23, 2026 · Source: OSV.dev | ||
0.1.0
unknown
yanked
1 CVE
RUSTSEC-2026-0385
Oct 23, 2026
Non-constant-time mask generation and `u128` comparisons SummaryThe In releases prior to v0.4.4, the generated code from these functions could include a branch on commonly used platforms. This has been corrected in this release and now verified on several platforms using BINSEC. Additionally, ImpactBranch instructions on secret values can potentially leak such values via covert channels. This can enable attackers to potentially recover such secrets. ResolutionThis has been resolved by calling Fixed in
0.4.4
References Updated Oct 23, 2026 · Source: OSV.dev | ||
0.0.0
unknown
yanked
1 CVE
RUSTSEC-2026-0385
Oct 23, 2026
Non-constant-time mask generation and `u128` comparisons SummaryThe In releases prior to v0.4.4, the generated code from these functions could include a branch on commonly used platforms. This has been corrected in this release and now verified on several platforms using BINSEC. Additionally, ImpactBranch instructions on secret values can potentially leak such values via covert channels. This can enable attackers to potentially recover such secrets. ResolutionThis has been resolved by calling Fixed in
0.4.4
References Updated Oct 23, 2026 · Source: OSV.dev |