Skip to content

ocb3: use dbl crate - #606

Merged
tarcieri merged 1 commit into
masterfrom
ocb3/use-dbl-crate
May 31, 2024
Merged

ocb3: use dbl crate#606
tarcieri merged 1 commit into
masterfrom
ocb3/use-dbl-crate

Conversation

@tarcieri

Copy link
Copy Markdown
Member

Replaces the vendored implementation of GF(2^128) doubling (i.e. multiply-by-x) with the dbl crate.

Also moves the remaining functions in the util module into lib.rs.

Replaces the vendored implementation of GF(2^128) doubling (i.e.
multiply-by-x) with the `dbl` crate.
Also moves the remaining functions in the `util` module into lib.rs.
@newpavlov

Copy link
Copy Markdown
Member

IIRC you argued that we should deprecate the dbl crate and instead prefer the (relatively simple) vendored implementations. Have you changed your mind about this?

@tarcieri

Copy link
Copy Markdown
MemberAuthor

Hmm, tough call. On the one hand it is a pattern that appears in a lot of places, although right now the polynomial is hardcoded. On the other we don't provide optimized implementations so the implementation is trivial.

@tarcieri

Copy link
Copy Markdown
MemberAuthor

I think we should go ahead and merge this, and if we decide to retire dbl, vendor the exact implementation in there into the respective crates. Perhaps that needs a tracking issue?

@tarcieri

Copy link
Copy Markdown
MemberAuthor

I made a tracking issue about potentially retiring dbl: RustCrypto/utils#1077

In the meantime I think we should move forward with this, and rip it out if we decide to rip it out everywhere.

@tarcieri
tarcieri merged commit 2e249f8 into masterMay 31, 2024
@tarcieri
tarcieri deleted the ocb3/use-dbl-crate branch May 31, 2024 16:52
@tarcieritarcieri mentioned this pull request Aug 24, 2026
tarcieri added a commit that referenced this pull request Aug 24, 2026
## Added
- `bytes` feature (#631)
## Changed
- Use `dbl` crate (#606)
- Edition changed to 2024 and MSRV bumped to 1.85 (#662)
- Relax MSRV policy and allow MSRV bumps in patch releases
- Migrate to `AeadInOut` (#665)
- `L_TABLE_SIZE` is now a const generic parameter on `Ocb3` (#763)
- Bump `cipher` to v0.5 (#793)
- Bump `aes` to v0.9 (#793)
- Bump `ctr` to v0.10 (#793)
- Bump `aead` to v0.6 (#831)
- Replace `subtle` with `ctutils` (#879)
## Fixed
- Return error on large plaintexts or associated data instead of
panicking (#763)
## Removed
- `std` and `stream` features (#662)
Sign up for freeto 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

@tarcieri@newpavlov